{"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-8fc39245c0c20c38", "name": "Possibly dead Python function: restore_rewound", "shortDescription": {"text": "Possibly dead Python function: restore_rewound"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0926d4e622148392", "name": "Possibly dead Python function: clear_messages", "shortDescription": {"text": "Possibly dead Python function: clear_messages"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c733147bbdeaaa8", "name": "Possibly dead Python function: read_recent", "shortDescription": {"text": "Possibly dead Python function: read_recent"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbf68e381ec5eed5", "name": "Possibly dead Python function: run_background", "shortDescription": {"text": "Possibly dead Python function: run_background"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3441aa672c25c3a", "name": "Possibly dead Python function: apply_transformation", "shortDescription": {"text": "Possibly dead Python function: apply_transformation"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-012abacf68e5fe93", "name": "Possibly dead Python function: spinner_loop", "shortDescription": {"text": "Possibly dead Python function: spinner_loop"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8591b2be6c6e6d3b", "name": "Possibly dead Python function: process_loop", "shortDescription": {"text": "Possibly dead Python function: process_loop"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-910078f3217cbe17", "name": "Possibly dead Python function: env_bool", "shortDescription": {"text": "Possibly dead Python function: env_bool"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1973e3d329c2a224", "name": "Possibly dead Python function: process_entry", "shortDescription": {"text": "Possibly dead Python function: process_entry"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a77b3b873afc3706", "name": "Possibly dead Python function: crawl_source", "shortDescription": {"text": "Possibly dead Python function: crawl_source"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-300c27f48d9c78ec", "name": "Possibly dead Python function: sub_link", "shortDescription": {"text": "Possibly dead Python function: sub_link"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc2725e6cc5e7883", "name": "Possibly dead Python function: finalize_turn", "shortDescription": {"text": "Possibly dead Python function: finalize_turn"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64760ce9695792e9", "name": "Possibly dead Python function: expires_unix_seconds", "shortDescription": {"text": "Possibly dead Python function: expires_unix_seconds"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-96486bdb7c98060f", "name": "Possibly dead Python function: log_message", "shortDescription": {"text": "Possibly dead Python function: log_message"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e079fd4118ab8df", "name": "Possibly dead Python function: save_b64_video", "shortDescription": {"text": "Possibly dead Python function: save_b64_video"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c5118c34db9db9b", "name": "Possibly dead Python function: save_bytes_video", "shortDescription": {"text": "Possibly dead Python function: save_bytes_video"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2ee84d6e3ed09f1", "name": "Possibly dead Python function: save_trajectory", "shortDescription": {"text": "Possibly dead Python function: save_trajectory"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3d310899fd6ac71", "name": "Possibly dead Python function: register_subparser", "shortDescription": {"text": "Possibly dead Python function: register_subparser"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d3d2ef23f5dc4c3", "name": "Possibly dead Python function: run_lsp_command", "shortDescription": {"text": "Possibly dead Python function: run_lsp_command"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-65804c079bb14601", "name": "Possibly dead Python function: dec", "shortDescription": {"text": "Possibly dead Python function: dec"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec301c8f2e85527f", "name": "Possibly dead Python function: secret_cb", "shortDescription": {"text": "Possibly dead Python function: secret_cb"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2827cd9883389328", "name": "Possibly dead Python function: tool_start", "shortDescription": {"text": "Possibly dead Python function: tool_start"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4d196e5624b47be", "name": "Possibly dead Python function: tool_complete", "shortDescription": {"text": "Possibly dead Python function: tool_complete"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-502578cdabeb6227", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/session-picker.tsx:87", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/session-picker.tsx:87"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d7320f5758110ae", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/desktop-onboarding-overlay.tsx:391", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/desktop-onboarding-overlay.tsx:391"}, "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-4e846e2fdc9aacc3", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/model-picker.tsx:249", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/model-picker.tsx:249"}, "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-60503c1c69f0c782", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/model-visibility-dialog.tsx:135", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/model-visibility-dialog.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-5126b017d9ec071c", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/desktop-install-overlay.tsx:156", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/desktop-install-overlay.tsx:156"}, "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-c82451da74b65207", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/language-switcher.tsx:74", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/language-switcher.tsx:74"}, "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-3e0095efb8572f01", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/chat/status-section.tsx:35", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/chat/status-section.tsx:35"}, "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-b1fb619523a031c0", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/chat/preview-attachment.tsx:112", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/chat/preview-attachment.tsx:112"}, "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-ae21d111122bcdd5", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/assistant-ui/thread.tsx:344", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/assistant-ui/thread.tsx:344"}, "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-63ca7fb7f10041b8", "name": "TODO/FIXME marker in shipping code \u2014 apps/desktop/src/components/assistant-ui/thread.tsx:433", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/desktop/src/components/assistant-ui/thread.tsx:433"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-99d963b1ab4044d3", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/assistant-ui/markdown-text.tsx:187", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/assistant-ui/markdown-text.tsx:187"}, "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-dec59743c6a8dd30", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/assistant-ui/directive-text.tsx:435", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/assistant-ui/directive-text.tsx:435"}, "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-d21fad5c8a4cfc8d", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/session-switcher.tsx:78", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/session-switcher.tsx:78"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ed3d9281b2b285c", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/credential-key-ui.tsx:191", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/credential-key-ui.tsx:191"}, "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-6fa8da3a9090e917", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/primitives.tsx:60", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/primitives.tsx:60"}, "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-5db8f676866fcbc1", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/providers-settings.tsx:203", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/providers-settings.tsx:203"}, "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-eb08a86ec8e22c09", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/mcp-settings.tsx:219", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/mcp-settings.tsx:219"}, "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-d653fdca4df86eea", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/appearance-settings.tsx:238", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/appearance-settings.tsx:238"}, "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-9c8a159aad55e13e", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/toolset-config-panel.tsx:402", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/toolset-config-panel.tsx:402"}, "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-eb412af5f5c0372e", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/index.tsx:152", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/index.tsx:152"}, "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-dd5385c648e10f37", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/queue-panel.tsx:88", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/queue-panel.tsx:88"}, "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-05d15aa229fbaad3", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/trigger-popover.tsx:162", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/trigger-popover.tsx:162"}, "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-941170e39b623a4e", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/attachments.tsx:118", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/attachments.tsx:118"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c68064148b866d81", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/voice-activity.tsx:195", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/voice-activity.tsx:195"}, "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-7a0fffb011fee084", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/help-hint.tsx:68", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/help-hint.tsx:68"}, "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-7507b6fa145669c1", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/status-stack/status-row.tsx:141", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/status-stack/status-row.tsx:141"}, "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-5af3ac89acef6fc2", "name": "TODO/FIXME marker in shipping code \u2014 apps/desktop/src/app/chat/composer/status-stack/status-row.tsx:23", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/desktop/src/app/chat/composer/status-stack/status-row.tsx:23"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b27c15675418bb6b", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/right-rail/preview.tsx:131", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/right-rail/preview.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-5726cbe0613d6cc5", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/right-rail/preview-console.tsx:105", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/right-rail/preview-console.tsx:105"}, "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-cdfb4ccccf764022", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/right-rail/preview-pane.tsx:613", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/right-rail/preview-pane.tsx:613"}, "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-20ba71469c1b31e5", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/sidebar/session-row.tsx:206", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/sidebar/session-row.tsx:206"}, "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-c21a287de5f01e44", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/sidebar/index.tsx:858", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/sidebar/index.tsx:858"}, "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-42b55f57e7b81ded", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/sidebar/cron-jobs-section.tsx:246", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/sidebar/cron-jobs-section.tsx:246"}, "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-5b65d65f6a4cf5d9", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/right-sidebar/files/remote-picker.tsx:150", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/right-sidebar/files/remote-picker.tsx:150"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a53a11c0518d4920", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/right-sidebar/files/tree.tsx:226", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/right-sidebar/files/tree.tsx:226"}, "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-76f8f0cb93f9f1b6", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/messaging/index.tsx:330", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/messaging/index.tsx:330"}, "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-7531b124ded37837", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/command-center/index.tsx:328", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/command-center/index.tsx:328"}, "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-c8c14e893916118e", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/command-palette/index.tsx:654", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/command-palette/index.tsx:654"}, "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-dfc7618e24c639c8", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/command-palette/marketplace-theme-page.tsx:114", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/command-palette/marketplace-theme-page.tsx:114"}, "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-75efe17f11602740", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/cron/index.tsx:519", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/cron/index.tsx:519"}, "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-0d95256a876f3882", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/gateway-menu-panel.tsx:108", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/gateway-menu-panel.tsx:108"}, "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-0935cf77071d5baf", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/keybind-panel.tsx:153", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/keybind-panel.tsx:153"}, "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-91d7a420ce2ad33f", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/sidebar-label.tsx:19", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/sidebar-label.tsx:19"}, "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-7b6d5d99d6653043", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/statusbar-controls.tsx:93", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/statusbar-controls.tsx:93"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f52f56781ac8ae1d", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/model-menu-panel.tsx:200", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/model-menu-panel.tsx:200"}, "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-311da5fddb7f7c88", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/hooks/use-statusbar-items.tsx:423", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/hooks/use-statusbar-items.tsx:423"}, "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-ad0374121ce72517", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/skills/index.tsx:263", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/skills/index.tsx:263"}, "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-9e404a14e26d0452", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/profiles/index.tsx:233", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/profiles/index.tsx:233"}, "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-bca10c41c44a2e0b", "name": "TODO/FIXME marker in shipping code \u2014 apps/desktop/src/app/session/hooks/use-message-stream.ts:168", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/desktop/src/app/session/hooks/use-message-stream.ts:168"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-983bd3d0ae7fdaf3", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/artifacts/index.tsx:716", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/artifacts/index.tsx:716"}, "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-20d6f26da59f2c62", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/overlays/overlay-split-layout.tsx:126", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/overlays/overlay-split-layout.tsx:126"}, "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-d519b457f0e6e900", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/bootstrap-installer/src/routes/progress.tsx:179", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/bootstrap-installer/src/routes/progress.tsx:179"}, "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-3f861bd1df9575cd", "name": "Stray `console.log` in TS/JS \u2014 scripts/whatsapp-bridge/bridge.js:227", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/whatsapp-bridge/bridge.js:227"}, "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-31d32c726a920f7c", "name": "Stray `console.log` in TS/JS \u2014 web/public/pixel-office/assets/browserMock-9mReCTnJ.js:1", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/public/pixel-office/assets/browserMock-9mReCTnJ.js:1"}, "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-b413684a9e41a42e", "name": "Stray `console.log` in TS/JS \u2014 web/public/pixel-office/assets/index-CvwgKoo0.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/public/pixel-office/assets/index-CvwgKoo0.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d8b316f6e7a03e8c", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 web/public/pixel-office/assets/index-CvwgKoo0.js:9", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 web/public/pixel-office/assets/index-CvwgKoo0.js:9"}, "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-ad43dbfb035db7f0", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ToolCall.tsx:131", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ToolCall.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-d762909ca2e33745", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/AuthWidget.tsx:261", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/AuthWidget.tsx:261"}, "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-5c4bfb57077419cc", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/OAuthProvidersCard.tsx:177", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/OAuthProvidersCard.tsx:177"}, "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-c46f34ac7c4a8887", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ModelPickerDialog.tsx:477", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ModelPickerDialog.tsx:477"}, "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-faed15d318cd54e5", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/LanguageSwitcher.tsx:166", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/LanguageSwitcher.tsx:166"}, "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-1f5f4399168d558e", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/SlashPopover.tsx:156", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/SlashPopover.tsx:156"}, "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-f6b03f68fee23123", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/PlatformsCard.tsx:60", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/PlatformsCard.tsx:60"}, "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-227611e6f692d522", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ThemeSwitcher.tsx:196", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ThemeSwitcher.tsx:196"}, "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-783631379d9568d1", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ChatSidebar.tsx:330", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ChatSidebar.tsx:330"}, "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-305b37a907e30da4", "name": "Stray `console.log` in TS/JS \u2014 web/src/lib/gatewayClient.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/src/lib/gatewayClient.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba110309e8170042", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/PluginsPage.tsx:418", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/PluginsPage.tsx:418"}, "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-3017b0947dcccba5", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/SystemPage.tsx:684", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/SystemPage.tsx:684"}, "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-1cd6e374b20d9b2f", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/McpPage.tsx:582", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/McpPage.tsx:582"}, "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-ae32ff51ba722d83", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/FilesPage.tsx:426", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/FilesPage.tsx:426"}, "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-66e5d72fb3e0fe10", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/EnvPage.tsx:281", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/EnvPage.tsx:281"}, "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-606f065aade00486", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/SessionsPage.tsx:102", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/SessionsPage.tsx:102"}, "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-7b289b99d2d28ff5", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/ModelsPage.tsx:401", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/ModelsPage.tsx:401"}, "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-95b28930c1b66a2d", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/SkillsPage.tsx:695", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/SkillsPage.tsx:695"}, "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-d4b1eebc4631d02c", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/ProfilesPage.tsx:1095", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/ProfilesPage.tsx:1095"}, "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-4c407d7825134ffe", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/WebhooksPage.tsx:298", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/WebhooksPage.tsx:298"}, "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-0d4908eb278ac3b0", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/CronPage.tsx:803", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/CronPage.tsx:803"}, "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-450689e239cf27af", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/ConfigPage.tsx:574", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/ConfigPage.tsx:574"}, "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-bd3e9b5cca3c5b9e", "name": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/PairingPage.tsx:187", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/PairingPage.tsx:187"}, "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-2c1c86000bdb4a80", "name": "TODO/FIXME marker in shipping code \u2014 ui-tui/packages/clawk-ink/src/ink/events/input-event.ts:54", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 ui-tui/packages/clawk-ink/src/ink/events/input-event.ts:54"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62b0146efe82f4a8", "name": "Stray `console.log` in TS/JS \u2014 ui-tui/src/entry.tsx:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 ui-tui/src/entry.tsx:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd0e555311a5ca3d", "name": "TODO/FIXME marker in shipping code \u2014 ui-tui/src/__tests__/createGatewayEventHandler.test.ts:84", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 ui-tui/src/__tests__/createGatewayEventHandler.test.ts:84"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f01c44e4fc142c7", "name": "TODO/FIXME marker in shipping code \u2014 ui-tui/src/components/markdown.tsx:723", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 ui-tui/src/components/markdown.tsx:723"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3b57b0cf13eefbe7", "name": "Stray `console.log` in TS/JS \u2014 skills/creative/p5js/scripts/export-frames.js:94", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/creative/p5js/scripts/export-frames.js:94"}, "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-c39e362fcbff23ed", "name": "Privileged port 99 in use", "shortDescription": {"text": "Privileged port 99 in use"}, "fullDescription": {"text": "Port 99 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9cb3d0e55c9670f7", "name": "Privileged port 587 in use", "shortDescription": {"text": "Privileged port 587 in use"}, "fullDescription": {"text": "Port 587 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d63da3583b14afc0", "name": "Dockerfile runs as root: Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-43660fcb33ed5cb3", "name": "Docker base image is tag-pinned but not digest-pinned: debian:13.4", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: debian:13.4"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d5a1cefd13bcd7ed", "name": "Dockerfile ADD downloads remote content without checksum", "shortDescription": {"text": "Dockerfile ADD downloads remote content without checksum"}, "fullDescription": {"text": "Remote build inputs can change or be replaced upstream. Use Dockerfile ADD --checksum or download with an explicit digest/signature verification step."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77a464701f01cedf", "name": "Possible secret in README.md", "shortDescription": {"text": "Possible secret in README.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-af1ea0361fc0b3b0", "name": "Insecure pattern 'subprocess_shell_true' in cli.py:14295", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in cli.py:14295"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4a833c1a3304d619", "name": "Insecure pattern 'node_child_process' in apps/desktop/electron/main.cjs:51", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/desktop/electron/main.cjs:51"}, "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-b23c0e7feb6e162c", "name": "Insecure pattern 'node_child_process' in apps/desktop/electron/bootstrap-runner.cjs:81", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/desktop/electron/bootstrap-runner.cjs:81"}, "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-c136b090d06f0156", "name": "Insecure pattern 'node_child_process' in apps/desktop/electron/backend-probes.cjs:69", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/desktop/electron/backend-probes.cjs:69"}, "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-dae5262762487e2d", "name": "Insecure pattern 'node_child_process' in apps/desktop/scripts/test-desktop.mjs:7", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/desktop/scripts/test-desktop.mjs:7"}, "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-c36854df140ef82f", "name": "Insecure pattern 'node_child_process' in apps/desktop/scripts/notarize-artifact.cjs:7", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/desktop/scripts/notarize-artifact.cjs:7"}, "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-797770f4de1a0b8e", "name": "Insecure pattern 'direct_innerhtml_assignment' in apps/desktop/scripts/measure-latency.mjs:287", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/desktop/scripts/measure-latency.mjs:287"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3103d6b24e7ec13e", "name": "Insecure pattern 'node_child_process' in apps/desktop/scripts/write-build-stamp.cjs:31", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/desktop/scripts/write-build-stamp.cjs:31"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-980253a12ccd40dc", "name": "Insecure pattern 'node_child_process' in apps/desktop/scripts/notarize.cjs:7", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/desktop/scripts/notarize.cjs:7"}, "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-d7cca4fb2ff1d1ac", "name": "Insecure pattern 'eval_used' in apps/desktop/scripts/profile-real-stream.mjs:40", "shortDescription": {"text": "Insecure pattern 'eval_used' in apps/desktop/scripts/profile-real-stream.mjs:40"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b61b6709bead9ed8", "name": "Insecure pattern 'direct_innerhtml_assignment' in apps/desktop/scripts/leak-typing.mjs:217", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/desktop/scripts/leak-typing.mjs:217"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3a275eca2dfcc16d", "name": "Insecure pattern 'eval_used' in apps/desktop/scripts/measure-synthetic-stream.mjs:65", "shortDescription": {"text": "Insecure pattern 'eval_used' in apps/desktop/scripts/measure-synthetic-stream.mjs:65"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c0d308ba70a6a1b2", "name": "Insecure pattern 'eval_used' in apps/desktop/scripts/measure-real-stream.mjs:50", "shortDescription": {"text": "Insecure pattern 'eval_used' in apps/desktop/scripts/measure-real-stream.mjs:50"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1e54774cb36ed974", "name": "Insecure pattern 'eval_used' in apps/desktop/scripts/profile-synth-stream.mjs:37", "shortDescription": {"text": "Insecure pattern 'eval_used' in apps/desktop/scripts/profile-synth-stream.mjs:37"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cc58cc48fc255564", "name": "Possible secret in apps/desktop/src/i18n/zh-hant.ts", "shortDescription": {"text": "Possible secret in apps/desktop/src/i18n/zh-hant.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-5dfbbad522e47c87", "name": "Possible secret in apps/desktop/src/i18n/en.ts", "shortDescription": {"text": "Possible secret in apps/desktop/src/i18n/en.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-49cb85571aaee3ea", "name": "Possible secret in apps/desktop/src/i18n/ja.ts", "shortDescription": {"text": "Possible secret in apps/desktop/src/i18n/ja.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-4bc0eeaaeffb44ec", "name": "Possible secret in apps/desktop/src/i18n/zh.ts", "shortDescription": {"text": "Possible secret in apps/desktop/src/i18n/zh.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-fd487cd468dc3371", "name": "Insecure pattern 'direct_innerhtml_assignment' in apps/desktop/src/app/chat/composer/rich-editor.test.ts:43", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/desktop/src/app/chat/composer/rich-editor.test.ts:43"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d07d694bba71f73", "name": "Insecure pattern 'exec_used' in apps/desktop/src/lib/desktop-slash-commands.ts:118", "shortDescription": {"text": "Insecure pattern 'exec_used' in apps/desktop/src/lib/desktop-slash-commands.ts:118"}, "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-08e4f241e98d38d9", "name": "Insecure pattern 'node_child_process' in scripts/whatsapp-bridge/bridge.js:29", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/whatsapp-bridge/bridge.js:29"}, "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-337c7da33f52292e", "name": "Insecure pattern 'node_child_process' in website/scripts/prebuild.mjs:49", "shortDescription": {"text": "Insecure pattern 'node_child_process' in website/scripts/prebuild.mjs:49"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-643626e1cba99f8d", "name": "Insecure pattern 'subprocess_shell_true' in tui_gateway/server.py:8402", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in tui_gateway/server.py:8402"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-14bdcfad9d56638c", "name": "Insecure pattern 'dangerous_innerhtml' in web/public/pixel-office/assets/index-CvwgKoo0.js:9", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in web/public/pixel-office/assets/index-CvwgKoo0.js:9"}, "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-a1d1458231dac398", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/public/pixel-office/assets/index-CvwgKoo0.js:8", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/public/pixel-office/assets/index-CvwgKoo0.js:8"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e6c504886f7ed6df", "name": "Insecure pattern 'local_storage_auth_token' in web/src/lib/api.ts:278", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in web/src/lib/api.ts:278"}, "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-9d9fe1c0d1d99c47", "name": "Possible secret in optional-skills/security/1password/SKILL.md", "shortDescription": {"text": "Possible secret in optional-skills/security/1password/SKILL.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-590277f2f987bcf2", "name": "Insecure pattern 'exec_used' in optional-skills/security/godmode/SKILL.md:63", "shortDescription": {"text": "Insecure pattern 'exec_used' in optional-skills/security/godmode/SKILL.md:63"}, "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-a5bf50bd5c64cae6", "name": "Insecure pattern 'exec_used' in optional-skills/security/godmode/scripts/auto_jailbreak.py:52", "shortDescription": {"text": "Insecure pattern 'exec_used' in optional-skills/security/godmode/scripts/auto_jailbreak.py:52"}, "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-35f516bc7a9bf39e", "name": "Insecure pattern 'exec_used' in optional-skills/security/godmode/scripts/load_godmode.py:29", "shortDescription": {"text": "Insecure pattern 'exec_used' in optional-skills/security/godmode/scripts/load_godmode.py:29"}, "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-c275395f3657b6a3", "name": "Insecure pattern 'eval_used' in optional-skills/mlops/guidance/SKILL.md:648", "shortDescription": {"text": "Insecure pattern 'eval_used' in optional-skills/mlops/guidance/SKILL.md:648"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-80098fe826c939ce", "name": "Insecure pattern 'cors_wildcard' in optional-skills/devops/pinggy-tunnel/SKILL.md:295", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in optional-skills/devops/pinggy-tunnel/SKILL.md:295"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-681cd9809d9ee830", "name": "Insecure pattern 'exec_used' in clawk_cli/tips.py:291", "shortDescription": {"text": "Insecure pattern 'exec_used' in clawk_cli/tips.py:291"}, "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-cea73f107ed3714b", "name": "Insecure pattern 'subprocess_shell_true' in clawk_cli/mcp_catalog.py:367", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in clawk_cli/mcp_catalog.py:367"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eba0a5d6dbd7b5ed", "name": "Insecure pattern 'subprocess_shell_true' in clawk_cli/tools_config.py:1175", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in clawk_cli/tools_config.py:1175"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c2513b8a9dfea4b2", "name": "Insecure pattern 'subprocess_shell_true' in clawk_cli/cookbook.py:617", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in clawk_cli/cookbook.py:617"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-27b7c5cf72f1ab73", "name": "Insecure pattern 'subprocess_shell_true' in tools/transcription_tools.py:1236", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in tools/transcription_tools.py:1236"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8409e90bb164c71e", "name": "Insecure pattern 'eval_used' in tools/skills_guard.py:601", "shortDescription": {"text": "Insecure pattern 'eval_used' in tools/skills_guard.py:601"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-351e0a8c300e332b", "name": "Insecure pattern 'exec_used' in tools/skills_guard.py:608", "shortDescription": {"text": "Insecure pattern 'exec_used' in tools/skills_guard.py:608"}, "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-4d0cbcfc48b4f296", "name": "Insecure pattern 'exec_used' in tools/approval.py:633", "shortDescription": {"text": "Insecure pattern 'exec_used' in tools/approval.py:633"}, "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-2d5e750145ae0c92", "name": "Insecure pattern 'node_child_process' in ui-tui/packages/clawk-ink/src/utils/execFileNoThrow.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in ui-tui/packages/clawk-ink/src/utils/execFileNoThrow.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-0fee549126089c02", "name": "Insecure pattern 'node_child_process' in ui-tui/src/gatewayClient.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/gatewayClient.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-372400ac5c181850", "name": "Insecure pattern 'node_child_process' in ui-tui/src/__tests__/slashParity.test.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/__tests__/slashParity.test.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e97e5539a1a083f", "name": "Insecure pattern 'node_child_process' in ui-tui/src/app/useComposerState.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/app/useComposerState.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-68d2d7f73d3e8562", "name": "Insecure pattern 'node_child_process' in ui-tui/src/lib/openExternalUrl.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/lib/openExternalUrl.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-ab0bf22421c5a62f", "name": "Insecure pattern 'node_child_process' in ui-tui/src/lib/externalCli.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/lib/externalCli.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-e890496589ee4607", "name": "Insecure pattern 'node_child_process' in ui-tui/src/lib/openExternalUrl.test.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/lib/openExternalUrl.test.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-15d92c8fe838df37", "name": "Insecure pattern 'node_child_process' in ui-tui/src/lib/clipboard.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/lib/clipboard.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-1b6f161984a9b710", "name": "Insecure pattern 'node_child_process' in ui-tui/src/hooks/useGitBranch.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/hooks/useGitBranch.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-7d6bb3847168936f", "name": "Possible secret in skills/creative/comfyui/SKILL.md", "shortDescription": {"text": "Possible secret in skills/creative/comfyui/SKILL.md"}, "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-2cbe560e64493d57", "name": "Insecure pattern 'exec_used' in skills/red-teaming/godmode/SKILL.md:124", "shortDescription": {"text": "Insecure pattern 'exec_used' in skills/red-teaming/godmode/SKILL.md:124"}, "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-61b96a9e61a642f0", "name": "Insecure pattern 'exec_used' in skills/red-teaming/godmode/scripts/auto_jailbreak.py:96", "shortDescription": {"text": "Insecure pattern 'exec_used' in skills/red-teaming/godmode/scripts/auto_jailbreak.py:96"}, "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-c9ca5aac78403747", "name": "Insecure pattern 'exec_used' in skills/red-teaming/godmode/scripts/load_godmode.py:58", "shortDescription": {"text": "Insecure pattern 'exec_used' in skills/red-teaming/godmode/scripts/load_godmode.py:58"}, "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-55871668aee243eb", "name": "Insecure pattern 'eval_used' in skills/mlops/evaluation/lm-evaluation-harness/SKILL.md:383", "shortDescription": {"text": "Insecure pattern 'eval_used' in skills/mlops/evaluation/lm-evaluation-harness/SKILL.md:383"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-34ab44483db88aa0", "name": "Insecure pattern 'eval_used' in skills/software-development/requesting-code-review/SKILL.md:285", "shortDescription": {"text": "Insecure pattern 'eval_used' in skills/software-development/requesting-code-review/SKILL.md:285"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fed376abc1390d76", "name": "Insecure pattern 'exec_used' in skills/software-development/requesting-code-review/SKILL.md:285", "shortDescription": {"text": "Insecure pattern 'exec_used' in skills/software-development/requesting-code-review/SKILL.md:285"}, "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-d3e9a1c54d017f6c", "name": "Insecure pattern 'subprocess_shell_true' in skills/software-development/requesting-code-review/SKILL.md:117", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in skills/software-development/requesting-code-review/SKILL.md:117"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ee4f9da70d55bc3a", "name": "Insecure pattern 'direct_innerhtml_assignment' in skills/software-development/requesting-code-review/SKILL.md:496", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/software-development/requesting-code-review/SKILL.md:496"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1303d06ad9113f60", "name": "Insecure pattern 'subprocess_shell_true' in hermes_lite/README.md:8", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in hermes_lite/README.md:8"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0ba8c8588e49fd3f", "name": "Insecure pattern 'eval_used' in plugins/security-guidance/README.md:51", "shortDescription": {"text": "Insecure pattern 'eval_used' in plugins/security-guidance/README.md:51"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-02337f2c0d4643b1", "name": "Insecure pattern 'new_function_used' in plugins/security-guidance/README.md:51", "shortDescription": {"text": "Insecure pattern 'new_function_used' in plugins/security-guidance/README.md:51"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-32277f2d89da6f70", "name": "Insecure pattern 'subprocess_shell_true' in plugins/security-guidance/README.md:11", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in plugins/security-guidance/README.md:11"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-93af4231a9ffad0f", "name": "Insecure pattern 'node_child_process' in plugins/security-guidance/README.md:49", "shortDescription": {"text": "Insecure pattern 'node_child_process' in plugins/security-guidance/README.md:49"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af827b42745b045f", "name": "Insecure pattern 'tls_verify_false' in plugins/security-guidance/README.md:11", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in plugins/security-guidance/README.md:11"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3fe47503e6539d0d", "name": "Insecure pattern 'dangerous_innerhtml' in plugins/security-guidance/README.md:11", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in plugins/security-guidance/README.md:11"}, "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-9ca89b1ae912972a", "name": "Insecure pattern 'direct_innerhtml_assignment' in plugins/security-guidance/README.md:53", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugins/security-guidance/README.md:53"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed3880cf585adcb3", "name": "Insecure pattern 'direct_outerhtml_assignment' in plugins/security-guidance/README.md:53", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in plugins/security-guidance/README.md:53"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a3f37c3f1625bf2e", "name": "Insecure pattern 'insert_adjacent_html' in plugins/security-guidance/README.md:53", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in plugins/security-guidance/README.md:53"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-050de924d20571be", "name": "Insecure pattern 'eval_used' in plugins/security-guidance/patterns.py:234", "shortDescription": {"text": "Insecure pattern 'eval_used' in plugins/security-guidance/patterns.py:234"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eee0acd0fdb6a259", "name": "Insecure pattern 'new_function_used' in plugins/security-guidance/patterns.py:226", "shortDescription": {"text": "Insecure pattern 'new_function_used' in plugins/security-guidance/patterns.py:226"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-40dfa1683b843f0a", "name": "Insecure pattern 'node_child_process' in plugins/security-guidance/patterns.py:189", "shortDescription": {"text": "Insecure pattern 'node_child_process' in plugins/security-guidance/patterns.py:189"}, "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-13b31463bfe5180d", "name": "Insecure pattern 'document_write' in plugins/security-guidance/patterns.py:244", "shortDescription": {"text": "Insecure pattern 'document_write' in plugins/security-guidance/patterns.py:244"}, "fullDescription": {"text": "Found a known-risky pattern (document_write). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17991485ea1840db", "name": "Insecure pattern 'dangerous_innerhtml' in plugins/security-guidance/patterns.py:238", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in plugins/security-guidance/patterns.py:238"}, "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-344657f939fedb39", "name": "Insecure pattern 'direct_innerhtml_assignment' in plugins/security-guidance/patterns.py:248", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugins/security-guidance/patterns.py:248"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-55a37717263892ad", "name": "Insecure pattern 'direct_outerhtml_assignment' in plugins/security-guidance/patterns.py:373", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in plugins/security-guidance/patterns.py:373"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-40bbf99918b26083", "name": "Insecure pattern 'insert_adjacent_html' in plugins/security-guidance/patterns.py:378", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in plugins/security-guidance/patterns.py:378"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6cfb2fad7415f34c", "name": "Insecure pattern 'weak_hash' in plugins/security-guidance/patterns.py:339", "shortDescription": {"text": "Insecure pattern 'weak_hash' in plugins/security-guidance/patterns.py:339"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-90483eda6189fb11", "name": "Insecure pattern 'eval_used' in plugins/security-guidance/plugin.yaml:5", "shortDescription": {"text": "Insecure pattern 'eval_used' in plugins/security-guidance/plugin.yaml:5"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8105250cea08b805", "name": "Insecure pattern 'tls_verify_false' in plugins/security-guidance/plugin.yaml:5", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in plugins/security-guidance/plugin.yaml:5"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e535c94549270ac1", "name": "Insecure pattern 'dangerous_innerhtml' in plugins/security-guidance/plugin.yaml:5", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in plugins/security-guidance/plugin.yaml:5"}, "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-7055571cbc1889c2", "name": "Possible secret in plugins/dashboard_auth/basic/__init__.py", "shortDescription": {"text": "Possible secret in plugins/dashboard_auth/basic/__init__.py"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8dce886dab0d97fa", "name": "Very large file: clawk_state.py (6581 lines)", "shortDescription": {"text": "Very large file: clawk_state.py (6581 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-ac1e3072bee278d6", "name": "Very large file: run_agent.py (5461 lines)", "shortDescription": {"text": "Very large file: run_agent.py (5461 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-3ea9a1b12ddafea7", "name": "Very large file: model_tools.py (1957 lines)", "shortDescription": {"text": "Very large file: model_tools.py (1957 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-945859b7fe710adf", "name": "Very large file: cli.py (25522 lines)", "shortDescription": {"text": "Very large file: cli.py (25522 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-ab21bdd2092225c9", "name": "Very large file: batch_runner.py (1422 lines)", "shortDescription": {"text": "Very large file: batch_runner.py (1422 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-827b9015858b4547", "name": "Very large file: trajectory_compressor.py (2465 lines)", "shortDescription": {"text": "Very large file: trajectory_compressor.py (2465 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-0d89ba190a6a0c4e", "name": "Very large file: tests/test_mcp_serve.py (1966 lines)", "shortDescription": {"text": "Very large file: tests/test_mcp_serve.py (1966 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-141a6b89f950104a", "name": "Very large file: tests/test_tui_gateway_server.py (7217 lines)", "shortDescription": {"text": "Very large file: tests/test_tui_gateway_server.py (7217 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-26e14d76e403a3f1", "name": "Very large file: tests/test_clawk_state.py (6342 lines)", "shortDescription": {"text": "Very large file: tests/test_clawk_state.py (6342 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-5b9a5722c30e4b1c", "name": "Very large file: tests/test_yuanbao_pipeline.py (1546 lines)", "shortDescription": {"text": "Very large file: tests/test_yuanbao_pipeline.py (1546 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-86d099e3ac69b548", "name": "Very large file: tests/honcho_plugin/test_session.py (2955 lines)", "shortDescription": {"text": "Very large file: tests/honcho_plugin/test_session.py (2955 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-83a967d199df5c25", "name": "Very large file: tests/agent/test_auxiliary_client.py (5473 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_auxiliary_client.py (5473 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-32a98ab94d3902b3", "name": "Very large file: tests/agent/test_prompt_builder.py (2098 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_prompt_builder.py (2098 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-782199970cf9881f", "name": "Very large file: tests/agent/test_bedrock_adapter.py (2060 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_bedrock_adapter.py (2060 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-2da84eccf986acce", "name": "Very large file: tests/agent/test_context_compressor.py (2656 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_context_compressor.py (2656 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-64de88dea17ffb35", "name": "Very large file: tests/agent/test_credential_pool.py (4000 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_credential_pool.py (4000 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-d1a33d795afef7cb", "name": "Very large file: tests/agent/test_gemini_cloudcode.py (1825 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_gemini_cloudcode.py (1825 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-de5b230ac45045a5", "name": "Very large file: tests/agent/test_error_classifier.py (1656 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_error_classifier.py (1656 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-cc31b9535737a144", "name": "Very large file: tests/agent/test_model_metadata.py (1469 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_model_metadata.py (1469 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-8fce770db9075733", "name": "Very large file: tests/agent/test_memory_provider.py (1493 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_memory_provider.py (1493 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-42bdc4fc449c5438", "name": "Very large file: tests/agent/test_anthropic_adapter.py (2325 lines)", "shortDescription": {"text": "Very large file: tests/agent/test_anthropic_adapter.py (2325 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-2290fa27fb49a058", "name": "Very large file: tests/acp/test_server.py (1862 lines)", "shortDescription": {"text": "Very large file: tests/acp/test_server.py (1862 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-88e93aa030543fda", "name": "Very large file: tests/run_agent/test_run_agent.py (9517 lines)", "shortDescription": {"text": "Very large file: tests/run_agent/test_run_agent.py (9517 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-7849671690e51f38", "name": "Very large file: tests/run_agent/test_streaming.py (2161 lines)", "shortDescription": {"text": "Very large file: tests/run_agent/test_streaming.py (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-0e46fc9f0ca7b32a", "name": "Very large file: tests/run_agent/test_provider_parity.py (1474 lines)", "shortDescription": {"text": "Very large file: tests/run_agent/test_provider_parity.py (1474 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-e7b73500ee1381e5", "name": "Very large file: tests/run_agent/test_run_agent_codex_responses.py (3239 lines)", "shortDescription": {"text": "Very large file: tests/run_agent/test_run_agent_codex_responses.py (3239 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-209510b6b7ffbd9e", "name": "Very large file: tests/clawk_cli/test_profiles.py (1982 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_profiles.py (1982 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-acd5a58a35cadc24", "name": "Very large file: tests/clawk_cli/test_plugins.py (2586 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_plugins.py (2586 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-8a537785a80d785d", "name": "Very large file: tests/clawk_cli/test_runtime_provider_resolution.py (3768 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_runtime_provider_resolution.py (3768 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-eb061bfef6a4dc93", "name": "Very large file: tests/clawk_cli/test_auth_xai_oauth_provider.py (2933 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_auth_xai_oauth_provider.py (2933 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-ef36f5204ed76325", "name": "Very large file: tests/clawk_cli/test_commands.py (2539 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_commands.py (2539 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-f6e3d73e7c7c8b87", "name": "Very large file: tests/clawk_cli/test_gateway_service.py (3985 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_gateway_service.py (3985 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-cc7d47b00aa5798a", "name": "Very large file: tests/clawk_cli/test_tools_config.py (1996 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_tools_config.py (1996 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-8ae0d64788be660f", "name": "Very large file: tests/clawk_cli/test_kanban_core_functionality.py (7071 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_kanban_core_functionality.py (7071 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-b5d075dcc38c42ba", "name": "Very large file: tests/clawk_cli/test_kanban_db.py (6515 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_kanban_db.py (6515 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-4e3445e8d497aa01", "name": "Very large file: tests/clawk_cli/test_api_key_providers.py (2097 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_api_key_providers.py (2097 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-d1801f59eabb664d", "name": "Very large file: tests/clawk_cli/test_backup.py (2842 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_backup.py (2842 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-7d41ee12ee095fb8", "name": "Very large file: tests/clawk_cli/test_auth_commands.py (1913 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_auth_commands.py (1913 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-0862be7c2f96fb81", "name": "Very large file: tests/clawk_cli/test_doctor.py (2199 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_doctor.py (2199 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-6243e816be5ca95e", "name": "Very large file: tests/clawk_cli/test_debug.py (1940 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_debug.py (1940 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-052980423bd228e1", "name": "Very large file: tests/clawk_cli/test_web_server.py (6022 lines)", "shortDescription": {"text": "Very large file: tests/clawk_cli/test_web_server.py (6022 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-a7db1a8e54498ed8", "name": "Very large file: tests/cron/test_scheduler.py (2761 lines)", "shortDescription": {"text": "Very large file: tests/cron/test_scheduler.py (2761 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-a3fb294233fe563c", "name": "Very large file: tests/tools/test_voice_cli_integration.py (1892 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_voice_cli_integration.py (1892 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-48d3862c6c0fff30", "name": "Very large file: tests/tools/test_computer_use.py (1452 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_computer_use.py (1452 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-4472c7af661039f6", "name": "Very large file: tests/tools/test_approval.py (1715 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_approval.py (1715 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-60bb78c84a97903f", "name": "Very large file: tests/tools/test_send_message_tool.py (3078 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_send_message_tool.py (3078 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-87db4300d408e10c", "name": "Very large file: tests/tools/test_kanban_tools.py (2759 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_kanban_tools.py (2759 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-76a518b484ea1a46", "name": "Very large file: tests/tools/test_discord_tool.py (1957 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_discord_tool.py (1957 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-e05c4cfc1cf63f2d", "name": "Very large file: tests/tools/test_voice_mode.py (2255 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_voice_mode.py (2255 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-cbf9df76e0f61a37", "name": "Very large file: tests/tools/test_skills_sync.py (1783 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_skills_sync.py (1783 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c0e5834614b66c5", "name": "Very large file: tests/tools/test_tirith_security.py (2313 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_tirith_security.py (2313 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-70c540749f58b6de", "name": "Very large file: tests/tools/test_skills_hub.py (2284 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_skills_hub.py (2284 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-af71443fb32e4820", "name": "Very large file: tests/tools/test_docker_environment.py (2519 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_docker_environment.py (2519 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-654f7facca9ee485", "name": "Very large file: tests/tools/test_clipboard.py (1732 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_clipboard.py (1732 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-0c3a7940390a0aa0", "name": "Very large file: tests/tools/test_delegate.py (3062 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_delegate.py (3062 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-e3f3fbb26cd4183d", "name": "Very large file: tests/tools/test_transcription_tools.py (2494 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_transcription_tools.py (2494 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-a9f3a4fa88b8cad2", "name": "Very large file: tests/tools/test_mcp_tool.py (5871 lines)", "shortDescription": {"text": "Very large file: tests/tools/test_mcp_tool.py (5871 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-9a3837246c32fc98", "name": "Very large file: tests/gateway/test_whatsapp_cloud.py (2321 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_whatsapp_cloud.py (2321 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-e4f1668ec7695527", "name": "Very large file: tests/gateway/test_voice_command.py (2950 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_voice_command.py (2950 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-5b66012ca4a47502", "name": "Very large file: tests/gateway/test_restart_resume_pending.py (1701 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_restart_resume_pending.py (1701 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-3535a2c068311fe2", "name": "Very large file: tests/gateway/test_feishu.py (6845 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_feishu.py (6845 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-e88be28d2ad91594", "name": "Very large file: tests/gateway/test_stream_consumer.py (2046 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_stream_consumer.py (2046 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-81e0f4037846fccc", "name": "Very large file: tests/gateway/test_api_server.py (5350 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_api_server.py (5350 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-f377ee89696cadcb", "name": "Very large file: tests/gateway/test_email.py (1387 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_email.py (1387 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-673b2392cfc4f10e", "name": "Very large file: tests/gateway/test_telegram_topic_mode.py (2028 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_telegram_topic_mode.py (2028 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-32c516178c508655", "name": "Very large file: tests/gateway/test_qqbot.py (3303 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_qqbot.py (3303 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-e9b0ccfee774a6e5", "name": "Very large file: tests/gateway/test_session.py (1809 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_session.py (1809 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-c22fb954a241c80b", "name": "Very large file: tests/gateway/test_agent_cache.py (2529 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_agent_cache.py (2529 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-38c9369f50369a76", "name": "Very large file: tests/gateway/test_slack.py (3822 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_slack.py (3822 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-0e84a070a1e79df3", "name": "Very large file: tests/gateway/test_platform_base.py (2284 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_platform_base.py (2284 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-8c223586f955a30d", "name": "Very large file: tests/gateway/test_signal.py (1942 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_signal.py (1942 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-bf6bb74ed576612e", "name": "Very large file: tests/gateway/test_run_progress_topics.py (1685 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_run_progress_topics.py (1685 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-f3b222ad8b77c74f", "name": "Very large file: tests/gateway/test_matrix.py (4361 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_matrix.py (4361 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-9ddd1bfca3d3d68b", "name": "Very large file: tests/gateway/test_google_chat.py (4615 lines)", "shortDescription": {"text": "Very large file: tests/gateway/test_google_chat.py (4615 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-34080e4572769723", "name": "Very large file: tests/plugins/test_kanban_dashboard_plugin.py (3384 lines)", "shortDescription": {"text": "Very large file: tests/plugins/test_kanban_dashboard_plugin.py (3384 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-649633017f874280", "name": "Very large file: tests/plugins/memory/test_hindsight_provider.py (1631 lines)", "shortDescription": {"text": "Very large file: tests/plugins/memory/test_hindsight_provider.py (1631 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-5cbd392b39e8bf68", "name": "Very large file: apps/desktop/electron/main.cjs (9320 lines)", "shortDescription": {"text": "Very large file: apps/desktop/electron/main.cjs (9320 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-bc5450e3f095ad09", "name": "Very large file: apps/desktop/src/i18n/zh-hant.ts (1986 lines)", "shortDescription": {"text": "Very large file: apps/desktop/src/i18n/zh-hant.ts (1986 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50e5a4d67613db3e", "name": "Very large file: apps/desktop/src/i18n/en.ts (1904 lines)", "shortDescription": {"text": "Very large file: apps/desktop/src/i18n/en.ts (1904 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-ac9947055af31448", "name": "Very large file: apps/desktop/src/i18n/ja.ts (2047 lines)", "shortDescription": {"text": "Very large file: apps/desktop/src/i18n/ja.ts (2047 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-52a301a05ece8b1b", "name": "Very large file: apps/desktop/src/i18n/zh.ts (2083 lines)", "shortDescription": {"text": "Very large file: apps/desktop/src/i18n/zh.ts (2083 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-0678e96f93584a54", "name": "Very large file: apps/desktop/src/components/assistant-ui/thread.tsx (1782 lines)", "shortDescription": {"text": "Very large file: apps/desktop/src/components/assistant-ui/thread.tsx (1782 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-bb23d52694ed7734", "name": "Very large file: apps/desktop/src/app/chat/composer/index.tsx (1987 lines)", "shortDescription": {"text": "Very large file: apps/desktop/src/app/chat/composer/index.tsx (1987 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-6e5a230dbeaa7320", "name": "Very large file: apps/desktop/src/app/chat/sidebar/index.tsx (1774 lines)", "shortDescription": {"text": "Very large file: apps/desktop/src/app/chat/sidebar/index.tsx (1774 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-84a0b672b8bb79b7", "name": "Very large file: apps/desktop/src/app/session/hooks/use-prompt-actions.ts (1689 lines)", "shortDescription": {"text": "Very large file: apps/desktop/src/app/session/hooks/use-prompt-actions.ts (1689 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-3527ffeaa7fbfcd6", "name": "Very large file: scripts/install.sh (2777 lines)", "shortDescription": {"text": "Very large file: scripts/install.sh (2777 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-3116d045eaf3595c", "name": "Very large file: scripts/release.py (2146 lines)", "shortDescription": {"text": "Very large file: scripts/release.py (2146 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-77478ba7bcbe16df", "name": "Very large file: agent/chat_completion_helpers.py (3762 lines)", "shortDescription": {"text": "Very large file: agent/chat_completion_helpers.py (3762 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-b68b1c6bec85e070", "name": "Very large file: agent/codex_responses_adapter.py (1271 lines)", "shortDescription": {"text": "Very large file: agent/codex_responses_adapter.py (1271 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-ffe9fbffd737ee75", "name": "Very large file: agent/context_compressor.py (2426 lines)", "shortDescription": {"text": "Very large file: agent/context_compressor.py (2426 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-1a3d94b0a018f7c6", "name": "Very large file: agent/credential_pool.py (3355 lines)", "shortDescription": {"text": "Very large file: agent/credential_pool.py (3355 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-25d3409d4181dc37", "name": "Very large file: agent/agent_runtime_helpers.py (2595 lines)", "shortDescription": {"text": "Very large file: agent/agent_runtime_helpers.py (2595 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-0efdf56fc86254df", "name": "Very large file: agent/curator.py (1835 lines)", "shortDescription": {"text": "Very large file: agent/curator.py (1835 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-fa6d03b5afa902f3", "name": "Very large file: agent/bedrock_adapter.py (1951 lines)", "shortDescription": {"text": "Very large file: agent/bedrock_adapter.py (1951 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-e5e774848e0950e0", "name": "Very large file: agent/error_classifier.py (1403 lines)", "shortDescription": {"text": "Very large file: agent/error_classifier.py (1403 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-4bdbd4e16d577028", "name": "Very large file: agent/anthropic_adapter.py (2607 lines)", "shortDescription": {"text": "Very large file: agent/anthropic_adapter.py (2607 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-69f9c9ecc94d16eb", "name": "Very large file: agent/agent_init.py (2723 lines)", "shortDescription": {"text": "Very large file: agent/agent_init.py (2723 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-9d42f5923ca81401", "name": "Very large file: agent/tool_executor.py (1832 lines)", "shortDescription": {"text": "Very large file: agent/tool_executor.py (1832 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-bfbbeefee04b186f", "name": "Very large file: agent/auxiliary_client.py (8574 lines)", "shortDescription": {"text": "Very large file: agent/auxiliary_client.py (8574 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-4d9bc6ffc99d0d88", "name": "Very large file: agent/model_metadata.py (2744 lines)", "shortDescription": {"text": "Very large file: agent/model_metadata.py (2744 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-c3c99100d1bd6290", "name": "Very large file: agent/conversation_loop.py (7491 lines)", "shortDescription": {"text": "Very large file: agent/conversation_loop.py (7491 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-bf0aa7dcba30da46", "name": "Very large file: agent/prompt_builder.py (1635 lines)", "shortDescription": {"text": "Very large file: agent/prompt_builder.py (1635 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-55b4d4cb7d04ac16", "name": "Very large file: tui_gateway/server.py (11273 lines)", "shortDescription": {"text": "Very large file: tui_gateway/server.py (11273 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-7a8b48fe7b91b851", "name": "Very large file: web/src/lib/api.ts (3725 lines)", "shortDescription": {"text": "Very large file: web/src/lib/api.ts (3725 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-e416d26851db75a2", "name": "Very large file: web/src/pages/SystemPage.tsx (1277 lines)", "shortDescription": {"text": "Very large file: web/src/pages/SystemPage.tsx (1277 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-94787972dbb0e1da", "name": "Very large file: web/src/pages/SessionsPage.tsx (1710 lines)", "shortDescription": {"text": "Very large file: web/src/pages/SessionsPage.tsx (1710 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-e0c92ae06d76d637", "name": "Very large file: optional-skills/migration/openclaw-migration/scripts/openclaw_to_clawk.py (5349 lines)", "shortDescription": {"text": "Very large file: optional-skills/migration/openclaw-migration/scripts/openclaw_to_clawk.py (5349 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-b60a91fc9918a5ad", "name": "Very large file: optional-skills/blockchain/hyperliquid/scripts/hyperliquid_client.py (2254 lines)", "shortDescription": {"text": "Very large file: optional-skills/blockchain/hyperliquid/scripts/hyperliquid_client.py (2254 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-451fdabc87077380", "name": "Very large file: optional-skills/blockchain/evm/scripts/evm_client.py (1673 lines)", "shortDescription": {"text": "Very large file: optional-skills/blockchain/evm/scripts/evm_client.py (1673 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-e4a35868b8e4001f", "name": "Very large file: clawk_cli/plugins.py (2097 lines)", "shortDescription": {"text": "Very large file: clawk_cli/plugins.py (2097 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-2164efc9b1f2aa6f", "name": "Very large file: clawk_cli/gateway_windows.py (1311 lines)", "shortDescription": {"text": "Very large file: clawk_cli/gateway_windows.py (1311 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-c04619e215995d33", "name": "Very large file: clawk_cli/tools_config.py (5978 lines)", "shortDescription": {"text": "Very large file: clawk_cli/tools_config.py (5978 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-9be241a568223503", "name": "Very large file: clawk_cli/commands.py (3000 lines)", "shortDescription": {"text": "Very large file: clawk_cli/commands.py (3000 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-1bfa0d393dc73e2b", "name": "Very large file: clawk_cli/config.py (8337 lines)", "shortDescription": {"text": "Very large file: clawk_cli/config.py (8337 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-8721f595bc9e54c8", "name": "Very large file: clawk_cli/auth.py (11197 lines)", "shortDescription": {"text": "Very large file: clawk_cli/auth.py (11197 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-f22a25266eca5a9d", "name": "Very large file: clawk_cli/skills_hub.py (1891 lines)", "shortDescription": {"text": "Very large file: clawk_cli/skills_hub.py (1891 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-f4bea26565a1bbb8", "name": "Very large file: clawk_cli/model_switch.py (2953 lines)", "shortDescription": {"text": "Very large file: clawk_cli/model_switch.py (2953 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-f881cb24ec683c57", "name": "Very large file: clawk_cli/gateway.py (9273 lines)", "shortDescription": {"text": "Very large file: clawk_cli/gateway.py (9273 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-7b6d803a191019fd", "name": "Very large file: clawk_cli/plugins_cmd.py (1835 lines)", "shortDescription": {"text": "Very large file: clawk_cli/plugins_cmd.py (1835 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-593855f962e31ff6", "name": "Very large file: clawk_cli/runtime_provider.py (2465 lines)", "shortDescription": {"text": "Very large file: clawk_cli/runtime_provider.py (2465 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-a48f31c7533648eb", "name": "Very large file: clawk_cli/web_server.py (13283 lines)", "shortDescription": {"text": "Very large file: clawk_cli/web_server.py (13283 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-86c6deb7ef277a64", "name": "Very large file: clawk_cli/setup.py (5117 lines)", "shortDescription": {"text": "Very large file: clawk_cli/setup.py (5117 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-f98a45ce1aecf28c", "name": "Very large file: clawk_cli/models.py (5648 lines)", "shortDescription": {"text": "Very large file: clawk_cli/models.py (5648 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-2b7b0a6aec8ab2e4", "name": "Very large file: clawk_cli/doctor.py (3487 lines)", "shortDescription": {"text": "Very large file: clawk_cli/doctor.py (3487 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-58d9749ce7279419", "name": "Very large file: clawk_cli/model_setup_flows.py (2725 lines)", "shortDescription": {"text": "Very large file: clawk_cli/model_setup_flows.py (2725 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-7ee015fdf5bf3306", "name": "Very large file: clawk_cli/kanban.py (4225 lines)", "shortDescription": {"text": "Very large file: clawk_cli/kanban.py (4225 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-49bdba09247da697", "name": "Very large file: clawk_cli/profiles.py (1817 lines)", "shortDescription": {"text": "Very large file: clawk_cli/profiles.py (1817 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-89ca8892a3bde0d0", "name": "Very large file: clawk_cli/main.py (24275 lines)", "shortDescription": {"text": "Very large file: clawk_cli/main.py (24275 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-4019922db1271d78", "name": "Very large file: clawk_cli/cli_commands_mixin.py (2263 lines)", "shortDescription": {"text": "Very large file: clawk_cli/cli_commands_mixin.py (2263 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-4af203262db625de", "name": "Very large file: clawk_cli/kanban_db.py (7992 lines)", "shortDescription": {"text": "Very large file: clawk_cli/kanban_db.py (7992 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-4d849abd7cf7b294", "name": "Very large file: cron/scheduler.py (3631 lines)", "shortDescription": {"text": "Very large file: cron/scheduler.py (3631 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-6ddfd8d2fc21ff44", "name": "Very large file: cron/jobs.py (1988 lines)", "shortDescription": {"text": "Very large file: cron/jobs.py (1988 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-8ffb879120fd2657", "name": "Very large file: tools/mcp_tool.py (4472 lines)", "shortDescription": {"text": "Very large file: tools/mcp_tool.py (4472 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-1d3dd652be70860d", "name": "Very large file: tools/transcription_tools.py (1798 lines)", "shortDescription": {"text": "Very large file: tools/transcription_tools.py (1798 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-e674ea2f8f7edcc6", "name": "Very large file: tools/web_tools.py (2111 lines)", "shortDescription": {"text": "Very large file: tools/web_tools.py (2111 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-8f474b1136ab092e", "name": "Very large file: tools/checkpoint_manager.py (1816 lines)", "shortDescription": {"text": "Very large file: tools/checkpoint_manager.py (1816 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-1492bc508d532f56", "name": "Very large file: tools/file_tools.py (1853 lines)", "shortDescription": {"text": "Very large file: tools/file_tools.py (1853 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-8e1e254096a967b4", "name": "Very large file: tools/send_message_tool.py (2141 lines)", "shortDescription": {"text": "Very large file: tools/send_message_tool.py (2141 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-8dc191be7a39bd9f", "name": "Very large file: tools/delegate_tool.py (3995 lines)", "shortDescription": {"text": "Very large file: tools/delegate_tool.py (3995 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-2f56255677a17ccc", "name": "Very large file: tools/browser_supervisor.py (2184 lines)", "shortDescription": {"text": "Very large file: tools/browser_supervisor.py (2184 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-a1d975bd95a4ef26", "name": "Very large file: tools/vision_tools.py (2349 lines)", "shortDescription": {"text": "Very large file: tools/vision_tools.py (2349 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-e5ce551f085762f1", "name": "Very large file: tools/browser_tool.py (3873 lines)", "shortDescription": {"text": "Very large file: tools/browser_tool.py (3873 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-949c52a9f7f07736", "name": "Very large file: tools/skills_hub.py (4109 lines)", "shortDescription": {"text": "Very large file: tools/skills_hub.py (4109 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-6ef4fda13653f65c", "name": "Very large file: tools/code_execution_tool.py (1977 lines)", "shortDescription": {"text": "Very large file: tools/code_execution_tool.py (1977 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-8283c63bd24c347e", "name": "Very large file: tools/tts_tool.py (2731 lines)", "shortDescription": {"text": "Very large file: tools/tts_tool.py (2731 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-324f3243c65be077", "name": "Very large file: tools/skills_tool.py (1616 lines)", "shortDescription": {"text": "Very large file: tools/skills_tool.py (1616 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-48789287c2bf878e", "name": "Very large file: tools/file_operations.py (3489 lines)", "shortDescription": {"text": "Very large file: tools/file_operations.py (3489 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-83784caaeca51292", "name": "Very large file: tools/process_registry.py (1628 lines)", "shortDescription": {"text": "Very large file: tools/process_registry.py (1628 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-76bfa09c0509ce03", "name": "Very large file: tools/approval.py (2572 lines)", "shortDescription": {"text": "Very large file: tools/approval.py (2572 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-cba18ae8613697d8", "name": "Very large file: tools/kanban_tools.py (1928 lines)", "shortDescription": {"text": "Very large file: tools/kanban_tools.py (1928 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-33592b00c85d8c45", "name": "Very large file: tools/terminal_tool.py (3927 lines)", "shortDescription": {"text": "Very large file: tools/terminal_tool.py (3927 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-24d5cd8b30b94d61", "name": "Very large file: tools/environments/docker.py (1820 lines)", "shortDescription": {"text": "Very large file: tools/environments/docker.py (1820 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-863c25bcdf98cc73", "name": "Very large file: ui-tui/packages/clawk-ink/src/ink/ink.tsx (2705 lines)", "shortDescription": {"text": "Very large file: ui-tui/packages/clawk-ink/src/ink/ink.tsx (2705 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-9281ad6729be710b", "name": "Very large file: ui-tui/packages/clawk-ink/src/ink/screen.ts (1590 lines)", "shortDescription": {"text": "Very large file: ui-tui/packages/clawk-ink/src/ink/screen.ts (1590 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-f1cbaac51fb72703", "name": "Very large file: ui-tui/packages/clawk-ink/src/ink/render-node-to-output.ts (1582 lines)", "shortDescription": {"text": "Very large file: ui-tui/packages/clawk-ink/src/ink/render-node-to-output.ts (1582 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-fafb86b5eae7bee0", "name": "Very large file: ui-tui/packages/clawk-ink/src/ink/components/App.tsx (855 lines)", "shortDescription": {"text": "Very large file: ui-tui/packages/clawk-ink/src/ink/components/App.tsx (855 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-e18e11564fe0c512", "name": "Very large file: ui-tui/packages/clawk-ink/src/native-ts/yoga-layout/index.ts (2326 lines)", "shortDescription": {"text": "Very large file: ui-tui/packages/clawk-ink/src/native-ts/yoga-layout/index.ts (2326 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a137639d0a79536a", "name": "Very large file: ui-tui/src/__tests__/createGatewayEventHandler.test.ts (1564 lines)", "shortDescription": {"text": "Very large file: ui-tui/src/__tests__/createGatewayEventHandler.test.ts (1564 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-191be50cd5fa6e47", "name": "Very large file: gateway/kanban_watchers.py (1064 lines)", "shortDescription": {"text": "Very large file: gateway/kanban_watchers.py (1064 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-9b3af5434aec2aa0", "name": "Very large file: gateway/slash_commands.py (3684 lines)", "shortDescription": {"text": "Very large file: gateway/slash_commands.py (3684 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-908934808d3b8a08", "name": "Very large file: gateway/config.py (2139 lines)", "shortDescription": {"text": "Very large file: gateway/config.py (2139 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-8b80354a6ca1ad46", "name": "Very large file: gateway/stream_consumer.py (1597 lines)", "shortDescription": {"text": "Very large file: gateway/stream_consumer.py (1597 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-ce2d995418b2bb81", "name": "Very large file: gateway/session.py (1444 lines)", "shortDescription": {"text": "Very large file: gateway/session.py (1444 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-ecb0431c88f11616", "name": "Very large file: gateway/run.py (30387 lines)", "shortDescription": {"text": "Very large file: gateway/run.py (30387 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-0da0c5db02332227", "name": "Very large file: gateway/platforms/signal.py (2304 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/signal.py (2304 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-33d7ec759dc346bd", "name": "Very large file: gateway/platforms/feishu_comment.py (1641 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/feishu_comment.py (1641 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-8290434b3f1152b3", "name": "Very large file: gateway/platforms/matrix.py (4221 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/matrix.py (4221 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-b6ea47cb90a4c60a", "name": "Very large file: gateway/platforms/api_server.py (4322 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/api_server.py (4322 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-f6a8fcc8af2c650a", "name": "Very large file: gateway/platforms/whatsapp_cloud.py (1956 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/whatsapp_cloud.py (1956 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-0941ba1a695a1c05", "name": "Very large file: gateway/platforms/whatsapp.py (1177 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/whatsapp.py (1177 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-1482892418891a65", "name": "Very large file: gateway/platforms/telegram.py (6696 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/telegram.py (6696 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-4619ea6bfa371132", "name": "Very large file: gateway/platforms/base.py (5315 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/base.py (5315 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-ed4807e7eda142e6", "name": "Very large file: gateway/platforms/feishu.py (5900 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/feishu.py (5900 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-80767e981e28139c", "name": "Very large file: gateway/platforms/yuanbao.py (5358 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/yuanbao.py (5358 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-5641e69e57919b98", "name": "Very large file: gateway/platforms/wecom.py (2447 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/wecom.py (2447 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-7ac64d7b3060c99f", "name": "Very large file: gateway/platforms/weixin.py (2358 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/weixin.py (2358 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-e542ad5b10f89596", "name": "Very large file: gateway/platforms/slack.py (3815 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/slack.py (3815 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-4ccbe3592e81f93e", "name": "Very large file: gateway/platforms/dingtalk.py (2205 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/dingtalk.py (2205 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-5e8c85e848169eee", "name": "Very large file: gateway/platforms/qqbot/adapter.py (4408 lines)", "shortDescription": {"text": "Very large file: gateway/platforms/qqbot/adapter.py (4408 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-2d5cbbae6912e4ca", "name": "Very large file: acp_adapter/tools.py (2171 lines)", "shortDescription": {"text": "Very large file: acp_adapter/tools.py (2171 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-1263799351f4c895", "name": "Very large file: acp_adapter/server.py (2240 lines)", "shortDescription": {"text": "Very large file: acp_adapter/server.py (2240 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-3bd19facdc46abc3", "name": "Very large file: plugins/platforms/line/adapter.py (2421 lines)", "shortDescription": {"text": "Very large file: plugins/platforms/line/adapter.py (2421 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-e0f6075a549dc0f4", "name": "Very large file: plugins/platforms/teams/adapter.py (1297 lines)", "shortDescription": {"text": "Very large file: plugins/platforms/teams/adapter.py (1297 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-37a5e8aaa171f7d5", "name": "Very large file: plugins/platforms/photon/adapter.py (1529 lines)", "shortDescription": {"text": "Very large file: plugins/platforms/photon/adapter.py (1529 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-2a67eb6ea91fcc84", "name": "Very large file: plugins/platforms/discord/adapter.py (9823 lines)", "shortDescription": {"text": "Very large file: plugins/platforms/discord/adapter.py (9823 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-945e1802bcd653e2", "name": "Very large file: plugins/platforms/simplex/adapter.py (1313 lines)", "shortDescription": {"text": "Very large file: plugins/platforms/simplex/adapter.py (1313 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-7726800025648c91", "name": "Very large file: plugins/platforms/google_chat/adapter.py (3443 lines)", "shortDescription": {"text": "Very large file: plugins/platforms/google_chat/adapter.py (3443 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-74cb080716dcf834", "name": "Very large file: plugins/kanban/dashboard/plugin_api.py (2454 lines)", "shortDescription": {"text": "Very large file: plugins/kanban/dashboard/plugin_api.py (2454 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-6b2771107e7e5c40", "name": "Very large file: plugins/clawk-achievements/dashboard/plugin_api.py (2417 lines)", "shortDescription": {"text": "Very large file: plugins/clawk-achievements/dashboard/plugin_api.py (2417 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-db2df88054dee2bc", "name": "Very large file: plugins/memory/honcho/__init__.py (2090 lines)", "shortDescription": {"text": "Very large file: plugins/memory/honcho/__init__.py (2090 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-9b35911553b9a814", "name": "Very large file: plugins/memory/honcho/cli.py (1698 lines)", "shortDescription": {"text": "Very large file: plugins/memory/honcho/cli.py (1698 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-fd4ce069b859b7d0", "name": "Very large file: plugins/memory/honcho/session.py (2025 lines)", "shortDescription": {"text": "Very large file: plugins/memory/honcho/session.py (2025 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-9979f2a9bb41501e", "name": "Very large file: plugins/memory/hindsight/__init__.py (1803 lines)", "shortDescription": {"text": "Very large file: plugins/memory/hindsight/__init__.py (1803 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-bc21d671a3d92487", "name": "178 TODO/FIXME markers", "shortDescription": {"text": "178 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ec4afc4f309fed1", "name": "Node manifest has dependencies but no lockfile: apps/shared/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/shared/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d57b3f82d2270c5b", "name": "Node manifest has dependencies but no lockfile: apps/desktop/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/desktop/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c735dae3c190463", "name": "Node manifest has dependencies but no lockfile: apps/bootstrap-installer/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/bootstrap-installer/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f61e9dc22135856f", "name": "Node manifest has dependencies but no lockfile: web/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: web/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0b949704f58bcbd", "name": "Node manifest has dependencies but no lockfile: ui-tui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: ui-tui/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d1bad8a03bbb41d", "name": "Node manifest has dependencies but no lockfile: ui-tui/packages/clawk-ink/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: ui-tui/packages/clawk-ink/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 6036 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 474 placeholder/mock markers across 165 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 lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3bb4019a60c7409f", "name": "Agent instruction/config may expose a secret: optional-skills/security/sherlock/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/security/sherlock/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cca8f410efcfdfdd", "name": "Agent authority lacks a verifier contract: optional-skills/creative/baoyu-article-illustrator/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/creative/baoyu-article-illustrator/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-799db67cf73cb287", "name": "Agent instruction contains unpinned remote install: optional-skills/creative/hyperframes/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/creative/hyperframes/SKILL.md"}, "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-0664ba40373e8b2b", "name": "Agent instruction/config may expose a secret: optional-skills/email/agentmail/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/email/agentmail/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0dfb4d2fd33ccf27", "name": "Agent instruction contains unpinned remote install: optional-skills/email/agentmail/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/email/agentmail/SKILL.md"}, "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-b0c4702b68a74b85", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/chroma/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/chroma/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-db72e58ecaa641cc", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/tensorrt-llm/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/tensorrt-llm/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-5ff87899329dd445", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/saelens/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/saelens/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af33a865319dedf3", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/simpo/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/simpo/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-51f4efa2b71a0305", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/simpo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/simpo/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-1fcd88d29ee141f6", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/accelerate/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/accelerate/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-085f878261792d3c", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/accelerate/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/accelerate/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-994da21111a9ba91", "name": "Agent instruction contains unpinned remote install: optional-skills/mlops/research/dspy/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/mlops/research/dspy/SKILL.md"}, "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-fe8de434a826467b", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/lambda-labs/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/lambda-labs/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-70f42e5cdd1d83a7", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/huggingface-tokenizers/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/huggingface-tokenizers/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bb8198e3021a8b9a", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/whisper/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/whisper/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-d13bc042c4fc62b4", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/llava/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/llava/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-7d4f393f16f0bd3e", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/clip/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/clip/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-417cdc292f2270be", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/clip/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/clip/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-9f6a66b54011b42b", "name": "Agent instruction contains unpinned remote install: optional-skills/mlops/clip/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/mlops/clip/SKILL.md"}, "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-e236f9e13003edda", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/pytorch-lightning/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/pytorch-lightning/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2473d68d2b96b65f", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/flash-attention/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/flash-attention/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f45b804a88e08d58", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/nemo-curator/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/nemo-curator/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-90ab363f9074b6d8", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/peft/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/peft/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fec55a4470140ec8", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/torchtitan/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/torchtitan/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-daee09832da6c836", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/torchtitan/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/torchtitan/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-6d857af7443b497d", "name": "Agent instruction contains unpinned remote install: optional-skills/mlops/torchtitan/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/mlops/torchtitan/SKILL.md"}, "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-b35410e35a9be800", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/obliteratus/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/obliteratus/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7de788c76f4a5f4d", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/training/axolotl/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/training/axolotl/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-640c4a71a892d2f3", "name": "Agent authority lacks a verifier contract: optional-skills/mlops/training/unsloth/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/training/unsloth/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-ae71fab000b3b0fb", "name": "Agent instruction/config may expose a secret: optional-skills/mlops/training/trl-fine-tuning/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/training/trl-fine-tuning/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-546ddfd8144b4d65", "name": "Agent authority lacks a verifier contract: optional-skills/mcp/mcporter/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/mcp/mcporter/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-124e2d5c287def3d", "name": "Agent instruction contains unpinned remote install: optional-skills/mcp/mcporter/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/mcp/mcporter/SKILL.md"}, "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-a57f15196a2ee6c0", "name": "Agent instruction contains unpinned remote install: optional-skills/autonomous-ai-agents/grok/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/autonomous-ai-agents/grok/SKILL.md"}, "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-0a4ab4408f74b92a", "name": "Agent instruction/config may expose a secret: optional-skills/autonomous-ai-agents/blackbox/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-92d6300cabbfaa2a", "name": "Agent instruction contains unpinned remote install: optional-skills/autonomous-ai-agents/blackbox/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "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-5c196c0ee8c9fed9", "name": "Agent authority lacks a verifier contract: optional-skills/research/bioinformatics/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/research/bioinformatics/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-72698e2b009a81b8", "name": "Agent instruction contains unpinned remote install: optional-skills/research/qmd/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/research/qmd/SKILL.md"}, "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-00513dad330d6813", "name": "Agent authority lacks a verifier contract: optional-skills/research/domain-intel/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/research/domain-intel/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-56f762356df0eec9", "name": "Agent instruction contains unpinned remote install: optional-skills/research/parallel-cli/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/research/parallel-cli/SKILL.md"}, "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-a89ad81b613d3041", "name": "Agent authority lacks a verifier contract: optional-skills/research/scrapling/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/research/scrapling/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-cb5424cf69cefa94", "name": "Agent authority lacks a verifier contract: optional-skills/migration/openclaw-migration/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/migration/openclaw-migration/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-a0b2cb6469b9c248", "name": "Agent instruction/config may expose a secret: optional-skills/finance/stocks/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/finance/stocks/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9ba06bfdde389960", "name": "Agent instruction/config may expose a secret: optional-skills/software-development/rest-graphql-debug/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/software-development/rest-graphql-debug/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c45620bc0a2996d1", "name": "Agent instruction/config may expose a secret: optional-skills/productivity/shopify/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/productivity/shopify/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-764bb33dea63445f", "name": "Agent authority lacks a verifier contract: optional-skills/devops/watchers/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: optional-skills/devops/watchers/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-f613da823a6705e9", "name": "Agent instruction contains unpinned remote install: optional-skills/devops/cli/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: optional-skills/devops/cli/SKILL.md"}, "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-9abafcfc7c21ceff", "name": "Agent instruction/config may expose a secret: optional-skills/devops/docker-management/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: optional-skills/devops/docker-management/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e0314a37d9e3d2f", "name": "Agent instruction contains unpinned remote install: skills/creative/design-md/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/creative/design-md/SKILL.md"}, "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-56392cf727558d15", "name": "Agent authority lacks a verifier contract: skills/creative/ascii-art/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/creative/ascii-art/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-8eac50dc813ca61e", "name": "Agent authority lacks a verifier contract: skills/creative/excalidraw/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/creative/excalidraw/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-bdb991ca4b25a655", "name": "Agent instruction/config may expose a secret: skills/creative/comfyui/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/creative/comfyui/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f4f9a016d3d8b6e4", "name": "Agent authority lacks a verifier contract: skills/creative/architecture-diagram/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/creative/architecture-diagram/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-2b09b1af5660e412", "name": "Agent authority lacks a verifier contract: skills/github/github-repo-management/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/github/github-repo-management/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-ee48fabbf1313243", "name": "Agent authority lacks a verifier contract: skills/github/github-issues/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/github/github-issues/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-ebc2a7f7669ba175", "name": "Agent authority lacks a verifier contract: skills/media/songsee/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/media/songsee/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-8f0bb08c099491a4", "name": "Agent instruction contains unpinned remote install: skills/mlops/huggingface-hub/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/mlops/huggingface-hub/SKILL.md"}, "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-13a78a9c75f83a98", "name": "Agent authority lacks a verifier contract: skills/mlops/models/segment-anything/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/mlops/models/segment-anything/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-c1b2532504ce9b17", "name": "Agent instruction contains unpinned remote install: skills/mlops/models/segment-anything/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/mlops/models/segment-anything/SKILL.md"}, "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-361f9c838dd5fe21", "name": "Agent authority lacks a verifier contract: skills/mlops/models/audiocraft/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/mlops/models/audiocraft/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-2e0e7c65b1ad443a", "name": "Agent instruction contains unpinned remote install: skills/mlops/models/audiocraft/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/mlops/models/audiocraft/SKILL.md"}, "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-ecdc062bf8d116f3", "name": "Agent instruction/config may expose a secret: skills/mlops/evaluation/lm-evaluation-harness/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/mlops/evaluation/lm-evaluation-harness/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ab3f1eb9436e85a6", "name": "Agent instruction/config may expose a secret: skills/mlops/inference/vllm/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/mlops/inference/vllm/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15f63233857e2777", "name": "Agent instruction/config may expose a secret: skills/mlops/inference/obliteratus/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/mlops/inference/obliteratus/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c1cc2fb7858fbf32", "name": "Agent instruction contains unpinned remote install: skills/autonomous-ai-agents/codex/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/autonomous-ai-agents/codex/SKILL.md"}, "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-8e86b9c2c43e62b3", "name": "Agent instruction contains unpinned remote install: skills/autonomous-ai-agents/claude-code/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/autonomous-ai-agents/claude-code/SKILL.md"}, "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-284594f26f42ddcb", "name": "Agent instruction contains unpinned remote install: skills/autonomous-ai-agents/clawksis-agent/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/autonomous-ai-agents/clawksis-agent/SKILL.md"}, "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-e3764eca0a698298", "name": "Agent instruction contains unpinned remote install: skills/research/llm-wiki/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/research/llm-wiki/SKILL.md"}, "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-86553f8acadefd05", "name": "Agent authority lacks a verifier contract: skills/research/blogwatcher/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/research/blogwatcher/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-93d7d151fc4abd1e", "name": "Agent authority lacks a verifier contract: skills/research/arxiv/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/research/arxiv/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-a9dd77e6e045f6c3", "name": "Agent instruction contains unpinned remote install: skills/research/research-paper-writing/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/research/research-paper-writing/SKILL.md"}, "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-d532fa995453e5d5", "name": "Agent instruction/config may expose a secret: skills/productivity/notion/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/productivity/notion/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3267dd0566abdaac", "name": "Agent instruction contains unpinned remote install: skills/productivity/notion/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/productivity/notion/SKILL.md"}, "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-1501be3f57a0c86c", "name": "Agent instruction/config may expose a secret: skills/productivity/airtable/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/productivity/airtable/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2faeccf72952eccc", "name": "Agent authority lacks a verifier contract: skills/productivity/airtable/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/productivity/airtable/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-d6f4221a576af46e", "name": "Agent authority lacks a verifier contract: skills/productivity/ocr-and-documents/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/productivity/ocr-and-documents/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-13001015ad018bec", "name": "Agent instruction contains unpinned remote install: skills/productivity/powerpoint/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/productivity/powerpoint/SKILL.md"}, "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-8bf4bbfc1bd82edc", "name": "Agent authority lacks a verifier contract: skills/devops/cloudflare-tunnel/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/devops/cloudflare-tunnel/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-10bcd2782a183bff", "name": "Agent authority lacks a verifier contract: skills/note-taking/obsidian/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/note-taking/obsidian/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-e8421f8c39089ddd", "name": "Agent authority lacks a verifier contract: skills/smart-home/openhue/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/smart-home/openhue/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-25fc57a109e0f703", "name": "Agent instruction contains unpinned remote install: skills/social-media/xurl/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/social-media/xurl/SKILL.md"}, "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-9ede1f5e7ec385ac", "name": "Agent authority lacks a verifier contract: skills/apple/apple-notes/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/apple/apple-notes/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-59f251ccce9d197b", "name": "Agent authority lacks a verifier contract: skills/apple/findmy/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/apple/findmy/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-b3e551693e751d0f", "name": "Agent instruction contains unpinned remote install: skills/apple/macos-computer-use/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/apple/macos-computer-use/SKILL.md"}, "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-fe9a6c9b7b62d8d5", "name": "Legacy-named symbol `cfg_backup` in clawk_logging.py:251", "shortDescription": {"text": "Legacy-named symbol `cfg_backup` in clawk_logging.py:251"}, "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-e35761f698859e3a", "name": "Legacy-named symbol `children_copy` in run_agent.py:2371", "shortDescription": {"text": "Legacy-named symbol `children_copy` in run_agent.py:2371"}, "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-8093aed2d0ea2cd4", "name": "Commented-code block (6 lines) in run_agent.py:49", "shortDescription": {"text": "Commented-code block (6 lines) in run_agent.py: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-15c685a29740152f", "name": "Commented-code block (5 lines) in toolsets.py:581", "shortDescription": {"text": "Commented-code block (5 lines) in toolsets.py:581"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4586eb38f4e3def1", "name": "Commented-code block (5 lines) in clawk_constants.py:91", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_constants.py:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa75033da78393c8", "name": "Legacy-named symbol `ghost_session_prune_v1` in cli.py:2062", "shortDescription": {"text": "Legacy-named symbol `ghost_session_prune_v1` in cli.py:2062"}, "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-f5971e527082b4cc", "name": "Commented-code block (8 lines) in cli.py:23573", "shortDescription": {"text": "Commented-code block (8 lines) in cli.py:23573"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd15e37a6aea05b7", "name": "Commented-code block (8 lines) in batch_runner.py:921", "shortDescription": {"text": "Commented-code block (8 lines) in batch_runner.py:921"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3620a8fd4e27153d", "name": "Commented-code block (6 lines) in tests/conftest.py:266", "shortDescription": {"text": "Commented-code block (6 lines) in tests/conftest.py:266"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-20dea105d502de48", "name": "Legacy-named symbol `get_legacy` in tests/test_tui_gateway_server.py:2147", "shortDescription": {"text": "Legacy-named symbol `get_legacy` in tests/test_tui_gateway_server.py:2147"}, "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-f670053e71ee82ab", "name": "Legacy-named symbol `test_migration_from_v2` in tests/test_clawk_state.py:3502", "shortDescription": {"text": "Legacy-named symbol `test_migration_from_v2` in tests/test_clawk_state.py:3502"}, "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-e8de780497cdf196", "name": "Commented-code block (5 lines) in tests/test_install_sh_setup_wizard_tty_probe.py:29", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_install_sh_setup_wizard_tty_probe.py:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b4d2ed9f6a4cf42", "name": "Legacy-named symbol `test_returns_copy` in tests/test_toolset_distributions.py:49", "shortDescription": {"text": "Legacy-named symbol `test_returns_copy` in tests/test_toolset_distributions.py:49"}, "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-86d3980a9109cdf0", "name": "Commented-code block (6 lines) in tests/test_tui_gateway_ws.py:12", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_tui_gateway_ws.py: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-d8e7e0bfb4672697", "name": "Commented-code block (5 lines) in tests/test_packaging_metadata.py:7", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_packaging_metadata.py: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-7b19d9294e33b123", "name": "Legacy-named symbol `test_custom_max_size_and_backup` in tests/test_clawk_logging.py:134", "shortDescription": {"text": "Legacy-named symbol `test_custom_max_size_and_backup` in tests/test_clawk_logging.py: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-0cdb5e2ee81d1db0", "name": "Commented-code block (9 lines) in tests/test_yuanbao_pipeline.py:1001", "shortDescription": {"text": "Commented-code block (9 lines) in tests/test_yuanbao_pipeline.py:1001"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-25a93a6b9691e4ab", "name": "Commented-code block (6 lines) in tests/docker/test_dashboard.py:150", "shortDescription": {"text": "Commented-code block (6 lines) in tests/docker/test_dashboard.py:150"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb68a74cc1c200cc", "name": "Commented-code block (5 lines) in tests/docker/test_container_restart.py:115", "shortDescription": {"text": "Commented-code block (5 lines) in tests/docker/test_container_restart.py:115"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-018d60b018a33064", "name": "Commented-code block (5 lines) in tests/cli/test_cli_markdown_rendering.py:129", "shortDescription": {"text": "Commented-code block (5 lines) in tests/cli/test_cli_markdown_rendering.py: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-c08bd5732f8e0e08", "name": "Legacy-named symbol `config_copy` in tests/cli/test_cli_provider_resolution.py:351", "shortDescription": {"text": "Legacy-named symbol `config_copy` in tests/cli/test_cli_provider_resolution.py:351"}, "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-86c7839dcace2d54", "name": "Legacy-named symbol `mock_copy` in tests/cli/test_cli_copy_command.py:40", "shortDescription": {"text": "Legacy-named symbol `mock_copy` in tests/cli/test_cli_copy_command.py:40"}, "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-b8615fb16e1a127f", "name": "Legacy-named symbol `s_old` in tests/agent/test_insights.py:268", "shortDescription": {"text": "Legacy-named symbol `s_old` in tests/agent/test_insights.py:268"}, "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-55d41b2249aed3f4", "name": "Commented-code block (5 lines) in tests/agent/test_context_compressor.py:1495", "shortDescription": {"text": "Commented-code block (5 lines) in tests/agent/test_context_compressor.py:1495"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04d5547c4b4e6a55", "name": "Legacy-named symbol `test_returns_deep_copy` in tests/agent/test_prompt_caching.py:70", "shortDescription": {"text": "Legacy-named symbol `test_returns_deep_copy` in tests/agent/test_prompt_caching.py:70"}, "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-8fce79743864cd47", "name": "Commented-code block (5 lines) in tests/agent/test_error_classifier.py:350", "shortDescription": {"text": "Commented-code block (5 lines) in tests/agent/test_error_classifier.py:350"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f85ceab4319509d3", "name": "Commented-code block (5 lines) in tests/agent/test_vision_routing_31179.py:274", "shortDescription": {"text": "Commented-code block (5 lines) in tests/agent/test_vision_routing_31179.py: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-f04af91d1f44571b", "name": "Legacy-named symbol `test_returned_list_is_a_copy` in tests/agent/test_external_skills_dirs_cache.py:154", "shortDescription": {"text": "Legacy-named symbol `test_returned_list_is_a_copy` in tests/agent/test_external_skills_dirs_cache.py:154"}, "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-6815cc556822973c", "name": "Legacy-named symbol `curator_backup` in tests/agent/test_curator_backup.py:1", "shortDescription": {"text": "Legacy-named symbol `curator_backup` in tests/agent/test_curator_backup.py:1"}, "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-65b108484d156d05", "name": "Commented-code block (5 lines) in tests/agent/test_memory_session_switch.py:241", "shortDescription": {"text": "Commented-code block (5 lines) in tests/agent/test_memory_session_switch.py:241"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a9dbda52d699913d", "name": "Legacy-named symbol `super_old` in tests/agent/test_curator.py:185", "shortDescription": {"text": "Legacy-named symbol `super_old` in tests/agent/test_curator.py:185"}, "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-b91f106dddb6f0ba", "name": "Commented-code block (5 lines) in tests/agent/test_curator.py:733", "shortDescription": {"text": "Commented-code block (5 lines) in tests/agent/test_curator.py:733"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44edd4860c7f812e", "name": "Commented-code block (6 lines) in tests/agent/test_bedrock_integration.py:366", "shortDescription": {"text": "Commented-code block (6 lines) in tests/agent/test_bedrock_integration.py:366"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1e3169974e1a60e7", "name": "Commented-code block (6 lines) in tests/agent/test_minimax_provider.py:64", "shortDescription": {"text": "Commented-code block (6 lines) in tests/agent/test_minimax_provider.py:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05161ffbe1efb38b", "name": "Legacy-named symbol `test_custom_base_url_strips_trailing_v1` in tests/agent/test_anthropic_adapter.py:116", "shortDescription": {"text": "Legacy-named symbol `test_custom_base_url_strips_trailing_v1` in tests/agent/test_anthropic_adapter.py:116"}, "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-091e4767e3d33da9", "name": "Commented-code block (6 lines) in tests/agent/test_anthropic_adapter.py:45", "shortDescription": {"text": "Commented-code block (6 lines) in tests/agent/test_anthropic_adapter.py:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-829a9d5d7d8d7b9e", "name": "Commented-code block (5 lines) in tests/agent/transports/test_transport.py:132", "shortDescription": {"text": "Commented-code block (5 lines) in tests/agent/transports/test_transport.py:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06e51df524488785", "name": "Commented-code block (6 lines) in tests/agent/transports/test_codex_transport.py:239", "shortDescription": {"text": "Commented-code block (6 lines) in tests/agent/transports/test_codex_transport.py:239"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-25bfd8b14e93f415", "name": "Commented-code block (6 lines) in tests/acp/test_server.py:1674", "shortDescription": {"text": "Commented-code block (6 lines) in tests/acp/test_server.py:1674"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3517800a2662e8a6", "name": "Legacy-named symbol `test_extra_body_override_legacy` in tests/providers/test_profile_wiring.py:390", "shortDescription": {"text": "Legacy-named symbol `test_extra_body_override_legacy` in tests/providers/test_profile_wiring.py:390"}, "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-8ae69075fb64a5dd", "name": "Legacy-named symbol `test_no_assistant_returns_copy` in tests/run_agent/test_run_agent.py:966", "shortDescription": {"text": "Legacy-named symbol `test_no_assistant_returns_copy` in tests/run_agent/test_run_agent.py:966"}, "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-7714bf1e2db5dafe", "name": "Commented-code block (7 lines) in tests/run_agent/conftest.py:35", "shortDescription": {"text": "Commented-code block (7 lines) in tests/run_agent/conftest.py:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-54267b31582a8004", "name": "Commented-code block (5 lines) in tests/run_agent/test_callable_api_key.py:223", "shortDescription": {"text": "Commented-code block (5 lines) in tests/run_agent/test_callable_api_key.py:223"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-531d029b7fb73723", "name": "Commented-code block (5 lines) in tests/run_agent/test_dict_tool_call_args.py:78", "shortDescription": {"text": "Commented-code block (5 lines) in tests/run_agent/test_dict_tool_call_args.py:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d348eef2438232b", "name": "Commented-code block (7 lines) in tests/run_agent/test_413_compression.py:626", "shortDescription": {"text": "Commented-code block (7 lines) in tests/run_agent/test_413_compression.py:626"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-391668f91bbdd36f", "name": "Legacy-named symbol `call_old` in tests/run_agent/test_background_review_summary.py:35", "shortDescription": {"text": "Legacy-named symbol `call_old` in tests/run_agent/test_background_review_summary.py:35"}, "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-8379ba2a2cec2794", "name": "Legacy-named symbol `rs_legacy` in tests/run_agent/test_codex_xai_oauth_recovery.py:1431", "shortDescription": {"text": "Legacy-named symbol `rs_legacy` in tests/run_agent/test_codex_xai_oauth_recovery.py:1431"}, "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-4839225f738783f4", "name": "Legacy-named symbol `pubsub_v1` in tests/clawk_cli/test_startup_plugin_gating.py:11", "shortDescription": {"text": "Legacy-named symbol `pubsub_v1` in tests/clawk_cli/test_startup_plugin_gating.py:11"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb87e99599d674bc", "name": "Commented-code block (7 lines) in tests/clawk_cli/conftest.py:44", "shortDescription": {"text": "Commented-code block (7 lines) in tests/clawk_cli/conftest.py:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a23df030741a3475", "name": "Commented-code block (7 lines) in tests/clawk_cli/test_gateway_wsl.py:170", "shortDescription": {"text": "Commented-code block (7 lines) in tests/clawk_cli/test_gateway_wsl.py:170"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f43be020de23308", "name": "Legacy-named symbol `manual_at_old` in tests/clawk_cli/test_auth_xai_oauth_provider.py:2618", "shortDescription": {"text": "Legacy-named symbol `manual_at_old` in tests/clawk_cli/test_auth_xai_oauth_provider.py:2618"}, "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-8eb0e89cc0c73bf0", "name": "Legacy-named symbol `cmd_backup` in tests/clawk_cli/test_subcommands_batch.py:67", "shortDescription": {"text": "Legacy-named symbol `cmd_backup` in tests/clawk_cli/test_subcommands_batch.py:67"}, "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-64c7973b4248a696", "name": "Commented-code block (5 lines) in tests/clawk_cli/test_pty_bridge.py:125", "shortDescription": {"text": "Commented-code block (5 lines) in tests/clawk_cli/test_pty_bridge.py:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1e09212c95faad5e", "name": "Legacy-named symbol `test_v1_numeric_limit_when_no_v2` in tests/clawk_cli/test_tui_heap_sizing.py:52", "shortDescription": {"text": "Legacy-named symbol `test_v1_numeric_limit_when_no_v2` in tests/clawk_cli/test_tui_heap_sizing.py:52"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d08044592fc6c41c", "name": "Commented-code block (7 lines) in tests/clawk_cli/test_dashboard_auth_middleware.py:382", "shortDescription": {"text": "Commented-code block (7 lines) in tests/clawk_cli/test_dashboard_auth_middleware.py:382"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6d442e9af73756ae", "name": "Legacy-named symbol `user_legacy` in tests/clawk_cli/test_gateway_service.py:3221", "shortDescription": {"text": "Legacy-named symbol `user_legacy` in tests/clawk_cli/test_gateway_service.py:3221"}, "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-dd564da5d9e2d5ed", "name": "Commented-code block (5 lines) in tests/clawk_cli/test_cmd_update.py:395", "shortDescription": {"text": "Commented-code block (5 lines) in tests/clawk_cli/test_cmd_update.py:395"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eec3e95c8ff424fc", "name": "Legacy-named symbol `test_profiles_nav_label_uses_short_copy` in tests/clawk_cli/test_dashboard_profiles_nav_label.py:6", "shortDescription": {"text": "Legacy-named symbol `test_profiles_nav_label_uses_short_copy` in tests/clawk_cli/test_dashboard_profiles_nav_label.py: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-45e5d39a96b84d26", "name": "Commented-code block (10 lines) in tests/clawk_cli/test_web_server_pty_import.py:71", "shortDescription": {"text": "Commented-code block (10 lines) in tests/clawk_cli/test_web_server_pty_import.py:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17e88e2f3ed32032", "name": "Legacy-named symbol `test_switch_to_minimax_m27_strips_v1` in tests/clawk_cli/test_model_switch_opencode_anthropic.py:80", "shortDescription": {"text": "Legacy-named symbol `test_switch_to_minimax_m27_strips_v1` in tests/clawk_cli/test_model_switch_opencode_anthropic.py:80"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-67831c867fa5bb2f", "name": "Legacy-named symbol `test_cli_daemon_help_marks_deprecated` in tests/clawk_cli/test_kanban_core_functionality.py:5579", "shortDescription": {"text": "Legacy-named symbol `test_cli_daemon_help_marks_deprecated` in tests/clawk_cli/test_kanban_core_functionality.py:5579"}, "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-615213d5887be30d", "name": "Legacy-named symbol `no_backup` in tests/clawk_cli/test_update_concurrent_quarantine.py:566", "shortDescription": {"text": "Legacy-named symbol `no_backup` in tests/clawk_cli/test_update_concurrent_quarantine.py:566"}, "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-6b7f8ae46bb37a0b", "name": "Legacy-named symbol `test_repeated_corrupt_open_reuses_single_backup` in tests/clawk_cli/test_kanban_db.py:5613", "shortDescription": {"text": "Legacy-named symbol `test_repeated_corrupt_open_reuses_single_backup` in tests/clawk_cli/test_kanban_db.py:5613"}, "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-97f77a080d65fcd4", "name": "Legacy-named symbol `test_env_override_wins_over_legacy` in tests/clawk_cli/test_api_key_providers.py:1495", "shortDescription": {"text": "Legacy-named symbol `test_env_override_wins_over_legacy` in tests/clawk_cli/test_api_key_providers.py:1495"}, "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-156e5dd87ab76145", "name": "Legacy-named symbol `assistant_v2` in tests/clawk_cli/test_service_manager.py:49", "shortDescription": {"text": "Legacy-named symbol `assistant_v2` in tests/clawk_cli/test_service_manager.py:49"}, "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-f0649b27a5d67a12", "name": "Legacy-named symbol `run_backup` in tests/clawk_cli/test_backup.py:266", "shortDescription": {"text": "Legacy-named symbol `run_backup` in tests/clawk_cli/test_backup.py:266"}, "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-70ec4dec9b6d188a", "name": "Commented-code block (8 lines) in tests/clawk_cli/test_suppress_eio_on_interrupt.py:125", "shortDescription": {"text": "Commented-code block (8 lines) in tests/clawk_cli/test_suppress_eio_on_interrupt.py:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ebe26797197653f", "name": "Commented-code block (5 lines) in tests/clawk_cli/test_auth_commands.py:1815", "shortDescription": {"text": "Commented-code block (5 lines) in tests/clawk_cli/test_auth_commands.py:1815"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-efd141c8b6eb15e2", "name": "Commented-code block (5 lines) in tests/clawk_cli/test_win_pty_bridge.py:157", "shortDescription": {"text": "Commented-code block (5 lines) in tests/clawk_cli/test_win_pty_bridge.py:157"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4dedd85eeabd9c3", "name": "Legacy-named symbol `very_old` in tests/clawk_cli/test_debug.py:1597", "shortDescription": {"text": "Legacy-named symbol `very_old` in tests/clawk_cli/test_debug.py:1597"}, "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-4b454c0827e94344", "name": "Legacy-named symbol `no_backup` in tests/clawk_cli/test_claw.py:713", "shortDescription": {"text": "Legacy-named symbol `no_backup` in tests/clawk_cli/test_claw.py:713"}, "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-7457f87f7d3ec1db", "name": "Commented-code block (5 lines) in tests/cron/test_scheduler.py:1489", "shortDescription": {"text": "Commented-code block (5 lines) in tests/cron/test_scheduler.py:1489"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe9b73836a6c7a88", "name": "Commented-code block (6 lines) in tests/tools/test_browser_ssrf_local.py:113", "shortDescription": {"text": "Commented-code block (6 lines) in tests/tools/test_browser_ssrf_local.py:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d11052cbdd98f898", "name": "Commented-code block (5 lines) in tests/tools/test_mcp_dynamic_discovery.py:95", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tools/test_mcp_dynamic_discovery.py:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5893ce4c66c6799", "name": "Legacy-named symbol `test_plain_text_uses_markdown_v2` in tests/tools/test_send_message_tool.py:1007", "shortDescription": {"text": "Legacy-named symbol `test_plain_text_uses_markdown_v2` in tests/tools/test_send_message_tool.py:1007"}, "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-e4851b67fb04175d", "name": "Commented-code block (5 lines) in tests/tools/test_send_message_tool.py:476", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tools/test_send_message_tool.py:476"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c7c1a960a2a9eb5", "name": "Legacy-named symbol `test_read_returns_copy` in tests/tools/test_todo_tool.py:20", "shortDescription": {"text": "Legacy-named symbol `test_read_returns_copy` in tests/tools/test_todo_tool.py:20"}, "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-da55dbb060cb6d3e", "name": "Legacy-named symbol `_run_in_copy` in tests/tools/test_skill_provenance.py:88", "shortDescription": {"text": "Legacy-named symbol `_run_in_copy` in tests/tools/test_skill_provenance.py:88"}, "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-bca875e2b691a92a", "name": "Legacy-named symbol `scribe_v2` in tests/tools/test_transcription_dotenv_fallback.py:314", "shortDescription": {"text": "Legacy-named symbol `scribe_v2` in tests/tools/test_transcription_dotenv_fallback.py:314"}, "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-4dd6bbc852e7a894", "name": "Legacy-named symbol `_call_tool_unused` in tests/tools/test_mcp_circuit_breaker.py:202", "shortDescription": {"text": "Legacy-named symbol `_call_tool_unused` in tests/tools/test_mcp_circuit_breaker.py:202"}, "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-47e2804d705e3795", "name": "Commented-code block (5 lines) in tests/tools/test_mcp_stability.py:207", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tools/test_mcp_stability.py:207"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fedd8e6b2e30c83f", "name": "Legacy-named symbol `proc_old` in tests/tools/test_process_registry.py:460", "shortDescription": {"text": "Legacy-named symbol `proc_old` in tests/tools/test_process_registry.py:460"}, "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-bd2be9098946f5bc", "name": "Commented-code block (8 lines) in tests/tools/test_process_registry.py:674", "shortDescription": {"text": "Commented-code block (8 lines) in tests/tools/test_process_registry.py:674"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee7aba82f12f6093", "name": "Legacy-named symbol `test_corrupt_owner_pid_falls_back_to_legacy` in tests/tools/test_browser_orphan_reaper.py:359", "shortDescription": {"text": "Legacy-named symbol `test_corrupt_owner_pid_falls_back_to_legacy` in tests/tools/test_browser_orphan_reaper.py:359"}, "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-8e49291216d16cac", "name": "Legacy-named symbol `test_elevenlabs_default_model_multilingual_v2` in tests/tools/test_tts_max_text_length.py:85", "shortDescription": {"text": "Legacy-named symbol `test_elevenlabs_default_model_multilingual_v2` in tests/tools/test_tts_max_text_length.py:85"}, "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-adca6e5a187aac11", "name": "Commented-code block (5 lines) in tests/tools/test_dockerfile_pid1_reaping.py:33", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tools/test_dockerfile_pid1_reaping.py:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-320bf2a5fa62b011", "name": "Legacy-named symbol `drift_backup` in tests/tools/test_memory_tool.py:778", "shortDescription": {"text": "Legacy-named symbol `drift_backup` in tests/tools/test_memory_tool.py:778"}, "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-908c0df9a09255f9", "name": "Legacy-named symbol `t2a_v2` in tests/tools/test_tts_speed.py:179", "shortDescription": {"text": "Legacy-named symbol `t2a_v2` in tests/tools/test_tts_speed.py:179"}, "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-9480ff9f26535b07", "name": "Legacy-named symbol `test_canonical_wins_over_legacy` in tests/tools/test_transcription_command_providers.py:258", "shortDescription": {"text": "Legacy-named symbol `test_canonical_wins_over_legacy` in tests/tools/test_transcription_command_providers.py:258"}, "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-797787fde9812db3", "name": "Commented-code block (5 lines) in tests/tools/test_windows_native_support.py:420", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tools/test_windows_native_support.py:420"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8d9587aaa3583a1f", "name": "Commented-code block (5 lines) in tests/tools/test_terminal_config_env_sync.py:141", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tools/test_terminal_config_env_sync.py:141"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c226ebcbbb53a822", "name": "Legacy-named symbol `test_write_and_read_roundtrip_v2` in tests/tools/test_skills_sync.py:36", "shortDescription": {"text": "Legacy-named symbol `test_write_and_read_roundtrip_v2` in tests/tools/test_skills_sync.py:36"}, "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-fd6a944c7e62db18", "name": "Commented-code block (6 lines) in tests/tools/test_managed_browserbase_and_modal.py:105", "shortDescription": {"text": "Commented-code block (6 lines) in tests/tools/test_managed_browserbase_and_modal.py: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-ef211d37f60645a1", "name": "Legacy-named symbol `clear_legacy` in tests/tools/test_checkpoint_manager.py:38", "shortDescription": {"text": "Legacy-named symbol `clear_legacy` in tests/tools/test_checkpoint_manager.py:38"}, "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-2a804fd9e680b9b8", "name": "Commented-code block (5 lines) in tests/tools/test_file_tools_cwd_resolution.py:57", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tools/test_file_tools_cwd_resolution.py:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a4c61d57a3fec0f2", "name": "Legacy-named symbol `env_backup` in tests/tools/test_code_execution.py:1159", "shortDescription": {"text": "Legacy-named symbol `env_backup` in tests/tools/test_code_execution.py:1159"}, "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-e44ca7751c37953b", "name": "Legacy-named symbol `expected_legacy` in tests/tools/test_delegate.py:2253", "shortDescription": {"text": "Legacy-named symbol `expected_legacy` in tests/tools/test_delegate.py:2253"}, "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-ef8576c83f8df129", "name": "Commented-code block (5 lines) in tests/tools/test_delegate.py:2076", "shortDescription": {"text": "Commented-code block (5 lines) in tests/tools/test_delegate.py:2076"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c5a96eebc0c095ec", "name": "Legacy-named symbol `scribe_v2` in tests/tools/test_transcription_tools.py:2194", "shortDescription": {"text": "Legacy-named symbol `scribe_v2` in tests/tools/test_transcription_tools.py:2194"}, "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-ccd05b934db8b9e2", "name": "Legacy-named symbol `clawhub_catalog_v1` in tests/tools/test_search_hidden_dirs.py:4", "shortDescription": {"text": "Legacy-named symbol `clawhub_catalog_v1` in tests/tools/test_search_hidden_dirs.py:4"}, "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-b4fb3b3f5e05b856", "name": "Legacy-named symbol `mcp_srv_old` in tests/tools/test_mcp_tool.py:1188", "shortDescription": {"text": "Legacy-named symbol `mcp_srv_old` in tests/tools/test_mcp_tool.py:1188"}, "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-3d17ed8ea923301e", "name": "Commented-code block (5 lines) in tests/gateway/test_slash_access_dispatch.py:464", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_slash_access_dispatch.py:464"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f6bcbeb595f21135", "name": "Commented-code block (5 lines) in tests/gateway/test_update_command.py:85", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_update_command.py:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8f04eb7dd0eb1aa", "name": "Legacy-named symbol `test_load_prefill_messages_prefers_top_level_over_legacy` in tests/gateway/test_runtime_config_env_", "shortDescription": {"text": "Legacy-named symbol `test_load_prefill_messages_prefers_top_level_over_legacy` in tests/gateway/test_runtime_config_env_expansion.py:62"}, "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-2fa28d8c5b8d2c91", "name": "Commented-code block (5 lines) in tests/gateway/test_telegram_webhook_secret.py:87", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_telegram_webhook_secret.py:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-215eda0f1768ec56", "name": "Legacy-named symbol `test_get_slack_action_handlers_returns_copy` in tests/gateway/test_slack_plugin_action_handlers.py:", "shortDescription": {"text": "Legacy-named symbol `test_get_slack_action_handlers_returns_copy` in tests/gateway/test_slack_plugin_action_handlers.py:156"}, "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-35c055f26aa41c60", "name": "Legacy-named symbol `MyLegacy` in tests/gateway/test_platform_registry.py:1108", "shortDescription": {"text": "Legacy-named symbol `MyLegacy` in tests/gateway/test_platform_registry.py:1108"}, "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-785e94bb4b6260dd", "name": "Commented-code block (10 lines) in tests/gateway/test_whatsapp_cloud.py:1559", "shortDescription": {"text": "Commented-code block (10 lines) in tests/gateway/test_whatsapp_cloud.py:1559"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cc773f77fd50a1ff", "name": "Commented-code block (16 lines) in tests/gateway/test_voice_command.py:316", "shortDescription": {"text": "Commented-code block (16 lines) in tests/gateway/test_voice_command.py:316"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65f040be825ffb0b", "name": "Commented-code block (6 lines) in tests/gateway/test_shutdown_memory_provider_messages.py:44", "shortDescription": {"text": "Commented-code block (6 lines) in tests/gateway/test_shutdown_memory_provider_messages.py:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4a077f21bc547d64", "name": "Legacy-named symbol `register_p2_im_message_message_read_v1` in tests/gateway/test_feishu.py:42", "shortDescription": {"text": "Legacy-named symbol `register_p2_im_message_message_read_v1` in tests/gateway/test_feishu.py:42"}, "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-9c74f3b7e521dde6", "name": "Legacy-named symbol `api_v2` in tests/gateway/test_bluebubbles.py:172", "shortDescription": {"text": "Legacy-named symbol `api_v2` in tests/gateway/test_bluebubbles.py:172"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a1b79f3bcd8bedc", "name": "Commented-code block (5 lines) in tests/gateway/test_message_deduplicator.py:97", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_message_deduplicator.py:97"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-33eb679819813a6d", "name": "Legacy-named symbol `meeting_invited_v1` in tests/gateway/test_feishu_meeting_invite.py:1", "shortDescription": {"text": "Legacy-named symbol `meeting_invited_v1` in tests/gateway/test_feishu_meeting_invite.py:1"}, "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-ac65e8d2b3b5d50b", "name": "Commented-code block (5 lines) in tests/gateway/test_telegram_progress_edit_transient.py:130", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_telegram_progress_edit_transient.py:130"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-829aa80f9e734e9c", "name": "Commented-code block (6 lines) in tests/gateway/test_stream_consumer.py:814", "shortDescription": {"text": "Commented-code block (6 lines) in tests/gateway/test_stream_consumer.py:814"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-018422dc4063708b", "name": "Legacy-named symbol `call_old` in tests/gateway/test_api_server.py:2662", "shortDescription": {"text": "Legacy-named symbol `call_old` in tests/gateway/test_api_server.py:2662"}, "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-b36d258cb78a9c72", "name": "Legacy-named symbol `receive_v1` in tests/gateway/test_feishu_bot_admission.py:740", "shortDescription": {"text": "Legacy-named symbol `receive_v1` in tests/gateway/test_feishu_bot_admission.py:740"}, "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-3dbecbf310809b4a", "name": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_send_multiple_images.py:8", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_send_multiple_images.py:8"}, "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-83dbf961442ce253", "name": "Legacy-named symbol `test_text_as_dict_legacy` in tests/gateway/test_dingtalk.py:743", "shortDescription": {"text": "Legacy-named symbol `test_text_as_dict_legacy` in tests/gateway/test_dingtalk.py:743"}, "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-508bd70c8ad72d17", "name": "Legacy-named symbol `_write_legacy` in tests/gateway/test_pairing.py:186", "shortDescription": {"text": "Legacy-named symbol `_write_legacy` in tests/gateway/test_pairing.py:186"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7727d6d690d80c7b", "name": "Legacy-named symbol `src_old` in tests/gateway/test_telegram_topic_mode.py:1841", "shortDescription": {"text": "Legacy-named symbol `src_old` in tests/gateway/test_telegram_topic_mode.py:1841"}, "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-80640d6bd811bd9d", "name": "Legacy-named symbol `sess_old` in tests/gateway/test_qqbot.py:3137", "shortDescription": {"text": "Legacy-named symbol `sess_old` in tests/gateway/test_qqbot.py:3137"}, "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-8216ce9a19ac4d3a", "name": "Legacy-named symbol `test_load_busy_text_mode_follows_input_mode_and_honors_legacy` in tests/gateway/test_restart_drain.", "shortDescription": {"text": "Legacy-named symbol `test_load_busy_text_mode_follows_input_mode_and_honors_legacy` in tests/gateway/test_restart_drain.py:119"}, "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-537b08d9bf1fdc0b", "name": "Commented-code block (6 lines) in tests/gateway/test_restart_drain.py:38", "shortDescription": {"text": "Commented-code block (6 lines) in tests/gateway/test_restart_drain.py:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b870bbd7186c2993", "name": "Legacy-named symbol `sig_old` in tests/gateway/test_agent_cache.py:1033", "shortDescription": {"text": "Legacy-named symbol `sig_old` in tests/gateway/test_agent_cache.py:1033"}, "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-4b8951777c91e537", "name": "Legacy-named symbol `test_permanent_rich_error_falls_back_to_legacy` in tests/gateway/test_telegram_rich_messages.py:264", "shortDescription": {"text": "Legacy-named symbol `test_permanent_rich_error_falls_back_to_legacy` in tests/gateway/test_telegram_rich_messages.py:264"}, "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-45aeb3191c3011a1", "name": "Legacy-named symbol `sess_old` in tests/gateway/test_mirror.py:48", "shortDescription": {"text": "Legacy-named symbol `sess_old` in tests/gateway/test_mirror.py:48"}, "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-c5f069ae63a90092", "name": "Legacy-named symbol `snapshot_copy` in tests/gateway/test_send_voice_reply_notify.py:105", "shortDescription": {"text": "Legacy-named symbol `snapshot_copy` in tests/gateway/test_send_voice_reply_notify.py:105"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f5cb8a8f6a3e0b7", "name": "Commented-code block (6 lines) in tests/gateway/test_queue_consumption.py:285", "shortDescription": {"text": "Commented-code block (6 lines) in tests/gateway/test_queue_consumption.py:285"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-afe1c252f01b0c79", "name": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_slack.py:902", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_slack.py:902"}, "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-3f613bbc9193c6ac", "name": "Legacy-named symbol `test_validate_svix_signature_multiple_entries_accepts_matching_v1` in tests/gateway/test_webhook_ad", "shortDescription": {"text": "Legacy-named symbol `test_validate_svix_signature_multiple_entries_accepts_matching_v1` in tests/gateway/test_webhook_adapter.py:238"}, "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-8b5340010807af00", "name": "Commented-code block (5 lines) in tests/gateway/test_webhook_adapter.py:164", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_webhook_adapter.py:164"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35e31fd4936afb2b", "name": "Commented-code block (6 lines) in tests/gateway/test_ephemeral_reply.py:336", "shortDescription": {"text": "Commented-code block (6 lines) in tests/gateway/test_ephemeral_reply.py:336"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-488d63d7769135fb", "name": "Legacy-named symbol `test_new_platforms_takes_precedence_over_legacy` in tests/gateway/test_display_config.py:112", "shortDescription": {"text": "Legacy-named symbol `test_new_platforms_takes_precedence_over_legacy` in tests/gateway/test_display_config.py:112"}, "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-1c7fb6026573f2cf", "name": "Commented-code block (7 lines) in tests/gateway/test_config_driven_access_policy.py:323", "shortDescription": {"text": "Commented-code block (7 lines) in tests/gateway/test_config_driven_access_policy.py:323"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c20703540d4bea1", "name": "Legacy-named symbol `another_old` in tests/gateway/test_voice_mode_platform_isolation.py:188", "shortDescription": {"text": "Legacy-named symbol `another_old` in tests/gateway/test_voice_mode_platform_isolation.py:188"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3336ecad9e52dd05", "name": "Legacy-named symbol `sess_v1` in tests/gateway/test_resume_command.py:219", "shortDescription": {"text": "Legacy-named symbol `sess_v1` in tests/gateway/test_resume_command.py:219"}, "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-18119d3aa6935223", "name": "Commented-code block (5 lines) in tests/gateway/test_webhook_signature_rate_limit.py:112", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_webhook_signature_rate_limit.py:112"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-efcc72967777ab18", "name": "Commented-code block (9 lines) in tests/gateway/test_compression_concurrent_sessions.py:149", "shortDescription": {"text": "Commented-code block (9 lines) in tests/gateway/test_compression_concurrent_sessions.py:149"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cadcb962e49ee95f", "name": "Commented-code block (5 lines) in tests/gateway/test_platform_reconnect_fd_leak.py:183", "shortDescription": {"text": "Commented-code block (5 lines) in tests/gateway/test_platform_reconnect_fd_leak.py:183"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6eb9dea238d9be01", "name": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_send_image_file.py:467", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_send_image_file.py:467"}, "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-7462e0e477c48202", "name": "Legacy-named symbol `pubsub_v1` in tests/gateway/test_google_chat.py:81", "shortDescription": {"text": "Legacy-named symbol `pubsub_v1` in tests/gateway/test_google_chat.py:81"}, "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-13b563e58439df3e", "name": "Legacy-named symbol `test_migrator_can_overwrite_conflicting_imported_skill_with_backup` in tests/skills/test_openclaw_m", "shortDescription": {"text": "Legacy-named symbol `test_migrator_can_overwrite_conflicting_imported_skill_with_backup` in tests/skills/test_openclaw_migration.py:655"}, "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-759bc8850864cec2", "name": "Commented-code block (9 lines) in tests/plugins/test_nemo_relay_plugin.py:980", "shortDescription": {"text": "Commented-code block (9 lines) in tests/plugins/test_nemo_relay_plugin.py:980"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1506c255074f8fa2", "name": "Commented-code block (6 lines) in tests/plugins/model_providers/test_minimax_profile.py:60", "shortDescription": {"text": "Commented-code block (6 lines) in tests/plugins/model_providers/test_minimax_profile.py:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-003c81c9417d0908", "name": "Commented-code block (5 lines) in tests/plugins/tts/check_parity_vs_main.py:68", "shortDescription": {"text": "Commented-code block (5 lines) in tests/plugins/tts/check_parity_vs_main.py:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65bd216010c623ee", "name": "Legacy-named symbol `test_default_model_matches_legacy` in tests/plugins/image_gen/test_fal_provider.py:36", "shortDescription": {"text": "Legacy-named symbol `test_default_model_matches_legacy` in tests/plugins/image_gen/test_fal_provider.py:36"}, "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-d3e31ff0e11a0125", "name": "Commented-code block (5 lines) in tests/plugins/image_gen/check_parity_vs_main.py:40", "shortDescription": {"text": "Commented-code block (5 lines) in tests/plugins/image_gen/check_parity_vs_main.py:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-db97f4ce510a21d1", "name": "Legacy-named symbol `rt_old` in tests/plugins/dashboard_auth/test_self_hosted_provider.py:922", "shortDescription": {"text": "Legacy-named symbol `rt_old` in tests/plugins/dashboard_auth/test_self_hosted_provider.py:922"}, "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-0f199dff4c443410", "name": "Commented-code block (5 lines) in tests/plugins/browser/check_parity_vs_main.py:82", "shortDescription": {"text": "Commented-code block (5 lines) in tests/plugins/browser/check_parity_vs_main.py:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f31767b1cbd9f474", "name": "Commented-code block (10 lines) in apps/desktop/vite.config.ts:10", "shortDescription": {"text": "Commented-code block (10 lines) in apps/desktop/vite.config.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-9f2c422f89fedf90", "name": "Commented-code block (5 lines) in apps/desktop/electron/git-worktrees.cjs:6", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/electron/git-worktrees.cjs: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-cbf1fd3d947d5641", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/electron/main.cjs:813", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/electron/main.cjs:813"}, "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-f8c1c65c6f5e57c2", "name": "Commented-code block (8 lines) in apps/desktop/electron/session-windows.cjs:13", "shortDescription": {"text": "Commented-code block (8 lines) in apps/desktop/electron/session-windows.cjs: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-6178ed330b9c3e5c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/click-session.mjs:2", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/click-session.mjs:2"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de984f6166d8c7b8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/probe-renderer.mjs:2", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/probe-renderer.mjs:2"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2e269335d007ea15", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-latency.mjs:63", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-latency.mjs:63"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2914c0000b7c19d8", "name": "Commented-code block (6 lines) in apps/desktop/scripts/write-build-stamp.cjs:64", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/scripts/write-build-stamp.cjs:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d60d99a383990b21", "name": "Commented-code block (6 lines) in apps/desktop/scripts/assert-dist-built.cjs:5", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/scripts/assert-dist-built.cjs: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-caa0637ca7d2b461", "name": "Commented-code block (10 lines) in apps/desktop/scripts/diag-scroll-reset.mjs:7", "shortDescription": {"text": "Commented-code block (10 lines) in apps/desktop/scripts/diag-scroll-reset.mjs:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e497a82367fe259d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/diag-scroll-reset.mjs:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/diag-scroll-reset.mjs:33"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4e50c8b992e5633c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-typing.mjs:85", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-typing.mjs:85"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2387619a88be776c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/reload-renderer.mjs:2", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/reload-renderer.mjs:2"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1996b0062bdcb781", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-real-stream.mjs:49", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-real-stream.mjs:49"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-175f7d7ae42ded3b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/diag-jump.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/diag-jump.mjs:3"}, "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-e93b46ea12df0394", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/reload.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/reload.mjs:3"}, "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-605a6480ae826871", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/eval.mjs:2", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/eval.mjs:2"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0c489c850668c90d", "name": "Commented-code block (6 lines) in apps/desktop/scripts/stage-native-deps.cjs:137", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/scripts/stage-native-deps.cjs:137"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4e777506005cf066", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/leak-typing.mjs:59", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/leak-typing.mjs:59"}, "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-47344e07f77080d9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-jump.mjs:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-jump.mjs:14"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7813619b3b57b5c8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-long-stream.mjs:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-long-stream.mjs:37"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e3343a0cc541e3e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/probe-thread.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/probe-thread.mjs:3"}, "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-b9d2b2b75d07fece", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-submit.mjs:57", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-submit.mjs:57"}, "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-0d235a1f19440d6b", "name": "Commented-code block (5 lines) in apps/desktop/scripts/measure-synthetic-stream.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/scripts/measure-synthetic-stream.mjs: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-8949c38738a4c53f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-synthetic-stream.mjs:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-synthetic-stream.mjs:32"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d7288e8d7b45f349", "name": "Commented-code block (5 lines) in apps/desktop/scripts/measure-real-stream.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/scripts/measure-real-stream.mjs: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-0ff9bae0deae9cb4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-real-stream.mjs:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-real-stream.mjs:17"}, "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-d2b55850a4ae30b1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-synth-stream.mjs:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-synth-stream.mjs:46"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b24b633b91ede385", "name": "Commented-code block (6 lines) in apps/desktop/src/global.d.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/global.d.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-11ce475d0dc48553", "name": "Commented-code block (5 lines) in apps/desktop/src/main.tsx:20", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/main.tsx:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-902bcf9eec234896", "name": "Commented-code block (5 lines) in apps/desktop/src/themes/vscode.ts:233", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/themes/vscode.ts:233"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1577cc61809465d2", "name": "Commented-code block (13 lines) in apps/desktop/src/components/prompt-overlays.tsx:23", "shortDescription": {"text": "Commented-code block (13 lines) in apps/desktop/src/components/prompt-overlays.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-fffd4eb916bd68ab", "name": "Commented-code block (6 lines) in apps/desktop/src/components/boot-failure-reauth.ts:29", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/components/boot-failure-reauth.ts:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-38de2996db496c1a", "name": "Commented-code block (5 lines) in apps/desktop/src/components/gateway-connecting-overlay.test.tsx:11", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/gateway-connecting-overlay.test.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-64ed3530db777d70", "name": "Commented-code block (5 lines) in apps/desktop/src/components/haptics-provider.tsx:18", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/haptics-provider.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-8841822a78ba5a7f", "name": "Commented-code block (7 lines) in apps/desktop/src/components/desktop-onboarding-overlay.tsx:101", "shortDescription": {"text": "Commented-code block (7 lines) in apps/desktop/src/components/desktop-onboarding-overlay.tsx:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08fd063b7e6607f6", "name": "Commented-code block (5 lines) in apps/desktop/src/components/model-picker.tsx:49", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/model-picker.tsx:49"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ee483605bdc0932", "name": "Commented-code block (6 lines) in apps/desktop/src/components/boot-failure-overlay.tsx:19", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/components/boot-failure-overlay.tsx: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-56c347178a40ab2c", "name": "Commented-code block (6 lines) in apps/desktop/src/components/language-switcher.tsx:131", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/components/language-switcher.tsx:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-760d5f5d03f5d7e1", "name": "Commented-code block (6 lines) in apps/desktop/src/components/notifications.tsx:70", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/components/notifications.tsx:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa43c1e56f043215", "name": "Commented-code block (5 lines) in apps/desktop/src/components/ui/dropdown-menu.tsx:254", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/ui/dropdown-menu.tsx:254"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a4080f04a765121a", "name": "Commented-code block (5 lines) in apps/desktop/src/components/ui/error-state.tsx:23", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/ui/error-state.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-4ab97b47de58769b", "name": "Commented-code block (5 lines) in apps/desktop/src/components/ui/control.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/ui/control.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-8464226543ad03bc", "name": "Commented-code block (5 lines) in apps/desktop/src/components/ui/tool-icon.tsx:6", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/ui/tool-icon.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-7f2143d2f4fe3297", "name": "Commented-code block (12 lines) in apps/desktop/src/components/chat/disclosure-row.tsx:10", "shortDescription": {"text": "Commented-code block (12 lines) in apps/desktop/src/components/chat/disclosure-row.tsx:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d28203447e7dd46d", "name": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/tool-fallback-model.ts:750", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/tool-fallback-model.ts:750"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dff313d5e1d3110c", "name": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/thread.tsx:252", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/thread.tsx:252"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dd52b202da3fc23d", "name": "Commented-code block (9 lines) in apps/desktop/src/components/assistant-ui/message-render-boundary.tsx:3", "shortDescription": {"text": "Commented-code block (9 lines) in apps/desktop/src/components/assistant-ui/message-render-boundary.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-6c3c3d3ba379d402", "name": "Commented-code block (8 lines) in apps/desktop/src/components/assistant-ui/tool-approval.tsx:31", "shortDescription": {"text": "Commented-code block (8 lines) in apps/desktop/src/components/assistant-ui/tool-approval.tsx: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-7006d22519b09a73", "name": "Commented-code block (9 lines) in apps/desktop/src/components/assistant-ui/markdown-text.tsx:42", "shortDescription": {"text": "Commented-code block (9 lines) in apps/desktop/src/components/assistant-ui/markdown-text.tsx: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-59390cd69a553f82", "name": "Commented-code block (7 lines) in apps/desktop/src/components/assistant-ui/thread-list.tsx:34", "shortDescription": {"text": "Commented-code block (7 lines) in apps/desktop/src/components/assistant-ui/thread-list.tsx:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c2367d66e5e84e6e", "name": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/tool-fallback.tsx:286", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/tool-fallback.tsx:286"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fff4359a1c020612", "name": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/tool-approval-group.test.tsx:12", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/tool-approval-group.test.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-520e601f854cb0af", "name": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/user-message-text.tsx:7", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/user-message-text.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-8ce22debac16f927", "name": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/markdown-text.test.ts:139", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/markdown-text.test.ts:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04fbbcc3c4797dc2", "name": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/streaming.test.tsx:424", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/streaming.test.tsx:424"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-83128d5bd6f7e105", "name": "Commented-code block (5 lines) in apps/desktop/src/app/desktop-controller.tsx:136", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/desktop-controller.tsx:136"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-75783b8a89960f9e", "name": "Commented-code block (5 lines) in apps/desktop/src/app/layout-constants.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/layout-constants.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-a7abbdcefc8d88a4", "name": "Commented-code block (5 lines) in apps/desktop/src/app/settings/model-settings.tsx:226", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/settings/model-settings.tsx:226"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92b7e40551cb0af3", "name": "Commented-code block (5 lines) in apps/desktop/src/app/settings/sessions-settings.tsx:179", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/settings/sessions-settings.tsx:179"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ce86ae611bac95e4", "name": "Legacy-named symbol `scribe_v2` in apps/desktop/src/app/settings/constants.ts:247", "shortDescription": {"text": "Legacy-named symbol `scribe_v2` in apps/desktop/src/app/settings/constants.ts:247"}, "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-b188d665871793cb", "name": "Commented-code block (7 lines) in apps/desktop/src/app/settings/constants.ts:19", "shortDescription": {"text": "Commented-code block (7 lines) in apps/desktop/src/app/settings/constants.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-131518ab585111f0", "name": "Commented-code block (11 lines) in apps/desktop/src/app/settings/gateway-settings.tsx:216", "shortDescription": {"text": "Commented-code block (11 lines) in apps/desktop/src/app/settings/gateway-settings.tsx:216"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9a521cf622a9c746", "name": "Commented-code block (8 lines) in apps/desktop/src/app/settings/providers-settings.tsx:82", "shortDescription": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/settings/providers-settings.tsx:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9bbb9b55f4dfad16", "name": "Commented-code block (5 lines) in apps/desktop/src/app/settings/toolset-config-panel.test.tsx:115", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/settings/toolset-config-panel.test.tsx:115"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93c45b965f44332f", "name": "Commented-code block (5 lines) in apps/desktop/src/app/settings/toolset-config-panel.tsx:321", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/settings/toolset-config-panel.tsx: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-55ab4cd17f83b87d", "name": "Commented-code block (5 lines) in apps/desktop/src/app/chat/index.tsx:288", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/index.tsx:288"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a2bf2c025075c12", "name": "Commented-code block (6 lines) in apps/desktop/src/app/chat/perf-probe.tsx:112", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/chat/perf-probe.tsx:112"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b941f3eb8fc9a9bd", "name": "Commented-code block (6 lines) in apps/desktop/src/app/chat/composer/completion-drawer.tsx:8", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/chat/composer/completion-drawer.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-1dbdeda2b2281493", "name": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/index.tsx:261", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/index.tsx:261"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4b42e6ae96c6bbb4", "name": "Commented-code block (7 lines) in apps/desktop/src/app/chat/composer/enter-submit-dom-race.test.tsx:14", "shortDescription": {"text": "Commented-code block (7 lines) in apps/desktop/src/app/chat/composer/enter-submit-dom-race.test.tsx: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-1dbd385e8a48f137", "name": "Commented-code block (7 lines) in apps/desktop/src/app/chat/composer/ime-composition-dom-repro.test.tsx:13", "shortDescription": {"text": "Commented-code block (7 lines) in apps/desktop/src/app/chat/composer/ime-composition-dom-repro.test.tsx:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4725ae1c50d58668", "name": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/text-utils.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/text-utils.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-cffcdc31d56372c0", "name": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/slash-nav-dom-repro.test.tsx:9", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/slash-nav-dom-repro.test.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-62096018ab16d008", "name": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/status-stack/index.tsx:173", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/status-stack/index.tsx:173"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-181bb19dda1567b2", "name": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/hooks/use-slash-completions.ts:217", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/hooks/use-slash-completions.ts:217"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0e5ce0e2086bb6d1", "name": "Commented-code block (5 lines) in apps/desktop/src/app/chat/hooks/use-composer-actions.test.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/hooks/use-composer-actions.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2749ec1d0fe4e1cc", "name": "Commented-code block (5 lines) in apps/desktop/src/app/chat/sidebar/session-row.tsx:160", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/sidebar/session-row.tsx:160"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d7fb14fa5cd6275c", "name": "Commented-code block (5 lines) in apps/desktop/src/app/chat/sidebar/index.tsx:141", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/sidebar/index.tsx:141"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-93f2842a466fe707", "name": "Commented-code block (6 lines) in apps/desktop/src/app/chat/sidebar/profile-switcher.tsx:83", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/chat/sidebar/profile-switcher.tsx:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a31469b30116987c", "name": "Commented-code block (5 lines) in apps/desktop/src/app/right-sidebar/terminal/use-terminal-session.ts:351", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/right-sidebar/terminal/use-terminal-session.ts:351"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0e1f8e7d54001cab", "name": "Commented-code block (6 lines) in apps/desktop/src/app/right-sidebar/terminal/selection.ts:57", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/right-sidebar/terminal/selection.ts:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-52ba6c474c946846", "name": "Commented-code block (5 lines) in apps/desktop/src/app/shell/model-menu-panel.tsx:177", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/shell/model-menu-panel.tsx:177"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04203e3eb1d05508", "name": "Commented-code block (6 lines) in apps/desktop/src/app/shell/app-shell.tsx:90", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/shell/app-shell.tsx:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c50f063cd9a90d13", "name": "Commented-code block (5 lines) in apps/desktop/src/app/gateway/hooks/use-gateway-boot.test.tsx:9", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/gateway/hooks/use-gateway-boot.test.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-1e2878cd88aba808", "name": "Commented-code block (5 lines) in apps/desktop/src/app/gateway/hooks/use-gateway-request.ts:70", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/gateway/hooks/use-gateway-request.ts:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b99726c2db342ff", "name": "Commented-code block (8 lines) in apps/desktop/src/app/gateway/hooks/use-gateway-boot.ts:92", "shortDescription": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/gateway/hooks/use-gateway-boot.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-0c971e7dac183920", "name": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-message-stream.ts:133", "shortDescription": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-message-stream.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-d93d3eb34a9539e0", "name": "Commented-code block (5 lines) in apps/desktop/src/app/session/hooks/use-prompt-actions.ts:120", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/session/hooks/use-prompt-actions.ts:120"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d2499a4bc3f4fa2f", "name": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-route-resume.ts:86", "shortDescription": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-route-resume.ts:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff0b507499c246a9", "name": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-session-state-cache.test.tsx:48", "shortDescription": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-session-state-cache.test.tsx:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-69f65321ddd46c9b", "name": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-session-actions.ts:434", "shortDescription": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-session-actions.ts:434"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8cc4de4c31fa6a27", "name": "Commented-code block (9 lines) in apps/desktop/src/app/session/hooks/use-session-state-cache.ts:163", "shortDescription": {"text": "Commented-code block (9 lines) in apps/desktop/src/app/session/hooks/use-session-state-cache.ts:163"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8dabb28c7fd09210", "name": "Commented-code block (6 lines) in apps/desktop/src/lib/remend-tail.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/lib/remend-tail.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-c52c5f9139006e2e", "name": "Commented-code block (7 lines) in apps/desktop/src/lib/remend-tail.test.ts:92", "shortDescription": {"text": "Commented-code block (7 lines) in apps/desktop/src/lib/remend-tail.test.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-bbd5399fc428eab7", "name": "Legacy-named symbol `unstable_copy` in apps/desktop/src/lib/incremental-external-store-runtime.ts:106", "shortDescription": {"text": "Legacy-named symbol `unstable_copy` in apps/desktop/src/lib/incremental-external-store-runtime.ts:106"}, "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-b28348f84c2b3d95", "name": "Commented-code block (5 lines) in apps/desktop/src/lib/haptics.ts:90", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/lib/haptics.ts:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98d12080cf56f1d2", "name": "Commented-code block (7 lines) in apps/desktop/src/lib/markdown-preprocess.ts:11", "shortDescription": {"text": "Commented-code block (7 lines) in apps/desktop/src/lib/markdown-preprocess.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-c184912a6b506945", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/src/hooks/use-image-download.ts:25", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/src/hooks/use-image-download.ts:25"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-44b4f57bb8d3e364", "name": "Commented-code block (6 lines) in apps/desktop/src/store/tool-dismiss.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/store/tool-dismiss.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-33feb92e0fb38bda", "name": "Commented-code block (7 lines) in apps/desktop/src/store/onboarding.ts:38", "shortDescription": {"text": "Commented-code block (7 lines) in apps/desktop/src/store/onboarding.ts:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-33372ed2d8f16ceb", "name": "Commented-code block (5 lines) in apps/desktop/src/store/updates.ts:174", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/updates.ts:174"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-66124e5bffacde17", "name": "Commented-code block (6 lines) in apps/desktop/src/store/prompts.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in apps/desktop/src/store/prompts.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-e4c3604149d63acf", "name": "Commented-code block (5 lines) in apps/desktop/src/store/profile.ts:132", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/profile.ts:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a8d72e2260425af8", "name": "Commented-code block (5 lines) in apps/desktop/src/store/session.ts:175", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/session.ts:175"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dfcc79451d499d1e", "name": "Commented-code block (9 lines) in apps/desktop/src/store/gateway.ts:8", "shortDescription": {"text": "Commented-code block (9 lines) in apps/desktop/src/store/gateway.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-43ddb5da75f7851b", "name": "Commented-code block (5 lines) in apps/desktop/src/store/clarify.ts:12", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/clarify.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-679eb33ed5c6691e", "name": "Commented-code block (5 lines) in apps/desktop/src/store/windows.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/windows.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-b4ed6c06399ff3dc", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/profile-tui.py:881", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/profile-tui.py:881"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6a20df3ec5898203", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/contributor_audit.py:119", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/contributor_audit.py:119"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-07643f8ff06a7a77", "name": "Commented-code block (12 lines) in scripts/run_tests_parallel.py:59", "shortDescription": {"text": "Commented-code block (12 lines) in scripts/run_tests_parallel.py: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-ce3b9bcb9d72a816", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_tests_parallel.py:281", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_tests_parallel.py:281"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42ec277bbf2c077c", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/install_psutil_android.py:92", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/install_psutil_android.py:92"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dfc37a9c2d0e7c26", "name": "Commented-code block (5 lines) in scripts/build_skills_index.py:276", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/build_skills_index.py:276"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a0e08b278b487bd", "name": "Commented-code block (5 lines) in scripts/check_subprocess_stdin.py:47", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/check_subprocess_stdin.py: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-1024a6afc167c8f2", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check_subprocess_stdin.py:9", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_subprocess_stdin.py:9"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-50632e62e2123946", "name": "Commented-code block (9 lines) in scripts/check-windows-footguns.py:206", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/check-windows-footguns.py: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-10944c61f7c87443", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check-windows-footguns.py:357", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check-windows-footguns.py:357"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-407e8f1e0b713a02", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/release.py:1545", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/release.py:1545"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-02ea53ba2fee11b4", "name": "Commented-code block (5 lines) in scripts/whatsapp-bridge/bridge.js:59", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/whatsapp-bridge/bridge.js: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-8764140fe0164d80", "name": "Commented-code block (5 lines) in website/docusaurus.config.ts:48", "shortDescription": {"text": "Commented-code block (5 lines) in website/docusaurus.config.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8102908e84d9ab43", "name": "Commented-code block (5 lines) in website/scripts/generate-skill-docs.py:39", "shortDescription": {"text": "Commented-code block (5 lines) in website/scripts/generate-skill-docs.py:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2fa7a7a67073fb1e", "name": "Commented-code block (5 lines) in agent/turn_finalizer.py:72", "shortDescription": {"text": "Commented-code block (5 lines) in agent/turn_finalizer.py:72"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5828f903db675e1", "name": "Commented-code block (5 lines) in agent/codex_responses_adapter.py:350", "shortDescription": {"text": "Commented-code block (5 lines) in agent/codex_responses_adapter.py:350"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b67f063e5f3d6ba3", "name": "Commented-code block (5 lines) in agent/moonshot_schema.py:118", "shortDescription": {"text": "Commented-code block (5 lines) in agent/moonshot_schema.py:118"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-96b8fbd873e36050", "name": "Commented-code block (8 lines) in agent/context_compressor.py:77", "shortDescription": {"text": "Commented-code block (8 lines) in agent/context_compressor.py:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba9837a2cf3b0662", "name": "Commented-code block (9 lines) in agent/transcription_registry.py:31", "shortDescription": {"text": "Commented-code block (9 lines) in agent/transcription_registry.py: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-43bba8e72fee1514", "name": "Commented-code block (5 lines) in agent/tool_dispatch_helpers.py:353", "shortDescription": {"text": "Commented-code block (5 lines) in agent/tool_dispatch_helpers.py:353"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c32fdf83e5f9b8f", "name": "Commented-code block (6 lines) in agent/credential_pool.py:2753", "shortDescription": {"text": "Commented-code block (6 lines) in agent/credential_pool.py:2753"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e63652074aa941b1", "name": "Legacy-named symbol `prev_copy` in agent/agent_runtime_helpers.py:934", "shortDescription": {"text": "Legacy-named symbol `prev_copy` in agent/agent_runtime_helpers.py:934"}, "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-394d936a9bbb0ccb", "name": "Commented-code block (5 lines) in agent/agent_runtime_helpers.py:540", "shortDescription": {"text": "Commented-code block (5 lines) in agent/agent_runtime_helpers.py:540"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b46e30434c283cb7", "name": "Commented-code block (6 lines) in agent/system_prompt.py:105", "shortDescription": {"text": "Commented-code block (6 lines) in agent/system_prompt.py: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-0555d2f3ceb4c134", "name": "Commented-code block (5 lines) in agent/credits_tracker.py:161", "shortDescription": {"text": "Commented-code block (5 lines) in agent/credits_tracker.py:161"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-001fba0f6902cbde", "name": "Commented-code block (6 lines) in agent/skill_utils.py:174", "shortDescription": {"text": "Commented-code block (6 lines) in agent/skill_utils.py:174"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f2af4e4e4fdccee3", "name": "Legacy-named symbol `_prune_old` in agent/curator_backup.py:440", "shortDescription": {"text": "Legacy-named symbol `_prune_old` in agent/curator_backup.py:440"}, "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-8e1ca71dba760c29", "name": "Legacy-named symbol `curator_backup` in agent/curator.py:1450", "shortDescription": {"text": "Legacy-named symbol `curator_backup` in agent/curator.py:1450"}, "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-e4dd07cef87bab00", "name": "Commented-code block (7 lines) in agent/curator.py:607", "shortDescription": {"text": "Commented-code block (7 lines) in agent/curator.py:607"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e6d2e9cb0c9cb754", "name": "Commented-code block (12 lines) in agent/account_usage.py:159", "shortDescription": {"text": "Commented-code block (12 lines) in agent/account_usage.py:159"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da48980dfd572ae6", "name": "Commented-code block (5 lines) in agent/error_classifier.py:167", "shortDescription": {"text": "Commented-code block (5 lines) in agent/error_classifier.py: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-7b44b4d8c6b6ce73", "name": "Commented-code block (5 lines) in agent/browser_registry.py:104", "shortDescription": {"text": "Commented-code block (5 lines) in agent/browser_registry.py:104"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb0e719025796b53", "name": "Commented-code block (10 lines) in agent/background_review.py:631", "shortDescription": {"text": "Commented-code block (10 lines) in agent/background_review.py:631"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8f717712ce8b5ae3", "name": "Commented-code block (5 lines) in agent/message_sanitization.py:125", "shortDescription": {"text": "Commented-code block (5 lines) in agent/message_sanitization.py:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-268e1020a3f0110c", "name": "Commented-code block (6 lines) in agent/anthropic_adapter.py:28", "shortDescription": {"text": "Commented-code block (6 lines) in agent/anthropic_adapter.py: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-10dfde3d96b59cda", "name": "Commented-code block (7 lines) in agent/copilot_acp_client.py:33", "shortDescription": {"text": "Commented-code block (7 lines) in agent/copilot_acp_client.py:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-847d42d94f57ac10", "name": "Commented-code block (6 lines) in agent/agent_init.py:2426", "shortDescription": {"text": "Commented-code block (6 lines) in agent/agent_init.py:2426"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad99d45498b71342", "name": "Commented-code block (8 lines) in agent/coding_context.py:101", "shortDescription": {"text": "Commented-code block (8 lines) in agent/coding_context.py:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c206dd88047e2397", "name": "Commented-code block (6 lines) in agent/tool_executor.py:294", "shortDescription": {"text": "Commented-code block (6 lines) in agent/tool_executor.py:294"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-63bca3b566566070", "name": "Commented-code block (5 lines) in agent/image_routing.py:51", "shortDescription": {"text": "Commented-code block (5 lines) in agent/image_routing.py:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d5f8536e46d189c", "name": "Commented-code block (6 lines) in agent/usage_pricing.py:794", "shortDescription": {"text": "Commented-code block (6 lines) in agent/usage_pricing.py:794"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-681738a7b8c16e56", "name": "Commented-code block (5 lines) in agent/think_scrubber.py:136", "shortDescription": {"text": "Commented-code block (5 lines) in agent/think_scrubber.py:136"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5eab30e0e4e0693c", "name": "Commented-code block (5 lines) in agent/memory_manager.py:323", "shortDescription": {"text": "Commented-code block (5 lines) in agent/memory_manager.py:323"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f0daab9bb3d9151e", "name": "Commented-code block (7 lines) in agent/context_references.py:344", "shortDescription": {"text": "Commented-code block (7 lines) in agent/context_references.py:344"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d76d3d2b4b35fefa", "name": "Commented-code block (6 lines) in agent/model_metadata.py:280", "shortDescription": {"text": "Commented-code block (6 lines) in agent/model_metadata.py:280"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b216a69537644d66", "name": "Commented-code block (5 lines) in agent/conversation_compression.py:43", "shortDescription": {"text": "Commented-code block (5 lines) in agent/conversation_compression.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cb1670f860d88836", "name": "Commented-code block (14 lines) in agent/conversation_loop.py:3500", "shortDescription": {"text": "Commented-code block (14 lines) in agent/conversation_loop.py:3500"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-367e35f49f818178", "name": "Commented-code block (8 lines) in agent/tts_registry.py:40", "shortDescription": {"text": "Commented-code block (8 lines) in agent/tts_registry.py:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17d3ad45a982c311", "name": "Commented-code block (12 lines) in agent/prompt_builder.py:276", "shortDescription": {"text": "Commented-code block (12 lines) in agent/prompt_builder.py:276"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a7b513866147961c", "name": "Commented-code block (5 lines) in agent/transports/types.py:40", "shortDescription": {"text": "Commented-code block (5 lines) in agent/transports/types.py:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd9ca9d04e5eef45", "name": "Commented-code block (5 lines) in agent/transports/codex.py:20", "shortDescription": {"text": "Commented-code block (5 lines) in agent/transports/codex.py: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-399ba396ad6cc2ac", "name": "Commented-code block (6 lines) in agent/transports/clawk_tools_mcp_server.py:146", "shortDescription": {"text": "Commented-code block (6 lines) in agent/transports/clawk_tools_mcp_server.py:146"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a797ebd2523a09a3", "name": "Commented-code block (5 lines) in agent/transports/chat_completions.py:31", "shortDescription": {"text": "Commented-code block (5 lines) in agent/transports/chat_completions.py: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-5ee111c72394bf2f", "name": "Commented-code block (5 lines) in agent/secret_sources/bitwarden.py:80", "shortDescription": {"text": "Commented-code block (5 lines) in agent/secret_sources/bitwarden.py:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a306d87daa1264ce", "name": "Commented-code block (5 lines) in agent/lsp/client.py:701", "shortDescription": {"text": "Commented-code block (5 lines) in agent/lsp/client.py:701"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1abfc21d9554fa9d", "name": "Commented-code block (5 lines) in agent/lsp/range_shift.py:57", "shortDescription": {"text": "Commented-code block (5 lines) in agent/lsp/range_shift.py:57"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a97a169efe6887f", "name": "Commented-code block (7 lines) in tui_gateway/ws.py:104", "shortDescription": {"text": "Commented-code block (7 lines) in tui_gateway/ws.py:104"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10f12eddb8845027", "name": "Commented-code block (5 lines) in tui_gateway/server.py:5229", "shortDescription": {"text": "Commented-code block (5 lines) in tui_gateway/server.py:5229"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-661f4d6ccf039f83", "name": "Stub function `print` (body is just `pass`/`return`) \u2014 tui_gateway/server.py:11164", "shortDescription": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 tui_gateway/server.py:11164"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3ac13aab17f557d", "name": "Stub function `close` (body is just `pass`/`return`) \u2014 tui_gateway/transport.py:286", "shortDescription": {"text": "Stub function `close` (body is just `pass`/`return`) \u2014 tui_gateway/transport.py:286"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b1f25fe80fbc39e", "name": "Commented-code block (6 lines) in web/vite.config.ts:175", "shortDescription": {"text": "Commented-code block (6 lines) in web/vite.config.ts:175"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba55e34e95e44725", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/public/pixel-office/assets/browserMock-9mReCTnJ.js:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/public/pixel-office/assets/browserMock-9mReCTnJ.js:1"}, "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-481f13357430d0b0", "name": "Legacy-named symbol `unstable_legacy` in web/public/pixel-office/assets/index-CvwgKoo0.js:8", "shortDescription": {"text": "Legacy-named symbol `unstable_legacy` in web/public/pixel-office/assets/index-CvwgKoo0.js:8"}, "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-32be1b9063899ac2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/public/pixel-office/assets/index-CvwgKoo0.js:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/public/pixel-office/assets/index-CvwgKoo0.js:1"}, "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-2f37e17c9b492d8b", "name": "Commented-code block (5 lines) in web/src/main.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/main.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-9f470d1014d89a31", "name": "Commented-code block (6 lines) in web/src/visualization/officeProviders.ts:44", "shortDescription": {"text": "Commented-code block (6 lines) in web/src/visualization/officeProviders.ts:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f65ecf82dbe2bd8e", "name": "Commented-code block (6 lines) in web/src/visualization/PixelOfficeView.tsx:34", "shortDescription": {"text": "Commented-code block (6 lines) in web/src/visualization/PixelOfficeView.tsx:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a0bcd6a24240f1d1", "name": "Commented-code block (5 lines) in web/src/i18n/context.tsx:13", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/i18n/context.tsx:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eff6968590f0fa2e", "name": "Commented-code block (5 lines) in web/src/components/BackgroundPaths.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/components/BackgroundPaths.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-f0042643bfa66cbd", "name": "Commented-code block (7 lines) in web/src/components/ModelPickerDialog.tsx:282", "shortDescription": {"text": "Commented-code block (7 lines) in web/src/components/ModelPickerDialog.tsx:282"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7af698e0a1fb8f71", "name": "Commented-code block (6 lines) in web/src/components/ThemeSwitcher.tsx:320", "shortDescription": {"text": "Commented-code block (6 lines) in web/src/components/ThemeSwitcher.tsx:320"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46dd41600c25b2e6", "name": "Commented-code block (5 lines) in web/src/components/ChatSidebar.tsx:162", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/components/ChatSidebar.tsx:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c3151b74585ba40b", "name": "Commented-code block (5 lines) in web/src/lib/api.ts:87", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/lib/api.ts:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b577736d86af8f34", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/src/lib/api.ts:154", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/src/lib/api.ts:154"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5ff2f269f3da0c15", "name": "Commented-code block (5 lines) in web/src/lib/fuzzy.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in web/src/lib/fuzzy.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-ea5ab7002f3d3134", "name": "Commented-code block (7 lines) in web/src/pages/ChatPage.tsx:85", "shortDescription": {"text": "Commented-code block (7 lines) in web/src/pages/ChatPage.tsx:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9bc6f3118ab21b72", "name": "Commented-code block (9 lines) in web/src/pages/SessionsPage.tsx:150", "shortDescription": {"text": "Commented-code block (9 lines) in web/src/pages/SessionsPage.tsx:150"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d50b509d85e3b18e", "name": "Commented-code block (6 lines) in web/src/pages/ModelsPage.tsx:98", "shortDescription": {"text": "Commented-code block (6 lines) in web/src/pages/ModelsPage.tsx:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24c90c53b757094d", "name": "Commented-code block (6 lines) in web/src/pages/CronPage.tsx:75", "shortDescription": {"text": "Commented-code block (6 lines) in web/src/pages/CronPage.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-ca47a5b94ab11887", "name": "Commented-code block (6 lines) in web/src/pages/ConfigPage.tsx:301", "shortDescription": {"text": "Commented-code block (6 lines) in web/src/pages/ConfigPage.tsx:301"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6df1e02917ad1068", "name": "Commented-code block (6 lines) in optional-skills/security/godmode/scripts/load_godmode.py:9", "shortDescription": {"text": "Commented-code block (6 lines) in optional-skills/security/godmode/scripts/load_godmode.py: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-a0dd40ce23a3ce02", "name": "Network/subprocess call without timeout or try/except \u2014 optional-skills/creative/pixel-art/scripts/pixel_art_video.py:47", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 optional-skills/creative/pixel-art/scripts/pixel_art_video.py:470"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9e9c97404cc342db", "name": "Network/subprocess call without timeout or try/except \u2014 optional-skills/creative/kanban-video-orchestrator/scripts/monit", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 optional-skills/creative/kanban-video-orchestrator/scripts/monitor.py:79"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9ed589ab237b2712", "name": "Legacy-named symbol `20Legacy` in optional-skills/health/fitness-nutrition/scripts/nutrition_search.py:30", "shortDescription": {"text": "Legacy-named symbol `20Legacy` in optional-skills/health/fitness-nutrition/scripts/nutrition_search.py:30"}, "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-e3918e6304fa385d", "name": "Legacy-named symbol `rest_v1` in optional-skills/research/osint-investigation/scripts/fetch_wikipedia.py:25", "shortDescription": {"text": "Legacy-named symbol `rest_v1` in optional-skills/research/osint-investigation/scripts/fetch_wikipedia.py:25"}, "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-e827e1ac5d69ff30", "name": "Legacy-named symbol `maybe_backup` in optional-skills/migration/openclaw-migration/scripts/openclaw_to_clawk.py:1553", "shortDescription": {"text": "Legacy-named symbol `maybe_backup` in optional-skills/migration/openclaw-migration/scripts/openclaw_to_clawk.py:1553"}, "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-d2c2368eff2e3247", "name": "Commented-code block (12 lines) in clawk_cli/codex_models.py:26", "shortDescription": {"text": "Commented-code block (12 lines) in clawk_cli/codex_models.py: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-69e5379e65639bbd", "name": "Commented-code block (6 lines) in clawk_cli/plugins.py:80", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/plugins.py:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-698ff20e0d4d151d", "name": "Commented-code block (5 lines) in clawk_cli/nous_subscription.py:345", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/nous_subscription.py:345"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-432cec91d87a27cd", "name": "Commented-code block (6 lines) in clawk_cli/gateway_windows.py:371", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/gateway_windows.py:371"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d4602af1adefab26", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/gateway_windows.py:671", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/gateway_windows.py:671"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7bd0854359ddd36c", "name": "Legacy-named symbol `no_backup` in clawk_cli/migrate.py:52", "shortDescription": {"text": "Legacy-named symbol `no_backup` in clawk_cli/migrate.py:52"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95cab057a3e8c1d8", "name": "Commented-code block (9 lines) in clawk_cli/_subprocess_compat.py:101", "shortDescription": {"text": "Commented-code block (9 lines) in clawk_cli/_subprocess_compat.py:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e1e46374a864bf28", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/_subprocess_compat.py:7", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/_subprocess_compat.py:7"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-601ebe05ec49197e", "name": "Commented-code block (5 lines) in clawk_cli/model_normalize.py:109", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/model_normalize.py: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-a8715c63a49eadbb", "name": "Legacy-named symbol `run_backup` in clawk_cli/backup.py:154", "shortDescription": {"text": "Legacy-named symbol `run_backup` in clawk_cli/backup.py:154"}, "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-1b056166a1fc5c03", "name": "Commented-code block (5 lines) in clawk_cli/backup.py:51", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/backup.py:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f4277db8fdf31b7a", "name": "Commented-code block (6 lines) in clawk_cli/service_manager.py:338", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/service_manager.py:338"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ca20700eddbf6706", "name": "Commented-code block (5 lines) in clawk_cli/mcp_catalog.py:648", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/mcp_catalog.py:648"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6d2e46379248cc6d", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/mcp_catalog.py:400", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/mcp_catalog.py:400"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f1ba3e2c9035f47e", "name": "Commented-code block (7 lines) in clawk_cli/tools_config.py:522", "shortDescription": {"text": "Commented-code block (7 lines) in clawk_cli/tools_config.py:522"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e01cfd481b5b20c", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/tools_config.py:1394", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/tools_config.py:1394"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0cb10c923a01d87e", "name": "Legacy-named symbol `kanban_swarm_v1` in clawk_cli/kanban_swarm.py:151", "shortDescription": {"text": "Legacy-named symbol `kanban_swarm_v1` in clawk_cli/kanban_swarm.py:151"}, "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-d029bd314512f7e4", "name": "Commented-code block (5 lines) in clawk_cli/inventory.py:254", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/inventory.py:254"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-853098ec9d76b66e", "name": "Commented-code block (6 lines) in clawk_cli/uninstall.py:907", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/uninstall.py:907"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-36e3eb7e5f2cf6a0", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/uninstall.py:345", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/uninstall.py:345"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-77e2f9b1ca766403", "name": "Commented-code block (5 lines) in clawk_cli/cron.py:19", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/cron.py: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-4e03feaa85937a48", "name": "Legacy-named symbol `eleven_multilingual_v2` in clawk_cli/config.py:2074", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in clawk_cli/config.py:2074"}, "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-ebf0bb01fdc7a0fe", "name": "Commented-code block (8 lines) in clawk_cli/config.py:1361", "shortDescription": {"text": "Commented-code block (8 lines) in clawk_cli/config.py:1361"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f9dc9697cb5fe1e1", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/config.py:254", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/config.py:254"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ffb10a944dda1d22", "name": "Legacy-named symbol `_restore_backup` in clawk_cli/managed_uv.py:246", "shortDescription": {"text": "Legacy-named symbol `_restore_backup` in clawk_cli/managed_uv.py:246"}, "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-72a8ed8275c85319", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/managed_uv.py:147", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/managed_uv.py:147"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9216c3ecf6c3e9fc", "name": "Commented-code block (9 lines) in clawk_cli/skills_hub.py:338", "shortDescription": {"text": "Commented-code block (9 lines) in clawk_cli/skills_hub.py:338"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e11af59499a388a", "name": "Stub function `print` (body is just `pass`/`return`) \u2014 clawk_cli/skills_hub.py:851", "shortDescription": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 clawk_cli/skills_hub.py:851"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b6cec88bc88e97d", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/relaunch.py:145", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/relaunch.py:145"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c412fd3abe812ea2", "name": "Commented-code block (5 lines) in clawk_cli/pty_bridge.py:53", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/pty_bridge.py:53"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d2beff58aa5d9e92", "name": "Legacy-named symbol `_cmd_backup` in clawk_cli/curator.py:540", "shortDescription": {"text": "Legacy-named symbol `_cmd_backup` in clawk_cli/curator.py:540"}, "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-a11e89db47297f06", "name": "Commented-code block (6 lines) in clawk_cli/model_switch.py:2826", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/model_switch.py:2826"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5605e9e5ee06f329", "name": "Commented-code block (5 lines) in clawk_cli/gateway.py:490", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/gateway.py:490"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5d6dd88199eff51", "name": "Commented-code block (6 lines) in clawk_cli/gui_uninstall.py:139", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/gui_uninstall.py:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb172d429f44d07a", "name": "Legacy-named symbol `_strip_trailing_v1` in clawk_cli/azure_detect.py:179", "shortDescription": {"text": "Legacy-named symbol `_strip_trailing_v1` in clawk_cli/azure_detect.py:179"}, "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-0c665fbd4837df38", "name": "Commented-code block (7 lines) in clawk_cli/cookbook.py:782", "shortDescription": {"text": "Commented-code block (7 lines) in clawk_cli/cookbook.py:782"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7acb058a200f0f82", "name": "Commented-code block (7 lines) in clawk_cli/plugins_cmd.py:1283", "shortDescription": {"text": "Commented-code block (7 lines) in clawk_cli/plugins_cmd.py:1283"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8520eb0a4e88d920", "name": "Commented-code block (5 lines) in clawk_cli/runtime_provider.py:401", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/runtime_provider.py:401"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c15f358cfbae6cff", "name": "Legacy-named symbol `scribe_v2` in clawk_cli/web_server.py:603", "shortDescription": {"text": "Legacy-named symbol `scribe_v2` in clawk_cli/web_server.py:603"}, "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-525b94487cf11691", "name": "Commented-code block (5 lines) in clawk_cli/web_server.py:4597", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/web_server.py:4597"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e23c99bb238dfe73", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/web_server.py:1717", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/web_server.py:1717"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d997d06cf1ecf8a1", "name": "Blocking `urllib.request.urlopen(...)` inside `async def get_elevenlabs_voices` \u2014 clawk_cli/web_server.py:2042", "shortDescription": {"text": "Blocking `urllib.request.urlopen(...)` inside `async def get_elevenlabs_voices` \u2014 clawk_cli/web_server.py:2042"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `urllib.request.urlopen(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1554750e39627756", "name": "Legacy-named symbol `no_backup` in clawk_cli/claw.py:495", "shortDescription": {"text": "Legacy-named symbol `no_backup` in clawk_cli/claw.py:495"}, "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-e58868dcd6d73362", "name": "Commented-code block (6 lines) in clawk_cli/setup.py:1072", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/setup.py:1072"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-74f9a4b6b73fd3fd", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/setup.py:1205", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/setup.py:1205"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bb694ba50eee4d06", "name": "Commented-code block (5 lines) in clawk_cli/models.py:309", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/models.py:309"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5df6546899ced752", "name": "Legacy-named symbol `_add_v1` in clawk_cli/model_setup_flows.py:766", "shortDescription": {"text": "Legacy-named symbol `_add_v1` in clawk_cli/model_setup_flows.py:766"}, "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-6d7a4993a90c1f66", "name": "Commented-code block (5 lines) in clawk_cli/model_setup_flows.py:78", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/model_setup_flows.py:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7f968d3c96a3040", "name": "Legacy-named symbol `_safe_copy` in clawk_cli/middleware.py:58", "shortDescription": {"text": "Legacy-named symbol `_safe_copy` in clawk_cli/middleware.py:58"}, "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-9be62e7e104f22fd", "name": "Commented-code block (6 lines) in clawk_cli/profiles.py:84", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/profiles.py:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a434f0b9e6e8f5e7", "name": "Commented-code block (5 lines) in clawk_cli/cli_agent_setup_mixin.py:85", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/cli_agent_setup_mixin.py:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f25ca00d93ca32e8", "name": "Commented-code block (6 lines) in clawk_cli/dashboard_register.py:265", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/dashboard_register.py:265"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17f57995269f3492", "name": "Legacy-named symbol `_add_v1` in clawk_cli/main.py:5966", "shortDescription": {"text": "Legacy-named symbol `_add_v1` in clawk_cli/main.py:5966"}, "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-d2a1d97f55ffd3f9", "name": "Commented-code block (5 lines) in clawk_cli/main.py:10648", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/main.py:10648"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ffa28d28efa0d9ae", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/main.py:2175", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/main.py:2175"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-88d3a94ca0b4346f", "name": "Commented-code block (11 lines) in clawk_cli/oneshot.py:524", "shortDescription": {"text": "Commented-code block (11 lines) in clawk_cli/oneshot.py:524"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d0576e4ff7e397bb", "name": "Commented-code block (8 lines) in clawk_cli/providers.py:679", "shortDescription": {"text": "Commented-code block (8 lines) in clawk_cli/providers.py:679"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b82b09803f296e45", "name": "Commented-code block (5 lines) in clawk_cli/cli_commands_mixin.py:607", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/cli_commands_mixin.py:607"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e6066cfe6ccf47e4", "name": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/dep_ensure.py:227", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/dep_ensure.py:227"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9129697460c2dfb9", "name": "Commented-code block (5 lines) in clawk_cli/auth_commands.py:180", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/auth_commands.py:180"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84c67decb54d3901", "name": "Legacy-named symbol `sidecar_backup` in clawk_cli/kanban_db.py:1370", "shortDescription": {"text": "Legacy-named symbol `sidecar_backup` in clawk_cli/kanban_db.py:1370"}, "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-cf892998c0d3d2ab", "name": "Commented-code block (6 lines) in clawk_cli/kanban_db.py:116", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/kanban_db.py:116"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c01e0cf6d90c41c", "name": "Legacy-named symbol `cmd_clear_legacy` in clawk_cli/checkpoints.py:266", "shortDescription": {"text": "Legacy-named symbol `cmd_clear_legacy` in clawk_cli/checkpoints.py:266"}, "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-a155d9fe9a0a3002", "name": "Legacy-named symbol `cmd_backup` in clawk_cli/subcommands/backup.py:12", "shortDescription": {"text": "Legacy-named symbol `cmd_backup` in clawk_cli/subcommands/backup.py:12"}, "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-3e445c0805114dcd", "name": "Commented-code block (6 lines) in clawk_cli/subcommands/mcp.py:46", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/subcommands/mcp.py:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1f6a3a696321c4f8", "name": "Commented-code block (6 lines) in clawk_cli/subcommands/dashboard.py:68", "shortDescription": {"text": "Commented-code block (6 lines) in clawk_cli/subcommands/dashboard.py:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c30df906d0f7bd45", "name": "Legacy-named symbol `gateway_migrate_legacy` in clawk_cli/subcommands/gateway.py:215", "shortDescription": {"text": "Legacy-named symbol `gateway_migrate_legacy` in clawk_cli/subcommands/gateway.py:215"}, "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-cfe2dae81d5cc105", "name": "Legacy-named symbol `pre_update_backup` in clawk_cli/subcommands/update.py:38", "shortDescription": {"text": "Legacy-named symbol `pre_update_backup` in clawk_cli/subcommands/update.py:38"}, "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-cdf2792bca286186", "name": "Commented-code block (5 lines) in clawk_cli/dashboard_auth/prefix.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/dashboard_auth/prefix.py:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6bb623006093d36", "name": "Commented-code block (7 lines) in clawk_cli/dashboard_auth/cookies.py:76", "shortDescription": {"text": "Commented-code block (7 lines) in clawk_cli/dashboard_auth/cookies.py: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-bc2a5c48a9eebaa6", "name": "Commented-code block (5 lines) in clawk_cli/dashboard_auth/public_paths.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in clawk_cli/dashboard_auth/public_paths.py:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ffd1cf55884cd925", "name": "Commented-code block (5 lines) in cron/scheduler.py:3390", "shortDescription": {"text": "Commented-code block (5 lines) in cron/scheduler.py:3390"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e7832574bc3dcc3a", "name": "Legacy-named symbol `drift_backup` in tools/memory_tool.py:104", "shortDescription": {"text": "Legacy-named symbol `drift_backup` in tools/memory_tool.py:104"}, "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-9d44043d84490c32", "name": "Commented-code block (5 lines) in tools/schema_sanitizer.py:87", "shortDescription": {"text": "Commented-code block (5 lines) in tools/schema_sanitizer.py:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-65fa5a62ad6d860a", "name": "Commented-code block (6 lines) in tools/mcp_tool.py:104", "shortDescription": {"text": "Commented-code block (6 lines) in tools/mcp_tool.py:104"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-57f6a25bd865cdb1", "name": "Legacy-named symbol `scribe_v2` in tools/transcription_tools.py:92", "shortDescription": {"text": "Legacy-named symbol `scribe_v2` in tools/transcription_tools.py:92"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0fca0ab930836077", "name": "Commented-code block (6 lines) in tools/transcription_tools.py:231", "shortDescription": {"text": "Commented-code block (6 lines) in tools/transcription_tools.py:231"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b82899f5a8e54fa1", "name": "Network/subprocess call without timeout or try/except \u2014 tools/transcription_tools.py:1479", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/transcription_tools.py:1479"}, "fullDescription": {"text": "`requests.post(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ec6a7220d5a95ea", "name": "Commented-code block (5 lines) in tools/web_tools.py:821", "shortDescription": {"text": "Commented-code block (5 lines) in tools/web_tools.py:821"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-899e51a64ef60d11", "name": "Legacy-named symbol `_move_to_restore_backup` in tools/skills_sync.py:276", "shortDescription": {"text": "Legacy-named symbol `_move_to_restore_backup` in tools/skills_sync.py:276"}, "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-669d1e6c1e65a5c7", "name": "Commented-code block (7 lines) in tools/skills_sync.py:43", "shortDescription": {"text": "Commented-code block (7 lines) in tools/skills_sync.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f9c7b0ee9cb2319", "name": "Legacy-named symbol `clear_legacy` in tools/checkpoint_manager.py:1797", "shortDescription": {"text": "Legacy-named symbol `clear_legacy` in tools/checkpoint_manager.py:1797"}, "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-508da9198b67319d", "name": "Commented-code block (8 lines) in tools/file_tools.py:98", "shortDescription": {"text": "Commented-code block (8 lines) in tools/file_tools.py:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6bfc58a41c85f622", "name": "Commented-code block (5 lines) in tools/patch_parser.py:435", "shortDescription": {"text": "Commented-code block (5 lines) in tools/patch_parser.py:435"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d60803ee2d6ef5b", "name": "Commented-code block (6 lines) in tools/send_message_tool.py:25", "shortDescription": {"text": "Commented-code block (6 lines) in tools/send_message_tool.py: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-d9ca3642c2421302", "name": "Commented-code block (5 lines) in tools/delegate_tool.py:2552", "shortDescription": {"text": "Commented-code block (5 lines) in tools/delegate_tool.py:2552"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-be7978f162276d98", "name": "Commented-code block (10 lines) in tools/fuzzy_match.py:107", "shortDescription": {"text": "Commented-code block (10 lines) in tools/fuzzy_match.py:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ad8bb911b3917de", "name": "Legacy-named symbol `snapshot_copy` in tools/browser_supervisor.py:699", "shortDescription": {"text": "Legacy-named symbol `snapshot_copy` in tools/browser_supervisor.py:699"}, "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-3f14a1eacb0736ef", "name": "Commented-code block (5 lines) in tools/skills_guard.py:232", "shortDescription": {"text": "Commented-code block (5 lines) in tools/skills_guard.py:232"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-285a5ecb498732d4", "name": "Commented-code block (5 lines) in tools/browser_tool.py:87", "shortDescription": {"text": "Commented-code block (5 lines) in tools/browser_tool.py:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d725c18e88905087", "name": "Commented-code block (8 lines) in tools/skill_usage.py:58", "shortDescription": {"text": "Commented-code block (8 lines) in tools/skill_usage.py:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f7d42809beb534b", "name": "Commented-code block (6 lines) in tools/skill_manager_tool.py:965", "shortDescription": {"text": "Commented-code block (6 lines) in tools/skill_manager_tool.py:965"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55ae91e2460713a5", "name": "Legacy-named symbol `skills_sh_sitemap_v1` in tools/skills_hub.py:1552", "shortDescription": {"text": "Legacy-named symbol `skills_sh_sitemap_v1` in tools/skills_hub.py:1552"}, "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-a23c4a8685c74bc8", "name": "Commented-code block (7 lines) in tools/skills_hub.py:424", "shortDescription": {"text": "Commented-code block (7 lines) in tools/skills_hub.py:424"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e58ec9fcb33d74d", "name": "Commented-code block (5 lines) in tools/code_execution_tool.py:82", "shortDescription": {"text": "Commented-code block (5 lines) in tools/code_execution_tool.py:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ded2984e0ecf326c", "name": "Commented-code block (7 lines) in tools/homeassistant_tool.py:44", "shortDescription": {"text": "Commented-code block (7 lines) in tools/homeassistant_tool.py:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b40612d6a0799058", "name": "Legacy-named symbol `eleven_multilingual_v2` in tools/tts_tool.py:171", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in tools/tts_tool.py:171"}, "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-8a97841aa93da814", "name": "Commented-code block (7 lines) in tools/tts_tool.py:354", "shortDescription": {"text": "Commented-code block (7 lines) in tools/tts_tool.py:354"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b830d12b9c9d0ec", "name": "Commented-code block (6 lines) in tools/skills_tool.py:347", "shortDescription": {"text": "Commented-code block (6 lines) in tools/skills_tool.py:347"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e3bbe68c823cfcc6", "name": "Commented-code block (5 lines) in tools/lazy_deps.py:185", "shortDescription": {"text": "Commented-code block (5 lines) in tools/lazy_deps.py:185"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dfb6bf734a3066ed", "name": "Commented-code block (6 lines) in tools/threat_patterns.py:142", "shortDescription": {"text": "Commented-code block (6 lines) in tools/threat_patterns.py:142"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-930d0fb968985d9f", "name": "Commented-code block (5 lines) in tools/image_generation_tool.py:36", "shortDescription": {"text": "Commented-code block (5 lines) in tools/image_generation_tool.py: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-656fda60d6a42e48", "name": "Commented-code block (6 lines) in tools/file_operations.py:2249", "shortDescription": {"text": "Commented-code block (6 lines) in tools/file_operations.py:2249"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f9211d9038532d28", "name": "Commented-code block (5 lines) in tools/osv_check.py:85", "shortDescription": {"text": "Commented-code block (5 lines) in tools/osv_check.py:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-26977da0e8777576", "name": "Commented-code block (6 lines) in tools/process_registry.py:62", "shortDescription": {"text": "Commented-code block (6 lines) in tools/process_registry.py:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17f3f5d3fefd7469", "name": "Commented-code block (6 lines) in tools/video_generation_tool.py:109", "shortDescription": {"text": "Commented-code block (6 lines) in tools/video_generation_tool.py: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-97300317957c660c", "name": "Commented-code block (5 lines) in tools/approval.py:643", "shortDescription": {"text": "Commented-code block (5 lines) in tools/approval.py:643"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-168618614bf3207f", "name": "Commented-code block (7 lines) in tools/todo_tool.py:24", "shortDescription": {"text": "Commented-code block (7 lines) in tools/todo_tool.py: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-cde35ff92f4f0da7", "name": "Commented-code block (6 lines) in tools/terminal_tool.py:1778", "shortDescription": {"text": "Commented-code block (6 lines) in tools/terminal_tool.py:1778"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-72e4be9afa6ffd39", "name": "Commented-code block (5 lines) in tools/write_approval.py:62", "shortDescription": {"text": "Commented-code block (5 lines) in tools/write_approval.py:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e60d24bae8bf5b59", "name": "Commented-code block (6 lines) in tools/computer_use/cua_backend.py:460", "shortDescription": {"text": "Commented-code block (6 lines) in tools/computer_use/cua_backend.py:460"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-807423a41d744a5e", "name": "Commented-code block (5 lines) in tools/computer_use/tool.py:541", "shortDescription": {"text": "Commented-code block (5 lines) in tools/computer_use/tool.py:541"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1709ad7b008d2198", "name": "Commented-code block (6 lines) in tools/upstream/sync.py:124", "shortDescription": {"text": "Commented-code block (6 lines) in tools/upstream/sync.py:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-63632794895108a7", "name": "Network/subprocess call without timeout or try/except \u2014 tools/upstream/sync.py:141", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/upstream/sync.py:141"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-216ece2b6aef1cf5", "name": "Commented-code block (6 lines) in tools/environments/local.py:78", "shortDescription": {"text": "Commented-code block (6 lines) in tools/environments/local.py:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4b9a0e30a917131f", "name": "Commented-code block (11 lines) in ui-tui/packages/clawk-ink/src/utils/env.ts:43", "shortDescription": {"text": "Commented-code block (11 lines) in ui-tui/packages/clawk-ink/src/utils/env.ts:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0282353e07aab1d2", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/utils/sliceAnsi.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/utils/sliceAnsi.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-f7831ccbd1f7ee09", "name": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/log-update.test.ts:111", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/log-update.test.ts:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b85ae7bd9c8f091c", "name": "Commented-code block (8 lines) in ui-tui/packages/clawk-ink/src/ink/log-update.ts:155", "shortDescription": {"text": "Commented-code block (8 lines) in ui-tui/packages/clawk-ink/src/ink/log-update.ts:155"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-31ff38ffbf3b9a72", "name": "Commented-code block (12 lines) in ui-tui/packages/clawk-ink/src/ink/searchHighlight.ts:36", "shortDescription": {"text": "Commented-code block (12 lines) in ui-tui/packages/clawk-ink/src/ink/searchHighlight.ts:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05bac4e9c2f4124f", "name": "Commented-code block (8 lines) in ui-tui/packages/clawk-ink/src/ink/ink-cursor-advance.test.ts:48", "shortDescription": {"text": "Commented-code block (8 lines) in ui-tui/packages/clawk-ink/src/ink/ink-cursor-advance.test.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cdae6f7e890e4a02", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/selection.ts:101", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/selection.ts:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-26182767c02b9d8b", "name": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/output.ts:290", "shortDescription": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/output.ts:290"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ab4de0f0618cfb6", "name": "Commented-code block (11 lines) in ui-tui/packages/clawk-ink/src/ink/renderer.ts:77", "shortDescription": {"text": "Commented-code block (11 lines) in ui-tui/packages/clawk-ink/src/ink/renderer.ts:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5fcdcc6b830bd03", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/cache-eviction.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/cache-eviction.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-f760fe0daec60001", "name": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/terminal.ts:140", "shortDescription": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/terminal.ts:140"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ac9993c7193c2bdc", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/optimizer.ts:66", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/optimizer.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-3812a099653c54fb", "name": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/ink.tsx:199", "shortDescription": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/ink.tsx:199"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-329a4a5c300e0758", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/screen.ts:103", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/screen.ts:103"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8ff9c25d32c974c1", "name": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/dom.ts:62", "shortDescription": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/dom.ts:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-777a2d39075cb93e", "name": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/parse-keypress.ts:25", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/parse-keypress.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-4af25da9334c9f6f", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/terminal-focus-state.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/terminal-focus-state.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-53a7b68e0c50da95", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/render-to-screen.ts:150", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/render-to-screen.ts:150"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-43f57d0bb2769344", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/stringWidth.ts:263", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/stringWidth.ts:263"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7eed036a82817531", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/wrap-text.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/wrap-text.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-1ce06f52e9d24d99", "name": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/render-node-to-output.ts:25", "shortDescription": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/render-node-to-output.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-954c7825f50d6086", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/events/input-event.ts:77", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/events/input-event.ts:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87fea8ac9888bfd3", "name": "Commented-code block (8 lines) in ui-tui/packages/clawk-ink/src/ink/components/ScrollBox.tsx:88", "shortDescription": {"text": "Commented-code block (8 lines) in ui-tui/packages/clawk-ink/src/ink/components/ScrollBox.tsx: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-2202f4846f705c4f", "name": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/components/Link.tsx:8", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/components/Link.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-2a1650415656cf81", "name": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/components/AlternateScreen.tsx:70", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/components/AlternateScreen.tsx:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b88c8a5ac43ebb87", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/components/App.tsx:47", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/components/App.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-4a304aae5adcb102", "name": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/hooks/use-input.ts:47", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/hooks/use-input.ts: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-e7d8c98cee0ca6b4", "name": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/hooks/use-terminal-viewport.ts:54", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/hooks/use-terminal-viewport.ts:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f8c2f3de9134b5c6", "name": "Commented-code block (13 lines) in ui-tui/packages/clawk-ink/src/ink/hooks/use-declared-cursor.ts:42", "shortDescription": {"text": "Commented-code block (13 lines) in ui-tui/packages/clawk-ink/src/ink/hooks/use-declared-cursor.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-7b734a3b5a43eae7", "name": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/termio/tokenize.ts:220", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/termio/tokenize.ts:220"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa951115844dd94b", "name": "Commented-code block (9 lines) in ui-tui/packages/clawk-ink/src/ink/termio/dec.ts:52", "shortDescription": {"text": "Commented-code block (9 lines) in ui-tui/packages/clawk-ink/src/ink/termio/dec.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-d66c303d97452671", "name": "Commented-code block (12 lines) in ui-tui/src/entry.tsx:26", "shortDescription": {"text": "Commented-code block (12 lines) in ui-tui/src/entry.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-93c279ceb42b1da7", "name": "Commented-code block (7 lines) in ui-tui/src/gatewayClient.ts:194", "shortDescription": {"text": "Commented-code block (7 lines) in ui-tui/src/gatewayClient.ts:194"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a24d07cd93031af9", "name": "Commented-code block (5 lines) in ui-tui/src/types.ts:133", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/types.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-4d1c052c5b5a2e32", "name": "Commented-code block (7 lines) in ui-tui/src/__tests__/terminalModes.test.ts:40", "shortDescription": {"text": "Commented-code block (7 lines) in ui-tui/src/__tests__/terminalModes.test.ts:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-257bdc3acfe343bb", "name": "Commented-code block (6 lines) in ui-tui/src/__tests__/appChromeStatusRuleDevCredits.test.tsx:7", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/src/__tests__/appChromeStatusRuleDevCredits.test.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-8eef0223d1e42167", "name": "Commented-code block (5 lines) in ui-tui/src/__tests__/mathUnicode.test.ts:79", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/mathUnicode.test.ts:79"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16a4193e38a8ec9f", "name": "Commented-code block (5 lines) in ui-tui/src/__tests__/useConfigSync.test.ts:239", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/useConfigSync.test.ts:239"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a015d21c99c6207", "name": "Commented-code block (5 lines) in ui-tui/src/__tests__/createSlashHandler.test.ts:301", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/createSlashHandler.test.ts:301"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d9b37aeefc6528c1", "name": "Commented-code block (5 lines) in ui-tui/src/__tests__/virtualHeights.test.ts:91", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/virtualHeights.test.ts:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-734b0d8da3cbea05", "name": "Commented-code block (6 lines) in ui-tui/src/__tests__/reasoning.test.ts:32", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/src/__tests__/reasoning.test.ts:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9880c3f82e199646", "name": "Commented-code block (6 lines) in ui-tui/src/__tests__/gatewayClient.test.ts:347", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/src/__tests__/gatewayClient.test.ts:347"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-18dd9f0ae7446c54", "name": "Commented-code block (5 lines) in ui-tui/src/__tests__/createGatewayEventHandler.test.ts:1413", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/createGatewayEventHandler.test.ts:1413"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a3d4427ebcb4a334", "name": "Commented-code block (8 lines) in ui-tui/src/__tests__/textInputCursorSourceOfTruth.test.ts:12", "shortDescription": {"text": "Commented-code block (8 lines) in ui-tui/src/__tests__/textInputCursorSourceOfTruth.test.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-a455dfc2f7e8f900", "name": "Commented-code block (10 lines) in ui-tui/src/config/limits.ts:6", "shortDescription": {"text": "Commented-code block (10 lines) in ui-tui/src/config/limits.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-b2e3884fba99faea", "name": "Legacy-named symbol `mouseTrackingDisabledLegacy` in ui-tui/src/config/env.ts:45", "shortDescription": {"text": "Legacy-named symbol `mouseTrackingDisabledLegacy` in ui-tui/src/config/env.ts:45"}, "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-a8a329eb0ff32d8b", "name": "Commented-code block (7 lines) in ui-tui/src/config/env.ts:37", "shortDescription": {"text": "Commented-code block (7 lines) in ui-tui/src/config/env.ts:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-81a9ae479bc08d0c", "name": "Commented-code block (5 lines) in ui-tui/src/components/appChrome.tsx:105", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/components/appChrome.tsx: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-0e0979b72a707351", "name": "Commented-code block (5 lines) in ui-tui/src/components/streamingAssistant.tsx:44", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/components/streamingAssistant.tsx:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24d740ba6d91fa50", "name": "Commented-code block (5 lines) in ui-tui/src/app/turnController.ts:138", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/app/turnController.ts:138"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dca8c1424de9aaa5", "name": "Commented-code block (6 lines) in ui-tui/src/app/gatewayRecovery.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/src/app/gatewayRecovery.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-b7b816d6d54daa79", "name": "Commented-code block (8 lines) in ui-tui/src/app/useInputHandlers.ts:220", "shortDescription": {"text": "Commented-code block (8 lines) in ui-tui/src/app/useInputHandlers.ts:220"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-63a1dec5c10e995d", "name": "Commented-code block (7 lines) in ui-tui/src/app/delegationStore.ts:33", "shortDescription": {"text": "Commented-code block (7 lines) in ui-tui/src/app/delegationStore.ts:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-66ca2c0167c412e3", "name": "Commented-code block (8 lines) in ui-tui/src/app/useSubmission.ts:218", "shortDescription": {"text": "Commented-code block (8 lines) in ui-tui/src/app/useSubmission.ts:218"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eea6ca01703df16b", "name": "Commented-code block (9 lines) in ui-tui/src/app/createGatewayEventHandler.ts:95", "shortDescription": {"text": "Commented-code block (9 lines) in ui-tui/src/app/createGatewayEventHandler.ts:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb9f0274a3d0736a", "name": "Commented-code block (6 lines) in ui-tui/src/app/useMainApp.ts:305", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/src/app/useMainApp.ts:305"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4a1cb7a7d03965f1", "name": "Commented-code block (5 lines) in ui-tui/src/app/interfaces.ts:35", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/app/interfaces.ts:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0310477a4da8676b", "name": "Commented-code block (5 lines) in ui-tui/src/app/slash/commands/session.ts:275", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/app/slash/commands/session.ts:275"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84e4124c245de8d4", "name": "Commented-code block (9 lines) in ui-tui/src/lib/openExternalUrl.ts:58", "shortDescription": {"text": "Commented-code block (9 lines) in ui-tui/src/lib/openExternalUrl.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e02633b3c35eaf14", "name": "Commented-code block (5 lines) in ui-tui/src/lib/fuzzy.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/lib/fuzzy.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-f3ff74202dcd9513", "name": "Commented-code block (6 lines) in ui-tui/src/lib/emoji.ts:38", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/src/lib/emoji.ts:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc07044ba790fe3f", "name": "Commented-code block (5 lines) in ui-tui/src/lib/mathUnicode.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/lib/mathUnicode.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-2b763fb05ba35a0c", "name": "Commented-code block (6 lines) in ui-tui/src/lib/memoryMonitor.ts:19", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/src/lib/memoryMonitor.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-408ef1298f9a59cb", "name": "Commented-code block (5 lines) in ui-tui/src/lib/reasoning.ts:24", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/lib/reasoning.ts: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-f87e60c491e25214", "name": "Commented-code block (6 lines) in ui-tui/src/lib/clipboard.ts:94", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/src/lib/clipboard.ts:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a8a1a81fe175bcad", "name": "Commented-code block (6 lines) in ui-tui/src/lib/virtualHeights.ts:33", "shortDescription": {"text": "Commented-code block (6 lines) in ui-tui/src/lib/virtualHeights.ts:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-63e86d1dd35fda1e", "name": "Commented-code block (5 lines) in ui-tui/src/domain/blockLayout.ts:45", "shortDescription": {"text": "Commented-code block (5 lines) in ui-tui/src/domain/blockLayout.ts:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b9d66d229323ef93", "name": "Commented-code block (10 lines) in ui-tui/src/domain/details.ts:10", "shortDescription": {"text": "Commented-code block (10 lines) in ui-tui/src/domain/details.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-c4a6a7234b114317", "name": "Commented-code block (9 lines) in gateway/slash_access.py:41", "shortDescription": {"text": "Commented-code block (9 lines) in gateway/slash_access.py:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-db08358036ba521f", "name": "Commented-code block (5 lines) in gateway/display_config.py:43", "shortDescription": {"text": "Commented-code block (5 lines) in gateway/display_config.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e6f34a1604a7d6fd", "name": "Commented-code block (16 lines) in gateway/kanban_watchers.py:80", "shortDescription": {"text": "Commented-code block (16 lines) in gateway/kanban_watchers.py:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d01efaca2afb121", "name": "Commented-code block (5 lines) in gateway/slash_commands.py:71", "shortDescription": {"text": "Commented-code block (5 lines) in gateway/slash_commands.py:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4702caa3eb3e5afe", "name": "Commented-code block (5 lines) in gateway/config.py:331", "shortDescription": {"text": "Commented-code block (5 lines) in gateway/config.py:331"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2d06eb3c1523bb58", "name": "Legacy-named symbol `_warned_telegram_group_users_legacy` in gateway/authz_mixin.py:392", "shortDescription": {"text": "Legacy-named symbol `_warned_telegram_group_users_legacy` in gateway/authz_mixin.py:392"}, "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-12a50e8f4a71ab85", "name": "Commented-code block (5 lines) in gateway/authz_mixin.py:188", "shortDescription": {"text": "Commented-code block (5 lines) in gateway/authz_mixin.py:188"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b301f41f9f41df7e", "name": "Commented-code block (7 lines) in gateway/stream_consumer.py:58", "shortDescription": {"text": "Commented-code block (7 lines) in gateway/stream_consumer.py:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe909871c8f79c1f", "name": "Network/subprocess call without timeout or try/except \u2014 gateway/shutdown_forensics.py:389", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 gateway/shutdown_forensics.py:389"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7330de1f0123b26", "name": "Commented-code block (7 lines) in gateway/session.py:313", "shortDescription": {"text": "Commented-code block (7 lines) in gateway/session.py:313"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-37b429de39a9e3fb", "name": "Legacy-named symbol `_warned_telegram_group_users_legacy` in gateway/run.py:11108", "shortDescription": {"text": "Legacy-named symbol `_warned_telegram_group_users_legacy` in gateway/run.py:11108"}, "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-6c116f60f402b828", "name": "Network/subprocess call without timeout or try/except \u2014 gateway/run.py:6273", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 gateway/run.py:6273"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8975fd37e9094a30", "name": "Blocking `time.sleep(...)` inside `async def _launch_detached_restart_command` \u2014 gateway/run.py:6172", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def _launch_detached_restart_command` \u2014 gateway/run.py:6172"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-97ee5004fee8d933", "name": "Commented-code block (7 lines) in gateway/hooks.py:118", "shortDescription": {"text": "Commented-code block (7 lines) in gateway/hooks.py:118"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b913b3bb5b9e4a5", "name": "Commented-code block (7 lines) in gateway/platform_registry.py:113", "shortDescription": {"text": "Commented-code block (7 lines) in gateway/platform_registry.py:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4b6826ad2d743848", "name": "Legacy-named symbol `comment_add_v1` in gateway/platforms/feishu_comment.py:4", "shortDescription": {"text": "Legacy-named symbol `comment_add_v1` in gateway/platforms/feishu_comment.py:4"}, "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-0f98d8deff49351c", "name": "Commented-code block (7 lines) in gateway/platforms/__init__.py:13", "shortDescription": {"text": "Commented-code block (7 lines) in gateway/platforms/__init__.py: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-47bd18ba9f4869c2", "name": "Commented-code block (8 lines) in gateway/platforms/matrix.py:849", "shortDescription": {"text": "Commented-code block (8 lines) in gateway/platforms/matrix.py:849"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c15b1df481939d6", "name": "Legacy-named symbol `meeting_invited_v1` in gateway/platforms/feishu_meeting_invite.py:7", "shortDescription": {"text": "Legacy-named symbol `meeting_invited_v1` in gateway/platforms/feishu_meeting_invite.py:7"}, "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-f35b294e76a27760", "name": "Commented-code block (5 lines) in gateway/platforms/api_server.py:417", "shortDescription": {"text": "Commented-code block (5 lines) in gateway/platforms/api_server.py:417"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-71f85e721edcd8f9", "name": "Commented-code block (5 lines) in gateway/platforms/whatsapp_cloud.py:127", "shortDescription": {"text": "Commented-code block (5 lines) in gateway/platforms/whatsapp_cloud.py:127"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b229f16269937fc7", "name": "Commented-code block (6 lines) in gateway/platforms/whatsapp.py:287", "shortDescription": {"text": "Commented-code block (6 lines) in gateway/platforms/whatsapp.py:287"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-771f7a7529ede238", "name": "Network/subprocess call without timeout or try/except \u2014 gateway/platforms/whatsapp.py:509", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 gateway/platforms/whatsapp.py:509"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-15b5c513fc498a3e", "name": "Commented-code block (5 lines) in gateway/platforms/telegram.py:363", "shortDescription": {"text": "Commented-code block (5 lines) in gateway/platforms/telegram.py:363"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-637556cdadfab0db", "name": "Commented-code block (6 lines) in gateway/platforms/base.py:881", "shortDescription": {"text": "Commented-code block (6 lines) in gateway/platforms/base.py:881"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5890e162839e8f04", "name": "Legacy-named symbol `receive_v1` in gateway/platforms/feishu.py:443", "shortDescription": {"text": "Legacy-named symbol `receive_v1` in gateway/platforms/feishu.py:443"}, "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-c71bcb92c18564b5", "name": "Commented-code block (8 lines) in gateway/platforms/yuanbao.py:128", "shortDescription": {"text": "Commented-code block (8 lines) in gateway/platforms/yuanbao.py:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-962942f160ffe2e5", "name": "Commented-code block (8 lines) in gateway/platforms/weixin.py:1211", "shortDescription": {"text": "Commented-code block (8 lines) in gateway/platforms/weixin.py:1211"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7fe5ce8360151412", "name": "Legacy-named symbol `files_upload_v2` in gateway/platforms/slack.py:1391", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in gateway/platforms/slack.py:1391"}, "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-dd232a0c09dde74d", "name": "Commented-code block (6 lines) in gateway/platforms/slack.py:59", "shortDescription": {"text": "Commented-code block (6 lines) in gateway/platforms/slack.py: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-81c31f998804125c", "name": "Stub function `handle_file_created` (body is just `pass`/`return`) \u2014 gateway/platforms/slack.py:888", "shortDescription": {"text": "Stub function `handle_file_created` (body is just `pass`/`return`) \u2014 gateway/platforms/slack.py:888"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4f18140d60ee64f", "name": "Commented-code block (7 lines) in gateway/platforms/webhook.py:118", "shortDescription": {"text": "Commented-code block (7 lines) in gateway/platforms/webhook.py:118"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4bae4f1996428a27", "name": "Commented-code block (10 lines) in gateway/platforms/yuanbao_proto.py:276", "shortDescription": {"text": "Commented-code block (10 lines) in gateway/platforms/yuanbao_proto.py:276"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c405e99eb93661d", "name": "Commented-code block (5 lines) in gateway/platforms/email.py:578", "shortDescription": {"text": "Commented-code block (5 lines) in gateway/platforms/email.py:578"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3b87270317759df0", "name": "Commented-code block (6 lines) in gateway/platforms/msgraph_webhook.py:278", "shortDescription": {"text": "Commented-code block (6 lines) in gateway/platforms/msgraph_webhook.py:278"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-913dd40b4e1786ca", "name": "Legacy-named symbol `history_v2` in skills/creative/comfyui/tests/test_common.py:55", "shortDescription": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/tests/test_common.py:55"}, "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-32e2c7c99c5acc29", "name": "Legacy-named symbol `test_history_renamed_to_v2` in skills/creative/comfyui/tests/test_cloud_integration.py:46", "shortDescription": {"text": "Legacy-named symbol `test_history_renamed_to_v2` in skills/creative/comfyui/tests/test_cloud_integration.py:46"}, "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-bfa0cea82e874006", "name": "Legacy-named symbol `history_v2` in skills/creative/comfyui/tests/test_run_workflow.py:280", "shortDescription": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/tests/test_run_workflow.py:280"}, "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-833f182f7487e208", "name": "Legacy-named symbol `history_v2` in skills/creative/comfyui/scripts/run_workflow.py:7", "shortDescription": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/scripts/run_workflow.py:7"}, "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-0d616afffc89c5ae", "name": "Commented-code block (5 lines) in skills/creative/comfyui/scripts/run_workflow.py:467", "shortDescription": {"text": "Commented-code block (5 lines) in skills/creative/comfyui/scripts/run_workflow.py:467"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02498a5950643c9e", "name": "Network/subprocess call without timeout or try/except \u2014 skills/creative/comfyui/scripts/auto_fix_deps.py:58", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/creative/comfyui/scripts/auto_fix_deps.py:58"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-535cf1a3e4147b89", "name": "Legacy-named symbol `history_v2` in skills/creative/comfyui/scripts/_common.py:464", "shortDescription": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/scripts/_common.py:464"}, "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-543220bd8b45d4af", "name": "Legacy-named symbol `history_v2` in skills/creative/comfyui/scripts/fetch_logs.py:45", "shortDescription": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/scripts/fetch_logs.py:45"}, "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-6f0fed009fe230f2", "name": "Network/subprocess call without timeout or try/except \u2014 skills/productivity/google-workspace/scripts/gws_bridge.py:159", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/productivity/google-workspace/scripts/gws_bridge.py:159"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-91f1c18a846b99aa", "name": "Network/subprocess call without timeout or try/except \u2014 skills/productivity/google-workspace/scripts/google_api.py:166", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/productivity/google-workspace/scripts/google_api.py:166"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c710d95507b15cf5", "name": "Commented-code block (6 lines) in acp_adapter/server.py:983", "shortDescription": {"text": "Commented-code block (6 lines) in acp_adapter/server.py:983"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eb397efaadcff185", "name": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 plugins/context_engine/__init__.py:291", "shortDescription": {"text": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 plugins/context_engine/__init__.py:291"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec5a412279a75f02", "name": "Commented-code block (8 lines) in plugins/platforms/teams/adapter.py:33", "shortDescription": {"text": "Commented-code block (8 lines) in plugins/platforms/teams/adapter.py:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b239936aeef6f37", "name": "Stub function `clear_cache` (body is just `pass`/`return`) \u2014 plugins/platforms/teams/adapter.py:139", "shortDescription": {"text": "Stub function `clear_cache` (body is just `pass`/`return`) \u2014 plugins/platforms/teams/adapter.py:139"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-578ed660c9fcfee1", "name": "Commented-code block (5 lines) in plugins/platforms/photon/auth.py:63", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/platforms/photon/auth.py:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fcc78cbfe3e7da1a", "name": "Commented-code block (7 lines) in plugins/platforms/photon/cli.py:379", "shortDescription": {"text": "Commented-code block (7 lines) in plugins/platforms/photon/cli.py:379"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b79f3b767c5fc1eb", "name": "Network/subprocess call without timeout or try/except \u2014 plugins/platforms/photon/cli.py:387", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/platforms/photon/cli.py:387"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4c85102189377c56", "name": "Commented-code block (5 lines) in plugins/platforms/photon/adapter.py:842", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/platforms/photon/adapter.py:842"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-893e83d48bed65e4", "name": "Commented-code block (8 lines) in plugins/platforms/photon/sidecar/index.mjs:8", "shortDescription": {"text": "Commented-code block (8 lines) in plugins/platforms/photon/sidecar/index.mjs: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-73f59e651384b7bf", "name": "Commented-code block (7 lines) in plugins/platforms/discord/adapter.py:9801", "shortDescription": {"text": "Commented-code block (7 lines) in plugins/platforms/discord/adapter.py:9801"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6015a655845f421a", "name": "Legacy-named symbol `pubsub_v1` in plugins/platforms/google_chat/adapter.py:65", "shortDescription": {"text": "Legacy-named symbol `pubsub_v1` in plugins/platforms/google_chat/adapter.py:65"}, "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-81cd8d667b85058d", "name": "Commented-code block (5 lines) in plugins/platforms/google_chat/adapter.py:49", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/platforms/google_chat/adapter.py: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-45df84e9f5966d4f", "name": "Legacy-named symbol `chat_v1` in plugins/platforms/google_chat/oauth.py:49", "shortDescription": {"text": "Legacy-named symbol `chat_v1` in plugins/platforms/google_chat/oauth.py:49"}, "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-f88629b4ac0f9b4d", "name": "Commented-code block (6 lines) in plugins/platforms/mattermost/adapter.py:1685", "shortDescription": {"text": "Commented-code block (6 lines) in plugins/platforms/mattermost/adapter.py:1685"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cb946b67394f342c", "name": "Commented-code block (5 lines) in plugins/model-providers/opencode-zen/__init__.py:37", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/model-providers/opencode-zen/__init__.py:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-70b6c89d31508c69", "name": "Network/subprocess call without timeout or try/except \u2014 plugins/security-guidance/patterns.py:265", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/security-guidance/patterns.py:265"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8dc6060f18a123ba", "name": "Commented-code block (5 lines) in plugins/kanban/dashboard/plugin_api.py:145", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/kanban/dashboard/plugin_api.py:145"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b4b4c813d7e053df", "name": "Commented-code block (6 lines) in plugins/google_meet/meet_bot.py:369", "shortDescription": {"text": "Commented-code block (6 lines) in plugins/google_meet/meet_bot.py:369"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c050b87063f71e98", "name": "Network/subprocess call without timeout or try/except \u2014 plugins/google_meet/audio_bridge.py:144", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/google_meet/audio_bridge.py:144"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-afd0bfad55af8154", "name": "Commented-code block (6 lines) in plugins/observability/nemo_relay/__init__.py:295", "shortDescription": {"text": "Commented-code block (6 lines) in plugins/observability/nemo_relay/__init__.py:295"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c53637586becf7c", "name": "Commented-code block (6 lines) in plugins/observability/langfuse/__init__.py:62", "shortDescription": {"text": "Commented-code block (6 lines) in plugins/observability/langfuse/__init__.py:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2657759fbf800130", "name": "Commented-code block (5 lines) in plugins/web/parallel/provider.py:39", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/web/parallel/provider.py:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-025443d8122329d0", "name": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 plugins/memory/__init__.py:515", "shortDescription": {"text": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 plugins/memory/__init__.py:515"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb5c7a0080cf7954", "name": "Commented-code block (6 lines) in plugins/memory/honcho/client.py:209", "shortDescription": {"text": "Commented-code block (6 lines) in plugins/memory/honcho/client.py:209"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-684a5e62163532e0", "name": "Commented-code block (7 lines) in plugins/memory/honcho/cli.py:43", "shortDescription": {"text": "Commented-code block (7 lines) in plugins/memory/honcho/cli.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a3166ab129991b42", "name": "Network/subprocess call without timeout or try/except \u2014 plugins/memory/honcho/cli.py:415", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/memory/honcho/cli.py:415"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-55d6424ab4635ca0", "name": "Commented-code block (5 lines) in plugins/memory/hindsight/__init__.py:55", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/memory/hindsight/__init__.py: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-876825bb90b33502", "name": "Commented-code block (7 lines) in plugins/video_gen/fal/__init__.py:59", "shortDescription": {"text": "Commented-code block (7 lines) in plugins/video_gen/fal/__init__.py: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-0ece8caacc454278", "name": "905 env vars used in code but missing from .env.example", "shortDescription": {"text": "905 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `AGENT_BROWSER_ENGINE`, `AGENT_BROWSER_EXECUTABLE_PATH`, `ALL_PROXY`, `ALPHA_VANTAGE_KEY`, `ANTHROPIC_API_KEY`, `ANTHROPIC_TOKEN`, `API_BASE_URL`, `API_PORT` + 897 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nclawk_state.py:search_sessions_by_id, clawk_state.py:search_sessions\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\ncli.py:handler, cli.py:handler, cli.py:handler\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nagent/video_gen_provider.py:default_model, agent/tts_provider.py:default_model, agent/image_gen_provider.py:default_model, agent/transcription_provider.py:default_model\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ec8d502686cc2a0", "name": "Frontend route `:sessionId` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx", "shortDescription": {"text": "Frontend route `:sessionId` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fa115f64c2991387", "name": "Frontend route `cron` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx", "shortDescription": {"text": "Frontend route `cron` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-783817527841e966", "name": "Frontend route `profiles` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx", "shortDescription": {"text": "Frontend route `profiles` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5f7176383daeec85", "name": "Frontend route `settings` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx", "shortDescription": {"text": "Frontend route `settings` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-13f05a273754c42f", "name": "Frontend route `command-center` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx", "shortDescription": {"text": "Frontend route `command-center` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-84fb29d7c5cf1774", "name": "Frontend route `agents` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx", "shortDescription": {"text": "Frontend route `agents` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-95a8709e8b2f50fd", "name": "FastAPI POST `auth_password_login` without auth dependency \u2014 clawk_cli/dashboard_auth/routes.py:646", "shortDescription": {"text": "FastAPI POST `auth_password_login` without auth dependency \u2014 clawk_cli/dashboard_auth/routes.py:646"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b330a1f726445ab2", "name": "FastAPI POST `auth_logout` without auth dependency \u2014 clawk_cli/dashboard_auth/routes.py:770", "shortDescription": {"text": "FastAPI POST `auth_logout` without auth dependency \u2014 clawk_cli/dashboard_auth/routes.py:770"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c85c9f5d4357e459", "name": "FastAPI POST `api_auth_ws_ticket` without auth dependency \u2014 clawk_cli/dashboard_auth/routes.py:846", "shortDescription": {"text": "FastAPI POST `api_auth_ws_ticket` without auth dependency \u2014 clawk_cli/dashboard_auth/routes.py:846"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dccd0018bd9cf734", "name": "FastAPI POST `create_task` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:597", "shortDescription": {"text": "FastAPI POST `create_task` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:597"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-462e6437cc8f9419", "name": "FastAPI POST `upload_task_attachment` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:687", "shortDescription": {"text": "FastAPI POST `upload_task_attachment` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:687"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-598d9d875d48a1ff", "name": "FastAPI DELETE `remove_attachment` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:789", "shortDescription": {"text": "FastAPI DELETE `remove_attachment` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:789"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dacc03ca6b7f4586", "name": "FastAPI PATCH `update_task` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:821", "shortDescription": {"text": "FastAPI PATCH `update_task` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:821"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ea8d1cc569e65f6b", "name": "FastAPI DELETE `delete_task` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:944", "shortDescription": {"text": "FastAPI DELETE `delete_task` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:944"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8414161347c75887", "name": "FastAPI POST `add_comment` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1091", "shortDescription": {"text": "FastAPI POST `add_comment` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1091"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bae021734a2111ac", "name": "FastAPI POST `add_link` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1117", "shortDescription": {"text": "FastAPI POST `add_link` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1117"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e9b8430fc4b8327", "name": "FastAPI DELETE `delete_link` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1130", "shortDescription": {"text": "FastAPI DELETE `delete_link` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1130"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-89d00857566a153a", "name": "FastAPI POST `bulk_update` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1161", "shortDescription": {"text": "FastAPI POST `bulk_update` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1161"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-320d0c4ee8bc36d8", "name": "FastAPI POST `terminate_run_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1507", "shortDescription": {"text": "FastAPI POST `terminate_run_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1507"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ba9a244c568af5d4", "name": "FastAPI POST `reclaim_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1563", "shortDescription": {"text": "FastAPI POST `reclaim_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1563"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-41e0cacab7a0f91e", "name": "FastAPI POST `specify_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1601", "shortDescription": {"text": "FastAPI POST `specify_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1601"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f69fb8140cf67eed", "name": "FastAPI POST `reassign_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1651", "shortDescription": {"text": "FastAPI POST `reassign_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1651"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-609c6c999d1048f7", "name": "FastAPI POST `subscribe_home` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1813", "shortDescription": {"text": "FastAPI POST `subscribe_home` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1813"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1d17481ebcffa7ce", "name": "FastAPI DELETE `unsubscribe_home` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1848", "shortDescription": {"text": "FastAPI DELETE `unsubscribe_home` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1848"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a942387f1fccf8f", "name": "FastAPI POST `dispatch` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1954", "shortDescription": {"text": "FastAPI POST `dispatch` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1954"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-76a4ecc0a96c9a97", "name": "FastAPI POST `create_board_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2025", "shortDescription": {"text": "FastAPI POST `create_board_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2025"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-96636ed0b9b6b886", "name": "FastAPI PATCH `rename_board` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2046", "shortDescription": {"text": "FastAPI PATCH `rename_board` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2046"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5e675ebb42a4f17e", "name": "FastAPI DELETE `delete_board` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2065", "shortDescription": {"text": "FastAPI DELETE `delete_board` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2065"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0af28e54cb3a2f5e", "name": "FastAPI POST `switch_board` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2075", "shortDescription": {"text": "FastAPI POST `switch_board` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2075"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8db1eac896ec2d87", "name": "FastAPI PATCH `update_profile_description` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2145", "shortDescription": {"text": "FastAPI PATCH `update_profile_description` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2145"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c37ad0f6da656f6", "name": "FastAPI POST `auto_describe_profile` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2178", "shortDescription": {"text": "FastAPI POST `auto_describe_profile` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2178"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7de0e60e9ec722b8", "name": "FastAPI POST `decompose_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2214", "shortDescription": {"text": "FastAPI POST `decompose_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2214"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8c6b7f994bcd7eff", "name": "FastAPI PUT `set_orchestration_settings` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2308", "shortDescription": {"text": "FastAPI PUT `set_orchestration_settings` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2308"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-54ac159dcbfd1706", "name": "FastAPI POST `rescan` without auth dependency \u2014 plugins/clawk-achievements/dashboard/plugin_api.py:2378", "shortDescription": {"text": "FastAPI POST `rescan` without auth dependency \u2014 plugins/clawk-achievements/dashboard/plugin_api.py:2378"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f16d5f6f9e501c47", "name": "FastAPI POST `reset_state` without auth dependency \u2014 plugins/clawk-achievements/dashboard/plugin_api.py:2384", "shortDescription": {"text": "FastAPI POST `reset_state` without auth dependency \u2014 plugins/clawk-achievements/dashboard/plugin_api.py:2384"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2c2133e1713a28bd", "name": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/click-session.mjs:2)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/click-session.mjs:2)"}, "fullDescription": {"text": "`apps/desktop/scripts/click-session.mjs:2` calls `GET http://127.0.0.1:9222/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:9222/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6d3fa0f786822c45", "name": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/probe-renderer.mjs:2)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/probe-renderer.mjs:2)"}, "fullDescription": {"text": "`apps/desktop/scripts/probe-renderer.mjs:2` calls `GET http://127.0.0.1:9222/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:9222/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4b907794ea8d5ad7", "name": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/measure-latency.mjs:63)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/measure-latency.mjs:63)"}, "fullDescription": {"text": "`apps/desktop/scripts/measure-latency.mjs:63` calls `GET http://127.0.0.1:${PORT}/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2a4c14b0ade92a14", "name": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/diag-scroll-reset.mjs:33)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/diag-scroll-reset.mjs:33)"}, "fullDescription": {"text": "`apps/desktop/scripts/diag-scroll-reset.mjs:33` calls `GET http://127.0.0.1:9222/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:9222/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-035098ff12a67886", "name": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/profile-typing.mjs:85)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/profile-typing.mjs:85)"}, "fullDescription": {"text": "`apps/desktop/scripts/profile-typing.mjs:85` calls `GET http://127.0.0.1:${PORT}/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d47da1aa0f374adc", "name": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/reload-renderer.mjs:2)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/reload-renderer.mjs:2)"}, "fullDescription": {"text": "`apps/desktop/scripts/reload-renderer.mjs:2` calls `GET http://127.0.0.1:9222/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:9222/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b95d7c1bb53a3dee", "name": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/diag-jump.mjs:3)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/diag-jump.mjs:3)"}, "fullDescription": {"text": "`apps/desktop/scripts/diag-jump.mjs:3` calls `GET http://127.0.0.1:9222/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:9222/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee106b86147ecb4c", "name": "Dangling fetch: GET http://127.0.0.1:9222/json (apps/desktop/scripts/reload.mjs:3)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json (apps/desktop/scripts/reload.mjs:3)"}, "fullDescription": {"text": "`apps/desktop/scripts/reload.mjs:3` calls `GET http://127.0.0.1:9222/json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:9222/json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-61bd91ce2ae3283f", "name": "Dangling fetch: GET http://127.0.0.1:9222/json (apps/desktop/scripts/eval.mjs:2)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json (apps/desktop/scripts/eval.mjs:2)"}, "fullDescription": {"text": "`apps/desktop/scripts/eval.mjs:2` calls `GET http://127.0.0.1:9222/json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:9222/json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-331f4cbbca7b1585", "name": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/leak-typing.mjs:59)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/leak-typing.mjs:59)"}, "fullDescription": {"text": "`apps/desktop/scripts/leak-typing.mjs:59` calls `GET http://127.0.0.1:${PORT}/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-910840e7a16b6ea2", "name": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/measure-jump.mjs:14)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/measure-jump.mjs:14)"}, "fullDescription": {"text": "`apps/desktop/scripts/measure-jump.mjs:14` calls `GET http://127.0.0.1:9222/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:9222/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1d6559bef82ac5c7", "name": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/profile-long-stream.mjs:37)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/profile-long-stream.mjs:37)"}, "fullDescription": {"text": "`apps/desktop/scripts/profile-long-stream.mjs:37` calls `GET http://127.0.0.1:${PORT}/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-98c1b151b9ecb842", "name": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/probe-thread.mjs:3)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/probe-thread.mjs:3)"}, "fullDescription": {"text": "`apps/desktop/scripts/probe-thread.mjs:3` calls `GET http://127.0.0.1:9222/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:9222/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-feee6e2a946106f0", "name": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/measure-submit.mjs:57)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/measure-submit.mjs:57)"}, "fullDescription": {"text": "`apps/desktop/scripts/measure-submit.mjs:57` calls `GET http://127.0.0.1:${PORT}/json/list` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/json/list`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-963710f42a2c8219", "name": "Unused endpoint: GET /api/status", "shortDescription": {"text": "Unused endpoint: GET /api/status"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24919a1b3038764e", "name": "Unused endpoint: GET /api/system/stats", "shortDescription": {"text": "Unused endpoint: GET /api/system/stats"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/system/stats` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-463eb32070621b84", "name": "Unused endpoint: GET /api/curator", "shortDescription": {"text": "Unused endpoint: GET /api/curator"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/curator` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fad7dee227cf621d", "name": "Unused endpoint: PUT /api/curator/paused", "shortDescription": {"text": "Unused endpoint: PUT /api/curator/paused"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `PUT /api/curator/paused` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc362b0c7948b0d0", "name": "Unused endpoint: POST /api/curator/run", "shortDescription": {"text": "Unused endpoint: POST /api/curator/run"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/curator/run` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c61bcf74cf014cd9", "name": "Unused endpoint: GET /api/portal", "shortDescription": {"text": "Unused endpoint: GET /api/portal"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/portal` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-809d30ab09df385e", "name": "Unused endpoint: POST /api/ops/prompt-size", "shortDescription": {"text": "Unused endpoint: POST /api/ops/prompt-size"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/ops/prompt-size` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c76340a087ad91aa", "name": "Unused endpoint: POST /api/ops/dump", "shortDescription": {"text": "Unused endpoint: POST /api/ops/dump"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/ops/dump` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de6b0ad9ccc68ddf", "name": "Unused endpoint: POST /api/ops/config-migrate", "shortDescription": {"text": "Unused endpoint: POST /api/ops/config-migrate"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/ops/config-migrate` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a65364c3e7fe8b1", "name": "Unused endpoint: POST /api/ops/debug-share", "shortDescription": {"text": "Unused endpoint: POST /api/ops/debug-share"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/ops/debug-share` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4083768260d4a820", "name": "Unused endpoint: POST /api/gateway/restart", "shortDescription": {"text": "Unused endpoint: POST /api/gateway/restart"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/gateway/restart` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ffa8b0558507990f", "name": "Unused endpoint: POST /api/clawksis/update", "shortDescription": {"text": "Unused endpoint: POST /api/clawksis/update"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/clawksis/update` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c7d8129af0e5588", "name": "Unused endpoint: GET /api/clawksis/update/check", "shortDescription": {"text": "Unused endpoint: GET /api/clawksis/update/check"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/clawksis/update/check` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a20d4e70ef50ff5", "name": "Unused endpoint: POST /api/audio/transcribe", "shortDescription": {"text": "Unused endpoint: POST /api/audio/transcribe"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/audio/transcribe` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a92e1173487efc9c", "name": "Unused endpoint: GET /api/audio/elevenlabs/voices", "shortDescription": {"text": "Unused endpoint: GET /api/audio/elevenlabs/voices"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/audio/elevenlabs/voices` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da9ff52f041fe2ff", "name": "Unused endpoint: POST /api/audio/speak", "shortDescription": {"text": "Unused endpoint: POST /api/audio/speak"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/audio/speak` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc2a64713e3ba710", "name": "Unused endpoint: GET /api/actions/{name}/status", "shortDescription": {"text": "Unused endpoint: GET /api/actions/{name}/status"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/actions/{name}/status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf2e6e2188a510ee", "name": "Unused endpoint: GET /api/sessions", "shortDescription": {"text": "Unused endpoint: GET /api/sessions"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/sessions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ae0da226f234c4e", "name": "Unused endpoint: GET /api/sessions/search", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/search"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/sessions/search` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7aa4b2518cbbbfa2", "name": "Unused endpoint: GET /api/config", "shortDescription": {"text": "Unused endpoint: GET /api/config"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/config` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f265efee78815c9c", "name": "Unused endpoint: GET /api/config/defaults", "shortDescription": {"text": "Unused endpoint: GET /api/config/defaults"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/config/defaults` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3df459b886bf814", "name": "Unused endpoint: GET /api/config/schema", "shortDescription": {"text": "Unused endpoint: GET /api/config/schema"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/config/schema` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-def8762309fb2ecd", "name": "Unused endpoint: GET /api/model/info", "shortDescription": {"text": "Unused endpoint: GET /api/model/info"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/model/info` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c67c08ec8c4b0435", "name": "Unused endpoint: GET /api/model/options", "shortDescription": {"text": "Unused endpoint: GET /api/model/options"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/model/options` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90083828053b20bb", "name": "Unused endpoint: GET /api/model/recommended-default", "shortDescription": {"text": "Unused endpoint: GET /api/model/recommended-default"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/model/recommended-default` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c14c182c37ec7d11", "name": "Unused endpoint: GET /api/model/auxiliary", "shortDescription": {"text": "Unused endpoint: GET /api/model/auxiliary"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/model/auxiliary` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35745d4371415ca4", "name": "Unused endpoint: POST /api/model/set", "shortDescription": {"text": "Unused endpoint: POST /api/model/set"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/model/set` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22923df0fba6d7e8", "name": "Unused endpoint: PUT /api/config", "shortDescription": {"text": "Unused endpoint: PUT /api/config"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `PUT /api/config` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7565b3d2505e70e", "name": "Unused endpoint: GET /api/env", "shortDescription": {"text": "Unused endpoint: GET /api/env"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/env` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4627a78bce493dad", "name": "Unused endpoint: PUT /api/env", "shortDescription": {"text": "Unused endpoint: PUT /api/env"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `PUT /api/env` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b905b5d312ba28a3", "name": "Unused endpoint: POST /api/providers/validate", "shortDescription": {"text": "Unused endpoint: POST /api/providers/validate"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/providers/validate` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-60740ae29f26a801", "name": "Unused endpoint: DELETE /api/env", "shortDescription": {"text": "Unused endpoint: DELETE /api/env"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `DELETE /api/env` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9396e8dc7a5e36ce", "name": "Unused endpoint: POST /api/env/reveal", "shortDescription": {"text": "Unused endpoint: POST /api/env/reveal"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/env/reveal` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee36712eb55b0960", "name": "Unused endpoint: GET /api/messaging/platforms", "shortDescription": {"text": "Unused endpoint: GET /api/messaging/platforms"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/messaging/platforms` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac75a17ad64f5c87", "name": "Unused endpoint: PUT /api/messaging/platforms/{platform_id}", "shortDescription": {"text": "Unused endpoint: PUT /api/messaging/platforms/{platform_id}"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `PUT /api/messaging/platforms/{platform_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a240bc9b06bf46a9", "name": "Unused endpoint: POST /api/messaging/platforms/{platform_id}/test", "shortDescription": {"text": "Unused endpoint: POST /api/messaging/platforms/{platform_id}/test"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/messaging/platforms/{platform_id}/test` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-65e17379ca9ada31", "name": "Unused endpoint: GET /api/providers/oauth", "shortDescription": {"text": "Unused endpoint: GET /api/providers/oauth"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/providers/oauth` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbd2f0eaa1a58b5a", "name": "Unused endpoint: DELETE /api/providers/oauth/{provider_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/providers/oauth/{provider_id}"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `DELETE /api/providers/oauth/{provider_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-796c2da313969aed", "name": "Unused endpoint: POST /api/providers/oauth/{provider_id}/start", "shortDescription": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/start"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/providers/oauth/{provider_id}/start` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d3c1410ce59a120", "name": "Unused endpoint: POST /api/providers/oauth/{provider_id}/submit", "shortDescription": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/submit"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/providers/oauth/{provider_id}/submit` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42dcf4e222d9eb9a", "name": "Unused endpoint: GET /api/providers/oauth/{provider_id}/poll/{session_id}", "shortDescription": {"text": "Unused endpoint: GET /api/providers/oauth/{provider_id}/poll/{session_id}"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/providers/oauth/{provider_id}/poll/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e82e4f8bdc25ea20", "name": "Unused endpoint: DELETE /api/providers/oauth/sessions/{session_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/providers/oauth/sessions/{session_id}"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `DELETE /api/providers/oauth/sessions/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13a1198c49bcc853", "name": "Unused endpoint: POST /api/sessions/bulk-delete", "shortDescription": {"text": "Unused endpoint: POST /api/sessions/bulk-delete"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `POST /api/sessions/bulk-delete` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d6f74c347439793", "name": "Unused endpoint: GET /api/sessions/empty/count", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/empty/count"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/sessions/empty/count` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26de36877ee6f3b9", "name": "Unused endpoint: DELETE /api/sessions/empty", "shortDescription": {"text": "Unused endpoint: DELETE /api/sessions/empty"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `DELETE /api/sessions/empty` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69c08686cd5b9f77", "name": "Unused endpoint: GET /api/sessions/stats", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/stats"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/sessions/stats` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47dfa881a4926912", "name": "Unused endpoint: GET /api/sessions/{session_id}", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/{session_id}"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/sessions/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02e60e6ccdf9a1c1", "name": "Unused endpoint: GET /api/sessions/{session_id}/latest-descendant", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/{session_id}/latest-descendant"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/sessions/{session_id}/latest-descendant` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-587d4512fde14873", "name": "Unused endpoint: GET /api/sessions/{session_id}/messages", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/{session_id}/messages"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `GET /api/sessions/{session_id}/messages` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-710e260b0cccd592", "name": "Unused endpoint: DELETE /api/sessions/{session_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/sessions/{session_id}"}, "fullDescription": {"text": "`clawk_cli/web_server.py` declares `DELETE /api/sessions/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/18906"}, "properties": {"repository": "samuelgradientai-sys/clawksis-agent", "repoUrl": "https://github.com/samuelgradientai-sys/clawksis-agent", "branch": "main"}, "results": [{"ruleId": "scanner-8fc39245c0c20c38", "level": "note", "message": {"text": "Possibly dead Python function: restore_rewound"}, "properties": {"repobilityId": "245bda64feca4dfc", "scanner": "scanner-primary", "fingerprint": "8fc39245c0c20c38", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_state.py:4032"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0926d4e622148392", "level": "note", "message": {"text": "Possibly dead Python function: clear_messages"}, "properties": {"repobilityId": "a0fcccf0849b6d34", "scanner": "scanner-primary", "fingerprint": "0926d4e622148392", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_state.py:5013"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4c733147bbdeaaa8", "level": "note", "message": {"text": "Possibly dead Python function: read_recent"}, "properties": {"repobilityId": "76918c565c375dbc", "scanner": "scanner-primary", "fingerprint": "4c733147bbdeaaa8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agent_events.py:265"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bbf68e381ec5eed5", "level": "note", "message": {"text": "Possibly dead Python function: run_background"}, "properties": {"repobilityId": "08913be92a79f49f", "scanner": "scanner-primary", "fingerprint": "bbf68e381ec5eed5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cli.py:14553"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c3441aa672c25c3a", "level": "note", "message": {"text": "Possibly dead Python function: apply_transformation"}, "properties": {"repobilityId": "a4e51d16c6421fcf", "scanner": "scanner-primary", "fingerprint": "c3441aa672c25c3a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cli.py:22675"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-012abacf68e5fe93", "level": "note", "message": {"text": "Possibly dead Python function: spinner_loop"}, "properties": {"repobilityId": "28c0baa28b897dc8", "scanner": "scanner-primary", "fingerprint": "012abacf68e5fe93", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cli.py:23852"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8591b2be6c6e6d3b", "level": "note", "message": {"text": "Possibly dead Python function: process_loop"}, "properties": {"repobilityId": "a675ee415509c6fc", "scanner": "scanner-primary", "fingerprint": "8591b2be6c6e6d3b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cli.py:23884"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-910078f3217cbe17", "level": "note", "message": {"text": "Possibly dead Python function: env_bool"}, "properties": {"repobilityId": "ac376b37cf19df97", "scanner": "scanner-primary", "fingerprint": "910078f3217cbe17", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "utils.py:330"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1973e3d329c2a224", "level": "note", "message": {"text": "Possibly dead Python function: process_entry"}, "properties": {"repobilityId": "7e30eab994a5d416", "scanner": "scanner-primary", "fingerprint": "1973e3d329c2a224", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "trajectory_compressor.py:1596"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a77b3b873afc3706", "level": "note", "message": {"text": "Possibly dead Python function: crawl_source"}, "properties": {"repobilityId": "2dd6022379f97114", "scanner": "scanner-primary", "fingerprint": "a77b3b873afc3706", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/build_skills_index.py:67"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-300c27f48d9c78ec", "level": "note", "message": {"text": "Possibly dead Python function: sub_link"}, "properties": {"repobilityId": "eecd2e4b105c322a", "scanner": "scanner-primary", "fingerprint": "300c27f48d9c78ec", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "website/scripts/generate-skill-docs.py:237"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc2725e6cc5e7883", "level": "note", "message": {"text": "Possibly dead Python function: finalize_turn"}, "properties": {"repobilityId": "0df4899c6fe5f429", "scanner": "scanner-primary", "fingerprint": "dc2725e6cc5e7883", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agent/turn_finalizer.py:30"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-64760ce9695792e9", "level": "note", "message": {"text": "Possibly dead Python function: expires_unix_seconds"}, "properties": {"repobilityId": "21984f04b855dce0", "scanner": "scanner-primary", "fingerprint": "64760ce9695792e9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agent/google_oauth.py:682"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-96486bdb7c98060f", "level": "note", "message": {"text": "Possibly dead Python function: log_message"}, "properties": {"repobilityId": "965f3150b4af5b2e", "scanner": "scanner-primary", "fingerprint": "96486bdb7c98060f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agent/google_oauth.py:1097"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8e079fd4118ab8df", "level": "note", "message": {"text": "Possibly dead Python function: save_b64_video"}, "properties": {"repobilityId": "97b8686acb8d775c", "scanner": "scanner-primary", "fingerprint": "8e079fd4118ab8df", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agent/video_gen_provider.py:349"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4c5118c34db9db9b", "level": "note", "message": {"text": "Possibly dead Python function: save_bytes_video"}, "properties": {"repobilityId": "20499f4d8f2e9f5f", "scanner": "scanner-primary", "fingerprint": "4c5118c34db9db9b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agent/video_gen_provider.py:380"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f2ee84d6e3ed09f1", "level": "note", "message": {"text": "Possibly dead Python function: save_trajectory"}, "properties": {"repobilityId": "1e872351a70e47d3", "scanner": "scanner-primary", "fingerprint": "f2ee84d6e3ed09f1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agent/trajectory.py:34"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f3d310899fd6ac71", "level": "note", "message": {"text": "Possibly dead Python function: register_subparser"}, "properties": {"repobilityId": "f0b218048ca49ad4", "scanner": "scanner-primary", "fingerprint": "f3d310899fd6ac71", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agent/lsp/cli.py:37"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d3d2ef23f5dc4c3", "level": "note", "message": {"text": "Possibly dead Python function: run_lsp_command"}, "properties": {"repobilityId": "05fe105b1d84c339", "scanner": "scanner-primary", "fingerprint": "8d3d2ef23f5dc4c3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agent/lsp/cli.py:92"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-65804c079bb14601", "level": "note", "message": {"text": "Possibly dead Python function: dec"}, "properties": {"repobilityId": "e051f92a9c74d209", "scanner": "scanner-primary", "fingerprint": "65804c079bb14601", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tui_gateway/server.py:628"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ec301c8f2e85527f", "level": "note", "message": {"text": "Possibly dead Python function: secret_cb"}, "properties": {"repobilityId": "2d321898a570e578", "scanner": "scanner-primary", "fingerprint": "ec301c8f2e85527f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tui_gateway/server.py:2797"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2827cd9883389328", "level": "note", "message": {"text": "Possibly dead Python function: tool_start"}, "properties": {"repobilityId": "8c8a66e94ceda5ea", "scanner": "scanner-primary", "fingerprint": "2827cd9883389328", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tui_gateway/server.py:3198"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e4d196e5624b47be", "level": "note", "message": {"text": "Possibly dead Python function: tool_complete"}, "properties": {"repobilityId": "ba04f4adb685ed88", "scanner": "scanner-primary", "fingerprint": "e4d196e5624b47be", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tui_gateway/server.py:3206"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-502578cdabeb6227", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/session-picker.tsx:87"}, "properties": {"repobilityId": "5f660d7344e8633c", "scanner": "scanner-primary", "fingerprint": "502578cdabeb6227", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7d7320f5758110ae", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/desktop-onboarding-overlay.tsx:391"}, "properties": {"repobilityId": "4069bb278c266cd8", "scanner": "scanner-primary", "fingerprint": "7d7320f5758110ae", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4e846e2fdc9aacc3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/model-picker.tsx:249"}, "properties": {"repobilityId": "65c3b68713e66fa4", "scanner": "scanner-primary", "fingerprint": "4e846e2fdc9aacc3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-60503c1c69f0c782", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/model-visibility-dialog.tsx:135"}, "properties": {"repobilityId": "04b4fc68ec7cc47e", "scanner": "scanner-primary", "fingerprint": "60503c1c69f0c782", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5126b017d9ec071c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/desktop-install-overlay.tsx:156"}, "properties": {"repobilityId": "f73b578bbd690d29", "scanner": "scanner-primary", "fingerprint": "5126b017d9ec071c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c82451da74b65207", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/language-switcher.tsx:74"}, "properties": {"repobilityId": "02029ee559d3f56e", "scanner": "scanner-primary", "fingerprint": "c82451da74b65207", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3e0095efb8572f01", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/chat/status-section.tsx:35"}, "properties": {"repobilityId": "7e9b8559645f0730", "scanner": "scanner-primary", "fingerprint": "3e0095efb8572f01", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b1fb619523a031c0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/chat/preview-attachment.tsx:112"}, "properties": {"repobilityId": "2b00b02ca66e39af", "scanner": "scanner-primary", "fingerprint": "b1fb619523a031c0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ae21d111122bcdd5", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/assistant-ui/thread.tsx:344"}, "properties": {"repobilityId": "805eb04bb7fe2514", "scanner": "scanner-primary", "fingerprint": "ae21d111122bcdd5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-63ca7fb7f10041b8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/desktop/src/components/assistant-ui/thread.tsx:433"}, "properties": {"repobilityId": "c85b83c0dd0864b8", "scanner": "scanner-primary", "fingerprint": "63ca7fb7f10041b8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-99d963b1ab4044d3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/assistant-ui/markdown-text.tsx:187"}, "properties": {"repobilityId": "396ddd5972c7106f", "scanner": "scanner-primary", "fingerprint": "99d963b1ab4044d3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dec59743c6a8dd30", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/components/assistant-ui/directive-text.tsx:435"}, "properties": {"repobilityId": "361e8ec41cb13760", "scanner": "scanner-primary", "fingerprint": "dec59743c6a8dd30", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d21fad5c8a4cfc8d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/session-switcher.tsx:78"}, "properties": {"repobilityId": "2188a7d7708d6e30", "scanner": "scanner-primary", "fingerprint": "d21fad5c8a4cfc8d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7ed3d9281b2b285c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/credential-key-ui.tsx:191"}, "properties": {"repobilityId": "5132fe0a0db873e3", "scanner": "scanner-primary", "fingerprint": "7ed3d9281b2b285c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6fa8da3a9090e917", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/primitives.tsx:60"}, "properties": {"repobilityId": "262a5fe3a3c96522", "scanner": "scanner-primary", "fingerprint": "6fa8da3a9090e917", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5db8f676866fcbc1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/providers-settings.tsx:203"}, "properties": {"repobilityId": "89c68d594c7c3260", "scanner": "scanner-primary", "fingerprint": "5db8f676866fcbc1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-eb08a86ec8e22c09", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/mcp-settings.tsx:219"}, "properties": {"repobilityId": "3a0070a181d0881e", "scanner": "scanner-primary", "fingerprint": "eb08a86ec8e22c09", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d653fdca4df86eea", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/appearance-settings.tsx:238"}, "properties": {"repobilityId": "538d24fa7c104ce6", "scanner": "scanner-primary", "fingerprint": "d653fdca4df86eea", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9c8a159aad55e13e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/settings/toolset-config-panel.tsx:402"}, "properties": {"repobilityId": "68207ea3667bdbf4", "scanner": "scanner-primary", "fingerprint": "9c8a159aad55e13e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-eb412af5f5c0372e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/index.tsx:152"}, "properties": {"repobilityId": "5e389c2815fd4f4d", "scanner": "scanner-primary", "fingerprint": "eb412af5f5c0372e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dd5385c648e10f37", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/queue-panel.tsx:88"}, "properties": {"repobilityId": "4184a91aafff59cc", "scanner": "scanner-primary", "fingerprint": "dd5385c648e10f37", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-05d15aa229fbaad3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/trigger-popover.tsx:162"}, "properties": {"repobilityId": "42f11733a15eb476", "scanner": "scanner-primary", "fingerprint": "05d15aa229fbaad3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-941170e39b623a4e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/attachments.tsx:118"}, "properties": {"repobilityId": "7363737b36624e1e", "scanner": "scanner-primary", "fingerprint": "941170e39b623a4e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c68064148b866d81", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/voice-activity.tsx:195"}, "properties": {"repobilityId": "5f7aa328e6c1dbc5", "scanner": "scanner-primary", "fingerprint": "c68064148b866d81", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7a0fffb011fee084", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/help-hint.tsx:68"}, "properties": {"repobilityId": "72aa4ae0180f44da", "scanner": "scanner-primary", "fingerprint": "7a0fffb011fee084", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7507b6fa145669c1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/composer/status-stack/status-row.tsx:141"}, "properties": {"repobilityId": "9673164d2b10c4ac", "scanner": "scanner-primary", "fingerprint": "7507b6fa145669c1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5af3ac89acef6fc2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/desktop/src/app/chat/composer/status-stack/status-row.tsx:23"}, "properties": {"repobilityId": "1a601e03f577bb46", "scanner": "scanner-primary", "fingerprint": "5af3ac89acef6fc2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b27c15675418bb6b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/right-rail/preview.tsx:131"}, "properties": {"repobilityId": "83b5804320ffa26e", "scanner": "scanner-primary", "fingerprint": "b27c15675418bb6b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5726cbe0613d6cc5", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/right-rail/preview-console.tsx:105"}, "properties": {"repobilityId": "9724b9fe41782a8e", "scanner": "scanner-primary", "fingerprint": "5726cbe0613d6cc5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-cdfb4ccccf764022", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/right-rail/preview-pane.tsx:613"}, "properties": {"repobilityId": "2a3d25df1aa4d5ff", "scanner": "scanner-primary", "fingerprint": "cdfb4ccccf764022", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-20ba71469c1b31e5", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/sidebar/session-row.tsx:206"}, "properties": {"repobilityId": "3707cbda8eb09659", "scanner": "scanner-primary", "fingerprint": "20ba71469c1b31e5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c21a287de5f01e44", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/sidebar/index.tsx:858"}, "properties": {"repobilityId": "d5dd2312ebb7c0a3", "scanner": "scanner-primary", "fingerprint": "c21a287de5f01e44", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-42b55f57e7b81ded", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/chat/sidebar/cron-jobs-section.tsx:246"}, "properties": {"repobilityId": "082a62fb46a1fbc8", "scanner": "scanner-primary", "fingerprint": "42b55f57e7b81ded", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5b65d65f6a4cf5d9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/right-sidebar/files/remote-picker.tsx:150"}, "properties": {"repobilityId": "ae513086963d4ef8", "scanner": "scanner-primary", "fingerprint": "5b65d65f6a4cf5d9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a53a11c0518d4920", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/right-sidebar/files/tree.tsx:226"}, "properties": {"repobilityId": "75f542d710d57fe0", "scanner": "scanner-primary", "fingerprint": "a53a11c0518d4920", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-76f8f0cb93f9f1b6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/messaging/index.tsx:330"}, "properties": {"repobilityId": "7da426a0f59a332f", "scanner": "scanner-primary", "fingerprint": "76f8f0cb93f9f1b6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7531b124ded37837", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/command-center/index.tsx:328"}, "properties": {"repobilityId": "1b0673c4025fb8ba", "scanner": "scanner-primary", "fingerprint": "7531b124ded37837", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c8c14e893916118e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/command-palette/index.tsx:654"}, "properties": {"repobilityId": "20bbf012dc80a3bb", "scanner": "scanner-primary", "fingerprint": "c8c14e893916118e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dfc7618e24c639c8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/command-palette/marketplace-theme-page.tsx:114"}, "properties": {"repobilityId": "068d5c403ff2fc7a", "scanner": "scanner-primary", "fingerprint": "dfc7618e24c639c8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-75efe17f11602740", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/cron/index.tsx:519"}, "properties": {"repobilityId": "84d577278d595f23", "scanner": "scanner-primary", "fingerprint": "75efe17f11602740", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0d95256a876f3882", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/gateway-menu-panel.tsx:108"}, "properties": {"repobilityId": "c2fffb2521fd8c5a", "scanner": "scanner-primary", "fingerprint": "0d95256a876f3882", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0935cf77071d5baf", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/keybind-panel.tsx:153"}, "properties": {"repobilityId": "a13b4e78babae471", "scanner": "scanner-primary", "fingerprint": "0935cf77071d5baf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-91d7a420ce2ad33f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/sidebar-label.tsx:19"}, "properties": {"repobilityId": "e9837be767f0cac4", "scanner": "scanner-primary", "fingerprint": "91d7a420ce2ad33f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7b6d5d99d6653043", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/statusbar-controls.tsx:93"}, "properties": {"repobilityId": "f9dcae6f9eb1a128", "scanner": "scanner-primary", "fingerprint": "7b6d5d99d6653043", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f52f56781ac8ae1d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/model-menu-panel.tsx:200"}, "properties": {"repobilityId": "80be5c9a4f668b7c", "scanner": "scanner-primary", "fingerprint": "f52f56781ac8ae1d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-311da5fddb7f7c88", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/shell/hooks/use-statusbar-items.tsx:423"}, "properties": {"repobilityId": "2e78a7dd3741638d", "scanner": "scanner-primary", "fingerprint": "311da5fddb7f7c88", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ad0374121ce72517", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/skills/index.tsx:263"}, "properties": {"repobilityId": "d0d6921508bf05f5", "scanner": "scanner-primary", "fingerprint": "ad0374121ce72517", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9e404a14e26d0452", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/profiles/index.tsx:233"}, "properties": {"repobilityId": "11dab4226627a85b", "scanner": "scanner-primary", "fingerprint": "9e404a14e26d0452", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bca10c41c44a2e0b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/desktop/src/app/session/hooks/use-message-stream.ts:168"}, "properties": {"repobilityId": "1bb0abd7f3e826be", "scanner": "scanner-primary", "fingerprint": "bca10c41c44a2e0b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-983bd3d0ae7fdaf3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/artifacts/index.tsx:716"}, "properties": {"repobilityId": "3fe797f093c72c0d", "scanner": "scanner-primary", "fingerprint": "983bd3d0ae7fdaf3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-20d6f26da59f2c62", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/desktop/src/app/overlays/overlay-split-layout.tsx:126"}, "properties": {"repobilityId": "18a9d7e15580fb88", "scanner": "scanner-primary", "fingerprint": "20d6f26da59f2c62", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d519b457f0e6e900", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/bootstrap-installer/src/routes/progress.tsx:179"}, "properties": {"repobilityId": "edd1305a4d42c5aa", "scanner": "scanner-primary", "fingerprint": "d519b457f0e6e900", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3f861bd1df9575cd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/whatsapp-bridge/bridge.js:227"}, "properties": {"repobilityId": "e949edfa4764d3dd", "scanner": "scanner-primary", "fingerprint": "3f861bd1df9575cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-31d32c726a920f7c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/public/pixel-office/assets/browserMock-9mReCTnJ.js:1"}, "properties": {"repobilityId": "80c9e1d15f3eb677", "scanner": "scanner-primary", "fingerprint": "31d32c726a920f7c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b413684a9e41a42e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/public/pixel-office/assets/index-CvwgKoo0.js:9"}, "properties": {"repobilityId": "e447f8e22f87abb0", "scanner": "scanner-primary", "fingerprint": "b413684a9e41a42e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d8b316f6e7a03e8c", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 web/public/pixel-office/assets/index-CvwgKoo0.js:9"}, "properties": {"repobilityId": "3fed9b06ade6ee70", "scanner": "scanner-primary", "fingerprint": "d8b316f6e7a03e8c", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-ad43dbfb035db7f0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ToolCall.tsx:131"}, "properties": {"repobilityId": "c807d21e1684739e", "scanner": "scanner-primary", "fingerprint": "ad43dbfb035db7f0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d762909ca2e33745", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/AuthWidget.tsx:261"}, "properties": {"repobilityId": "e71f579d0ba53e5a", "scanner": "scanner-primary", "fingerprint": "d762909ca2e33745", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5c4bfb57077419cc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/OAuthProvidersCard.tsx:177"}, "properties": {"repobilityId": "e2f0979cdc7cd00c", "scanner": "scanner-primary", "fingerprint": "5c4bfb57077419cc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c46f34ac7c4a8887", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ModelPickerDialog.tsx:477"}, "properties": {"repobilityId": "4111141d5834d0cd", "scanner": "scanner-primary", "fingerprint": "c46f34ac7c4a8887", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-faed15d318cd54e5", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/LanguageSwitcher.tsx:166"}, "properties": {"repobilityId": "50d838ae1e43dfc5", "scanner": "scanner-primary", "fingerprint": "faed15d318cd54e5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1f5f4399168d558e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/SlashPopover.tsx:156"}, "properties": {"repobilityId": "be4d9a56e5d78ec5", "scanner": "scanner-primary", "fingerprint": "1f5f4399168d558e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f6b03f68fee23123", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/PlatformsCard.tsx:60"}, "properties": {"repobilityId": "d31a0805759066fa", "scanner": "scanner-primary", "fingerprint": "f6b03f68fee23123", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-227611e6f692d522", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ThemeSwitcher.tsx:196"}, "properties": {"repobilityId": "d38a55caf9010dc5", "scanner": "scanner-primary", "fingerprint": "227611e6f692d522", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-783631379d9568d1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/components/ChatSidebar.tsx:330"}, "properties": {"repobilityId": "7a0ea57c74e18a88", "scanner": "scanner-primary", "fingerprint": "783631379d9568d1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-305b37a907e30da4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/src/lib/gatewayClient.ts:23"}, "properties": {"repobilityId": "c4abf4855724272c", "scanner": "scanner-primary", "fingerprint": "305b37a907e30da4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ba110309e8170042", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/PluginsPage.tsx:418"}, "properties": {"repobilityId": "c3e9aa6944ba285b", "scanner": "scanner-primary", "fingerprint": "ba110309e8170042", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3017b0947dcccba5", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/SystemPage.tsx:684"}, "properties": {"repobilityId": "99035297fa5fb461", "scanner": "scanner-primary", "fingerprint": "3017b0947dcccba5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1cd6e374b20d9b2f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/McpPage.tsx:582"}, "properties": {"repobilityId": "5b1c674b5df2d36a", "scanner": "scanner-primary", "fingerprint": "1cd6e374b20d9b2f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ae32ff51ba722d83", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/FilesPage.tsx:426"}, "properties": {"repobilityId": "7afc2ccf35f4d9fb", "scanner": "scanner-primary", "fingerprint": "ae32ff51ba722d83", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-66e5d72fb3e0fe10", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/EnvPage.tsx:281"}, "properties": {"repobilityId": "f52a1c83eb2a008f", "scanner": "scanner-primary", "fingerprint": "66e5d72fb3e0fe10", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-606f065aade00486", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/SessionsPage.tsx:102"}, "properties": {"repobilityId": "0cdbe9e7eb2c4ccc", "scanner": "scanner-primary", "fingerprint": "606f065aade00486", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7b289b99d2d28ff5", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/ModelsPage.tsx:401"}, "properties": {"repobilityId": "9d9e24a773f3339a", "scanner": "scanner-primary", "fingerprint": "7b289b99d2d28ff5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-95b28930c1b66a2d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/SkillsPage.tsx:695"}, "properties": {"repobilityId": "16e46b4f718018a1", "scanner": "scanner-primary", "fingerprint": "95b28930c1b66a2d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d4b1eebc4631d02c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/ProfilesPage.tsx:1095"}, "properties": {"repobilityId": "9cc764bee387cc34", "scanner": "scanner-primary", "fingerprint": "d4b1eebc4631d02c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4c407d7825134ffe", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/WebhooksPage.tsx:298"}, "properties": {"repobilityId": "b90e8db13cc701ac", "scanner": "scanner-primary", "fingerprint": "4c407d7825134ffe", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0d4908eb278ac3b0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/CronPage.tsx:803"}, "properties": {"repobilityId": "e390e9d55460552c", "scanner": "scanner-primary", "fingerprint": "0d4908eb278ac3b0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-450689e239cf27af", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/ConfigPage.tsx:574"}, "properties": {"repobilityId": "39d9728f87d810ce", "scanner": "scanner-primary", "fingerprint": "450689e239cf27af", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bd3e9b5cca3c5b9e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 web/src/pages/PairingPage.tsx:187"}, "properties": {"repobilityId": "d5fdd267a43d2fff", "scanner": "scanner-primary", "fingerprint": "bd3e9b5cca3c5b9e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2c1c86000bdb4a80", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 ui-tui/packages/clawk-ink/src/ink/events/input-event.ts:54"}, "properties": {"repobilityId": "d50bf1b547f5c5e0", "scanner": "scanner-primary", "fingerprint": "2c1c86000bdb4a80", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-62b0146efe82f4a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 ui-tui/src/entry.tsx:18"}, "properties": {"repobilityId": "d998de2be894cf8b", "scanner": "scanner-primary", "fingerprint": "62b0146efe82f4a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd0e555311a5ca3d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 ui-tui/src/__tests__/createGatewayEventHandler.test.ts:84"}, "properties": {"repobilityId": "0ce7e901bec2e8fc", "scanner": "scanner-primary", "fingerprint": "bd0e555311a5ca3d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5f01c44e4fc142c7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 ui-tui/src/components/markdown.tsx:723"}, "properties": {"repobilityId": "2a49fddbc23ec77a", "scanner": "scanner-primary", "fingerprint": "5f01c44e4fc142c7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3b57b0cf13eefbe7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/creative/p5js/scripts/export-frames.js:94"}, "properties": {"repobilityId": "04f8945e9905be3b", "scanner": "scanner-primary", "fingerprint": "3b57b0cf13eefbe7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c39e362fcbff23ed", "level": "warning", "message": {"text": "Privileged port 99 in use"}, "properties": {"repobilityId": "78349e9298b9fc49", "scanner": "scanner-primary", "fingerprint": "c39e362fcbff23ed", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docker/stage2-hook.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9cb3d0e55c9670f7", "level": "warning", "message": {"text": "Privileged port 587 in use"}, "properties": {"repobilityId": "a87a96c3b2e62c08", "scanner": "scanner-primary", "fingerprint": "9cb3d0e55c9670f7", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/gateway/test_email.py"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d63da3583b14afc0", "level": "warning", "message": {"text": "Dockerfile runs as root: Dockerfile"}, "properties": {"repobilityId": "a2ed1bd120e507db", "scanner": "scanner-primary", "fingerprint": "d63da3583b14afc0", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-43660fcb33ed5cb3", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: debian:13.4"}, "properties": {"repobilityId": "349e3157311f7fb3", "scanner": "scanner-primary", "fingerprint": "43660fcb33ed5cb3", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-d5a1cefd13bcd7ed", "level": "warning", "message": {"text": "Dockerfile ADD downloads remote content without checksum"}, "properties": {"repobilityId": "d49ae97720648bab", "scanner": "scanner-primary", "fingerprint": "d5a1cefd13bcd7ed", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "checksum"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-d5a1cefd13bcd7ed", "level": "warning", "message": {"text": "Dockerfile ADD downloads remote content without checksum"}, "properties": {"repobilityId": "03ba6f6afa69860b", "scanner": "scanner-primary", "fingerprint": "d5a1cefd13bcd7ed", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "checksum"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-77a464701f01cedf", "level": "error", "message": {"text": "Possible secret in README.md"}, "properties": {"repobilityId": "03df1be0543b7759", "scanner": "scanner-primary", "fingerprint": "77a464701f01cedf", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "README.md"}, "region": {"startLine": 364}}}]}, {"ruleId": "scanner-af1ea0361fc0b3b0", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in cli.py:14295"}, "properties": {"repobilityId": "b1d9cbd94cc4c80e", "scanner": "scanner-primary", "fingerprint": "af1ea0361fc0b3b0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cli.py"}, "region": {"startLine": 14295}}}]}, {"ruleId": "scanner-4a833c1a3304d619", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/desktop/electron/main.cjs:51"}, "properties": {"repobilityId": "b285d973d3306247", "scanner": "scanner-primary", "fingerprint": "4a833c1a3304d619", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/electron/main.cjs"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-b23c0e7feb6e162c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/desktop/electron/bootstrap-runner.cjs:81"}, "properties": {"repobilityId": "0f86b0a1934050f9", "scanner": "scanner-primary", "fingerprint": "b23c0e7feb6e162c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/electron/bootstrap-runner.cjs"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-c136b090d06f0156", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/desktop/electron/backend-probes.cjs:69"}, "properties": {"repobilityId": "a8fc6c23650aeec6", "scanner": "scanner-primary", "fingerprint": "c136b090d06f0156", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/electron/backend-probes.cjs"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-dae5262762487e2d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/desktop/scripts/test-desktop.mjs:7"}, "properties": {"repobilityId": "cc5d9c03a297379a", "scanner": "scanner-primary", "fingerprint": "dae5262762487e2d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/test-desktop.mjs"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-c36854df140ef82f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/desktop/scripts/notarize-artifact.cjs:7"}, "properties": {"repobilityId": "e377071be50d0625", "scanner": "scanner-primary", "fingerprint": "c36854df140ef82f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/notarize-artifact.cjs"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-797770f4de1a0b8e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/desktop/scripts/measure-latency.mjs:287"}, "properties": {"repobilityId": "e8e7a170e78c1296", "scanner": "scanner-primary", "fingerprint": "797770f4de1a0b8e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/measure-latency.mjs"}, "region": {"startLine": 287}}}]}, {"ruleId": "scanner-3103d6b24e7ec13e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/desktop/scripts/write-build-stamp.cjs:31"}, "properties": {"repobilityId": "1c3b720a49139f04", "scanner": "scanner-primary", "fingerprint": "3103d6b24e7ec13e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/write-build-stamp.cjs"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-980253a12ccd40dc", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/desktop/scripts/notarize.cjs:7"}, "properties": {"repobilityId": "74e1c5c703a7e360", "scanner": "scanner-primary", "fingerprint": "980253a12ccd40dc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/notarize.cjs"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-d7cca4fb2ff1d1ac", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in apps/desktop/scripts/profile-real-stream.mjs:40"}, "properties": {"repobilityId": "8eb734193684edb9", "scanner": "scanner-primary", "fingerprint": "d7cca4fb2ff1d1ac", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/profile-real-stream.mjs"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-b61b6709bead9ed8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/desktop/scripts/leak-typing.mjs:217"}, "properties": {"repobilityId": "2d8170e4245813b2", "scanner": "scanner-primary", "fingerprint": "b61b6709bead9ed8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/leak-typing.mjs"}, "region": {"startLine": 217}}}]}, {"ruleId": "scanner-3a275eca2dfcc16d", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in apps/desktop/scripts/measure-synthetic-stream.mjs:65"}, "properties": {"repobilityId": "484cf0586dd40fbb", "scanner": "scanner-primary", "fingerprint": "3a275eca2dfcc16d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/measure-synthetic-stream.mjs"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-c0d308ba70a6a1b2", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in apps/desktop/scripts/measure-real-stream.mjs:50"}, "properties": {"repobilityId": "69e4a4756a1087e9", "scanner": "scanner-primary", "fingerprint": "c0d308ba70a6a1b2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/measure-real-stream.mjs"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-1e54774cb36ed974", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in apps/desktop/scripts/profile-synth-stream.mjs:37"}, "properties": {"repobilityId": "9a12aab2725b8585", "scanner": "scanner-primary", "fingerprint": "1e54774cb36ed974", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/scripts/profile-synth-stream.mjs"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-cc58cc48fc255564", "level": "error", "message": {"text": "Possible secret in apps/desktop/src/i18n/zh-hant.ts"}, "properties": {"repobilityId": "27851eebe234ceda", "scanner": "scanner-primary", "fingerprint": "cc58cc48fc255564", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/i18n/zh-hant.ts"}, "region": {"startLine": 573}}}]}, {"ruleId": "scanner-cc58cc48fc255564", "level": "error", "message": {"text": "Possible secret in apps/desktop/src/i18n/zh-hant.ts"}, "properties": {"repobilityId": "27851eebe234ceda", "scanner": "scanner-primary", "fingerprint": "cc58cc48fc255564", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/i18n/zh-hant.ts"}, "region": {"startLine": 575}}}]}, {"ruleId": "scanner-5dfbbad522e47c87", "level": "error", "message": {"text": "Possible secret in apps/desktop/src/i18n/en.ts"}, "properties": {"repobilityId": "4c79d139820f567a", "scanner": "scanner-primary", "fingerprint": "5dfbbad522e47c87", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/i18n/en.ts"}, "region": {"startLine": 464}}}]}, {"ruleId": "scanner-5dfbbad522e47c87", "level": "error", "message": {"text": "Possible secret in apps/desktop/src/i18n/en.ts"}, "properties": {"repobilityId": "4c79d139820f567a", "scanner": "scanner-primary", "fingerprint": "5dfbbad522e47c87", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/i18n/en.ts"}, "region": {"startLine": 467}}}]}, {"ruleId": "scanner-49cb85571aaee3ea", "level": "error", "message": {"text": "Possible secret in apps/desktop/src/i18n/ja.ts"}, "properties": {"repobilityId": "645a0fbae62b37f8", "scanner": "scanner-primary", "fingerprint": "49cb85571aaee3ea", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/i18n/ja.ts"}, "region": {"startLine": 588}}}]}, {"ruleId": "scanner-49cb85571aaee3ea", "level": "error", "message": {"text": "Possible secret in apps/desktop/src/i18n/ja.ts"}, "properties": {"repobilityId": "645a0fbae62b37f8", "scanner": "scanner-primary", "fingerprint": "49cb85571aaee3ea", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/i18n/ja.ts"}, "region": {"startLine": 592}}}]}, {"ruleId": "scanner-4bc0eeaaeffb44ec", "level": "error", "message": {"text": "Possible secret in apps/desktop/src/i18n/zh.ts"}, "properties": {"repobilityId": "0080dbb4c5a5d1ba", "scanner": "scanner-primary", "fingerprint": "4bc0eeaaeffb44ec", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/i18n/zh.ts"}, "region": {"startLine": 660}}}]}, {"ruleId": "scanner-4bc0eeaaeffb44ec", "level": "error", "message": {"text": "Possible secret in apps/desktop/src/i18n/zh.ts"}, "properties": {"repobilityId": "0080dbb4c5a5d1ba", "scanner": "scanner-primary", "fingerprint": "4bc0eeaaeffb44ec", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/i18n/zh.ts"}, "region": {"startLine": 662}}}]}, {"ruleId": "scanner-fd487cd468dc3371", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/desktop/src/app/chat/composer/rich-editor.test.ts:43"}, "properties": {"repobilityId": "01805041de3e286b", "scanner": "scanner-primary", "fingerprint": "fd487cd468dc3371", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/app/chat/composer/rich-editor.test.ts"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-4d07d694bba71f73", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in apps/desktop/src/lib/desktop-slash-commands.ts:118"}, "properties": {"repobilityId": "484a23cd66f28f44", "scanner": "scanner-primary", "fingerprint": "4d07d694bba71f73", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/lib/desktop-slash-commands.ts"}, "region": {"startLine": 118}}}]}, {"ruleId": "scanner-08e4f241e98d38d9", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/whatsapp-bridge/bridge.js:29"}, "properties": {"repobilityId": "60764225c77aba5b", "scanner": "scanner-primary", "fingerprint": "08e4f241e98d38d9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/whatsapp-bridge/bridge.js"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-337c7da33f52292e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in website/scripts/prebuild.mjs:49"}, "properties": {"repobilityId": "84007990fa6b4de4", "scanner": "scanner-primary", "fingerprint": "337c7da33f52292e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "website/scripts/prebuild.mjs"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-643626e1cba99f8d", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in tui_gateway/server.py:8402"}, "properties": {"repobilityId": "814dee79ca03d534", "scanner": "scanner-primary", "fingerprint": "643626e1cba99f8d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tui_gateway/server.py"}, "region": {"startLine": 8402}}}]}, {"ruleId": "scanner-14bdcfad9d56638c", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in web/public/pixel-office/assets/index-CvwgKoo0.js:9"}, "properties": {"repobilityId": "3441b574f4b626f3", "scanner": "scanner-primary", "fingerprint": "14bdcfad9d56638c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/public/pixel-office/assets/index-CvwgKoo0.js"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-a1d1458231dac398", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/public/pixel-office/assets/index-CvwgKoo0.js:8"}, "properties": {"repobilityId": "5942617df983a50f", "scanner": "scanner-primary", "fingerprint": "a1d1458231dac398", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/public/pixel-office/assets/index-CvwgKoo0.js"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-e6c504886f7ed6df", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in web/src/lib/api.ts:278"}, "properties": {"repobilityId": "7b46985bbfec8df3", "scanner": "scanner-primary", "fingerprint": "e6c504886f7ed6df", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/src/lib/api.ts"}, "region": {"startLine": 278}}}]}, {"ruleId": "scanner-9d9fe1c0d1d99c47", "level": "error", "message": {"text": "Possible secret in optional-skills/security/1password/SKILL.md"}, "properties": {"repobilityId": "786257db5f1e3d22", "scanner": "scanner-primary", "fingerprint": "9d9fe1c0d1d99c47", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/security/1password/SKILL.md"}, "region": {"startLine": 142}}}]}, {"ruleId": "scanner-590277f2f987bcf2", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in optional-skills/security/godmode/SKILL.md:63"}, "properties": {"repobilityId": "1c6a03b7d0a43c51", "scanner": "scanner-primary", "fingerprint": "590277f2f987bcf2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/security/godmode/SKILL.md"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-a5bf50bd5c64cae6", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in optional-skills/security/godmode/scripts/auto_jailbreak.py:52"}, "properties": {"repobilityId": "378907ada83cd843", "scanner": "scanner-primary", "fingerprint": "a5bf50bd5c64cae6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/security/godmode/scripts/auto_jailbreak.py"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-35f516bc7a9bf39e", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in optional-skills/security/godmode/scripts/load_godmode.py:29"}, "properties": {"repobilityId": "65812ff00495b72f", "scanner": "scanner-primary", "fingerprint": "35f516bc7a9bf39e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/security/godmode/scripts/load_godmode.py"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-c275395f3657b6a3", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in optional-skills/mlops/guidance/SKILL.md:648"}, "properties": {"repobilityId": "f304d720d97aec1c", "scanner": "scanner-primary", "fingerprint": "c275395f3657b6a3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/guidance/SKILL.md"}, "region": {"startLine": 648}}}]}, {"ruleId": "scanner-80098fe826c939ce", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in optional-skills/devops/pinggy-tunnel/SKILL.md:295"}, "properties": {"repobilityId": "aeaaf6425423fb10", "scanner": "scanner-primary", "fingerprint": "80098fe826c939ce", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/devops/pinggy-tunnel/SKILL.md"}, "region": {"startLine": 295}}}]}, {"ruleId": "scanner-681cd9809d9ee830", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in clawk_cli/tips.py:291"}, "properties": {"repobilityId": "a0f9779a790062fe", "scanner": "scanner-primary", "fingerprint": "681cd9809d9ee830", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_cli/tips.py"}, "region": {"startLine": 291}}}]}, {"ruleId": "scanner-cea73f107ed3714b", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in clawk_cli/mcp_catalog.py:367"}, "properties": {"repobilityId": "43247480bb72d661", "scanner": "scanner-primary", "fingerprint": "cea73f107ed3714b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_cli/mcp_catalog.py"}, "region": {"startLine": 367}}}]}, {"ruleId": "scanner-eba0a5d6dbd7b5ed", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in clawk_cli/tools_config.py:1175"}, "properties": {"repobilityId": "5f179231afbb28fe", "scanner": "scanner-primary", "fingerprint": "eba0a5d6dbd7b5ed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_cli/tools_config.py"}, "region": {"startLine": 1175}}}]}, {"ruleId": "scanner-c2513b8a9dfea4b2", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in clawk_cli/cookbook.py:617"}, "properties": {"repobilityId": "0e9fc6c92532fae0", "scanner": "scanner-primary", "fingerprint": "c2513b8a9dfea4b2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_cli/cookbook.py"}, "region": {"startLine": 617}}}]}, {"ruleId": "scanner-27b7c5cf72f1ab73", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in tools/transcription_tools.py:1236"}, "properties": {"repobilityId": "fa4ab958e3ca3f3c", "scanner": "scanner-primary", "fingerprint": "27b7c5cf72f1ab73", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/transcription_tools.py"}, "region": {"startLine": 1236}}}]}, {"ruleId": "scanner-8409e90bb164c71e", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in tools/skills_guard.py:601"}, "properties": {"repobilityId": "5d612e9b778d2245", "scanner": "scanner-primary", "fingerprint": "8409e90bb164c71e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/skills_guard.py"}, "region": {"startLine": 601}}}]}, {"ruleId": "scanner-351e0a8c300e332b", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in tools/skills_guard.py:608"}, "properties": {"repobilityId": "71ae40b059e04bfb", "scanner": "scanner-primary", "fingerprint": "351e0a8c300e332b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/skills_guard.py"}, "region": {"startLine": 608}}}]}, {"ruleId": "scanner-4d0cbcfc48b4f296", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in tools/approval.py:633"}, "properties": {"repobilityId": "d59d6bfe2d70ae67", "scanner": "scanner-primary", "fingerprint": "4d0cbcfc48b4f296", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/approval.py"}, "region": {"startLine": 633}}}]}, {"ruleId": "scanner-2d5e750145ae0c92", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in ui-tui/packages/clawk-ink/src/utils/execFileNoThrow.ts:1"}, "properties": {"repobilityId": "7a55fb8a58d047d3", "scanner": "scanner-primary", "fingerprint": "2d5e750145ae0c92", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/packages/clawk-ink/src/utils/execFileNoThrow.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0fee549126089c02", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/gatewayClient.ts:1"}, "properties": {"repobilityId": "449336d03f13b137", "scanner": "scanner-primary", "fingerprint": "0fee549126089c02", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/src/gatewayClient.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-372400ac5c181850", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/__tests__/slashParity.test.ts:1"}, "properties": {"repobilityId": "f36693aef5c4a0f3", "scanner": "scanner-primary", "fingerprint": "372400ac5c181850", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/src/__tests__/slashParity.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e97e5539a1a083f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/app/useComposerState.ts:1"}, "properties": {"repobilityId": "2d7e3aec880c03eb", "scanner": "scanner-primary", "fingerprint": "6e97e5539a1a083f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/src/app/useComposerState.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-68d2d7f73d3e8562", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/lib/openExternalUrl.ts:1"}, "properties": {"repobilityId": "002da9eef73d1b1f", "scanner": "scanner-primary", "fingerprint": "68d2d7f73d3e8562", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/src/lib/openExternalUrl.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ab0bf22421c5a62f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/lib/externalCli.ts:1"}, "properties": {"repobilityId": "322190ae6adf1c2c", "scanner": "scanner-primary", "fingerprint": "ab0bf22421c5a62f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/src/lib/externalCli.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e890496589ee4607", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/lib/openExternalUrl.test.ts:1"}, "properties": {"repobilityId": "997150ecb3a31639", "scanner": "scanner-primary", "fingerprint": "e890496589ee4607", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/src/lib/openExternalUrl.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-15d92c8fe838df37", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/lib/clipboard.ts:1"}, "properties": {"repobilityId": "bfed318e7ce8fa40", "scanner": "scanner-primary", "fingerprint": "15d92c8fe838df37", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/src/lib/clipboard.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1b6f161984a9b710", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in ui-tui/src/hooks/useGitBranch.ts:1"}, "properties": {"repobilityId": "2b6db2f88c004e4b", "scanner": "scanner-primary", "fingerprint": "1b6f161984a9b710", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/src/hooks/useGitBranch.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7d6bb3847168936f", "level": "error", "message": {"text": "Possible secret in skills/creative/comfyui/SKILL.md"}, "properties": {"repobilityId": "691d716ef4b213df", "scanner": "scanner-primary", "fingerprint": "7d6bb3847168936f", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/creative/comfyui/SKILL.md"}, "region": {"startLine": 653}}}]}, {"ruleId": "scanner-2cbe560e64493d57", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in skills/red-teaming/godmode/SKILL.md:124"}, "properties": {"repobilityId": "33c7373f2004c252", "scanner": "scanner-primary", "fingerprint": "2cbe560e64493d57", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/red-teaming/godmode/SKILL.md"}, "region": {"startLine": 124}}}]}, {"ruleId": "scanner-61b96a9e61a642f0", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in skills/red-teaming/godmode/scripts/auto_jailbreak.py:96"}, "properties": {"repobilityId": "5e0f13e8d3bfe627", "scanner": "scanner-primary", "fingerprint": "61b96a9e61a642f0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/red-teaming/godmode/scripts/auto_jailbreak.py"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-c9ca5aac78403747", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in skills/red-teaming/godmode/scripts/load_godmode.py:58"}, "properties": {"repobilityId": "78e24d8e87748b81", "scanner": "scanner-primary", "fingerprint": "c9ca5aac78403747", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/red-teaming/godmode/scripts/load_godmode.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-55871668aee243eb", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in skills/mlops/evaluation/lm-evaluation-harness/SKILL.md:383"}, "properties": {"repobilityId": "d3e1ab566a49408e", "scanner": "scanner-primary", "fingerprint": "55871668aee243eb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mlops/evaluation/lm-evaluation-harness/SKILL.md"}, "region": {"startLine": 383}}}]}, {"ruleId": "scanner-34ab44483db88aa0", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in skills/software-development/requesting-code-review/SKILL.md:285"}, "properties": {"repobilityId": "71c29025b7cf6f91", "scanner": "scanner-primary", "fingerprint": "34ab44483db88aa0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/software-development/requesting-code-review/SKILL.md"}, "region": {"startLine": 285}}}]}, {"ruleId": "scanner-fed376abc1390d76", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in skills/software-development/requesting-code-review/SKILL.md:285"}, "properties": {"repobilityId": "3b8f87d79b1a5cf5", "scanner": "scanner-primary", "fingerprint": "fed376abc1390d76", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/software-development/requesting-code-review/SKILL.md"}, "region": {"startLine": 285}}}]}, {"ruleId": "scanner-d3e9a1c54d017f6c", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in skills/software-development/requesting-code-review/SKILL.md:117"}, "properties": {"repobilityId": "49966405b6b3935d", "scanner": "scanner-primary", "fingerprint": "d3e9a1c54d017f6c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/software-development/requesting-code-review/SKILL.md"}, "region": {"startLine": 117}}}]}, {"ruleId": "scanner-ee4f9da70d55bc3a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/software-development/requesting-code-review/SKILL.md:496"}, "properties": {"repobilityId": "631cc569ce41afeb", "scanner": "scanner-primary", "fingerprint": "ee4f9da70d55bc3a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/software-development/requesting-code-review/SKILL.md"}, "region": {"startLine": 496}}}]}, {"ruleId": "scanner-1303d06ad9113f60", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in hermes_lite/README.md:8"}, "properties": {"repobilityId": "27ce592f2dc9bea5", "scanner": "scanner-primary", "fingerprint": "1303d06ad9113f60", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes_lite/README.md"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-0ba8c8588e49fd3f", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in plugins/security-guidance/README.md:51"}, "properties": {"repobilityId": "cac5ad284cb958a3", "scanner": "scanner-primary", "fingerprint": "0ba8c8588e49fd3f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/README.md"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-02337f2c0d4643b1", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in plugins/security-guidance/README.md:51"}, "properties": {"repobilityId": "6a2581d4ef5c2060", "scanner": "scanner-primary", "fingerprint": "02337f2c0d4643b1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/README.md"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-32277f2d89da6f70", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in plugins/security-guidance/README.md:11"}, "properties": {"repobilityId": "ae3e8be786dfde98", "scanner": "scanner-primary", "fingerprint": "32277f2d89da6f70", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/README.md"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-93af4231a9ffad0f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in plugins/security-guidance/README.md:49"}, "properties": {"repobilityId": "3fa7893ea006281b", "scanner": "scanner-primary", "fingerprint": "93af4231a9ffad0f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/README.md"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-af827b42745b045f", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in plugins/security-guidance/README.md:11"}, "properties": {"repobilityId": "40bce72a7f35697a", "scanner": "scanner-primary", "fingerprint": "af827b42745b045f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/README.md"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-3fe47503e6539d0d", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in plugins/security-guidance/README.md:11"}, "properties": {"repobilityId": "360f7ed10e26cecc", "scanner": "scanner-primary", "fingerprint": "3fe47503e6539d0d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/README.md"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-9ca89b1ae912972a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugins/security-guidance/README.md:53"}, "properties": {"repobilityId": "c532867bc4fa49ea", "scanner": "scanner-primary", "fingerprint": "9ca89b1ae912972a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/README.md"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-ed3880cf585adcb3", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in plugins/security-guidance/README.md:53"}, "properties": {"repobilityId": "5b4fba7b0843f120", "scanner": "scanner-primary", "fingerprint": "ed3880cf585adcb3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/README.md"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-a3f37c3f1625bf2e", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in plugins/security-guidance/README.md:53"}, "properties": {"repobilityId": "f2f4d9484fe30c88", "scanner": "scanner-primary", "fingerprint": "a3f37c3f1625bf2e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/README.md"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-050de924d20571be", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in plugins/security-guidance/patterns.py:234"}, "properties": {"repobilityId": "65f89d8b2436067a", "scanner": "scanner-primary", "fingerprint": "050de924d20571be", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/patterns.py"}, "region": {"startLine": 234}}}]}, {"ruleId": "scanner-eee0acd0fdb6a259", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in plugins/security-guidance/patterns.py:226"}, "properties": {"repobilityId": "f67931b1f23bc4dc", "scanner": "scanner-primary", "fingerprint": "eee0acd0fdb6a259", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/patterns.py"}, "region": {"startLine": 226}}}]}, {"ruleId": "scanner-40dfa1683b843f0a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in plugins/security-guidance/patterns.py:189"}, "properties": {"repobilityId": "cdd2917bda9c8d84", "scanner": "scanner-primary", "fingerprint": "40dfa1683b843f0a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/patterns.py"}, "region": {"startLine": 189}}}]}, {"ruleId": "scanner-13b31463bfe5180d", "level": "note", "message": {"text": "Insecure pattern 'document_write' in plugins/security-guidance/patterns.py:244"}, "properties": {"repobilityId": "7c88ed56f5cbd2c2", "scanner": "scanner-primary", "fingerprint": "13b31463bfe5180d", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "document_write"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/patterns.py"}, "region": {"startLine": 244}}}]}, {"ruleId": "scanner-17991485ea1840db", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in plugins/security-guidance/patterns.py:238"}, "properties": {"repobilityId": "48a6cf66f534b883", "scanner": "scanner-primary", "fingerprint": "17991485ea1840db", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/patterns.py"}, "region": {"startLine": 238}}}]}, {"ruleId": "scanner-344657f939fedb39", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugins/security-guidance/patterns.py:248"}, "properties": {"repobilityId": "6f4d91b537eeea8a", "scanner": "scanner-primary", "fingerprint": "344657f939fedb39", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/patterns.py"}, "region": {"startLine": 248}}}]}, {"ruleId": "scanner-55a37717263892ad", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in plugins/security-guidance/patterns.py:373"}, "properties": {"repobilityId": "4f540cc8a6d6253f", "scanner": "scanner-primary", "fingerprint": "55a37717263892ad", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/patterns.py"}, "region": {"startLine": 373}}}]}, {"ruleId": "scanner-40bbf99918b26083", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in plugins/security-guidance/patterns.py:378"}, "properties": {"repobilityId": "d2c607e490ac4ab7", "scanner": "scanner-primary", "fingerprint": "40bbf99918b26083", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/patterns.py"}, "region": {"startLine": 378}}}]}, {"ruleId": "scanner-6cfb2fad7415f34c", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in plugins/security-guidance/patterns.py:339"}, "properties": {"repobilityId": "104c94ba01381d59", "scanner": "scanner-primary", "fingerprint": "6cfb2fad7415f34c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/patterns.py"}, "region": {"startLine": 339}}}]}, {"ruleId": "scanner-90483eda6189fb11", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in plugins/security-guidance/plugin.yaml:5"}, "properties": {"repobilityId": "98c91857f00dfc60", "scanner": "scanner-primary", "fingerprint": "90483eda6189fb11", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/plugin.yaml"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-8105250cea08b805", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in plugins/security-guidance/plugin.yaml:5"}, "properties": {"repobilityId": "df0cddd0b18a3dc4", "scanner": "scanner-primary", "fingerprint": "8105250cea08b805", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/plugin.yaml"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-e535c94549270ac1", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in plugins/security-guidance/plugin.yaml:5"}, "properties": {"repobilityId": "d9c65b495dfec3f1", "scanner": "scanner-primary", "fingerprint": "e535c94549270ac1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/security-guidance/plugin.yaml"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-7055571cbc1889c2", "level": "error", "message": {"text": "Possible secret in plugins/dashboard_auth/basic/__init__.py"}, "properties": {"repobilityId": "875b3374bd6960b4", "scanner": "scanner-primary", "fingerprint": "7055571cbc1889c2", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/dashboard_auth/basic/__init__.py"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "edeab51902066991", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8dce886dab0d97fa", "level": "note", "message": {"text": "Very large file: clawk_state.py (6581 lines)"}, "properties": {"repobilityId": "8706c5ecb9b02eae", "scanner": "scanner-primary", "fingerprint": "8dce886dab0d97fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ac1e3072bee278d6", "level": "note", "message": {"text": "Very large file: run_agent.py (5461 lines)"}, "properties": {"repobilityId": "3470d9d770e9e5a4", "scanner": "scanner-primary", "fingerprint": "ac1e3072bee278d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ea9a1b12ddafea7", "level": "note", "message": {"text": "Very large file: model_tools.py (1957 lines)"}, "properties": {"repobilityId": "7b59098949a6b811", "scanner": "scanner-primary", "fingerprint": "3ea9a1b12ddafea7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-945859b7fe710adf", "level": "note", "message": {"text": "Very large file: cli.py (25522 lines)"}, "properties": {"repobilityId": "f169f0b234c07b84", "scanner": "scanner-primary", "fingerprint": "945859b7fe710adf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ab21bdd2092225c9", "level": "note", "message": {"text": "Very large file: batch_runner.py (1422 lines)"}, "properties": {"repobilityId": "4cfc442d1784e1f5", "scanner": "scanner-primary", "fingerprint": "ab21bdd2092225c9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-827b9015858b4547", "level": "note", "message": {"text": "Very large file: trajectory_compressor.py (2465 lines)"}, "properties": {"repobilityId": "0ec59a2a29cf7f14", "scanner": "scanner-primary", "fingerprint": "827b9015858b4547", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0d89ba190a6a0c4e", "level": "note", "message": {"text": "Very large file: tests/test_mcp_serve.py (1966 lines)"}, "properties": {"repobilityId": "72f93fa1291a38fe", "scanner": "scanner-primary", "fingerprint": "0d89ba190a6a0c4e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141a6b89f950104a", "level": "note", "message": {"text": "Very large file: tests/test_tui_gateway_server.py (7217 lines)"}, "properties": {"repobilityId": "9740634de2b1720f", "scanner": "scanner-primary", "fingerprint": "141a6b89f950104a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-26e14d76e403a3f1", "level": "note", "message": {"text": "Very large file: tests/test_clawk_state.py (6342 lines)"}, "properties": {"repobilityId": "dd1f054162f94764", "scanner": "scanner-primary", "fingerprint": "26e14d76e403a3f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5b9a5722c30e4b1c", "level": "note", "message": {"text": "Very large file: tests/test_yuanbao_pipeline.py (1546 lines)"}, "properties": {"repobilityId": "43accb1636919968", "scanner": "scanner-primary", "fingerprint": "5b9a5722c30e4b1c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-86d099e3ac69b548", "level": "note", "message": {"text": "Very large file: tests/honcho_plugin/test_session.py (2955 lines)"}, "properties": {"repobilityId": "ae2e3ba71185883c", "scanner": "scanner-primary", "fingerprint": "86d099e3ac69b548", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-83a967d199df5c25", "level": "note", "message": {"text": "Very large file: tests/agent/test_auxiliary_client.py (5473 lines)"}, "properties": {"repobilityId": "3ccdfd063d798f84", "scanner": "scanner-primary", "fingerprint": "83a967d199df5c25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-32a98ab94d3902b3", "level": "note", "message": {"text": "Very large file: tests/agent/test_prompt_builder.py (2098 lines)"}, "properties": {"repobilityId": "304b6f1be826ca2b", "scanner": "scanner-primary", "fingerprint": "32a98ab94d3902b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-782199970cf9881f", "level": "note", "message": {"text": "Very large file: tests/agent/test_bedrock_adapter.py (2060 lines)"}, "properties": {"repobilityId": "19fa1ff5885b0599", "scanner": "scanner-primary", "fingerprint": "782199970cf9881f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2da84eccf986acce", "level": "note", "message": {"text": "Very large file: tests/agent/test_context_compressor.py (2656 lines)"}, "properties": {"repobilityId": "1097e8607edf2525", "scanner": "scanner-primary", "fingerprint": "2da84eccf986acce", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-64de88dea17ffb35", "level": "note", "message": {"text": "Very large file: tests/agent/test_credential_pool.py (4000 lines)"}, "properties": {"repobilityId": "c39b8deffa377bde", "scanner": "scanner-primary", "fingerprint": "64de88dea17ffb35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d1a33d795afef7cb", "level": "note", "message": {"text": "Very large file: tests/agent/test_gemini_cloudcode.py (1825 lines)"}, "properties": {"repobilityId": "b527050dada27587", "scanner": "scanner-primary", "fingerprint": "d1a33d795afef7cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-de5b230ac45045a5", "level": "note", "message": {"text": "Very large file: tests/agent/test_error_classifier.py (1656 lines)"}, "properties": {"repobilityId": "5bf51279d903a42d", "scanner": "scanner-primary", "fingerprint": "de5b230ac45045a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cc31b9535737a144", "level": "note", "message": {"text": "Very large file: tests/agent/test_model_metadata.py (1469 lines)"}, "properties": {"repobilityId": "b2a408d5c20cb81f", "scanner": "scanner-primary", "fingerprint": "cc31b9535737a144", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8fce770db9075733", "level": "note", "message": {"text": "Very large file: tests/agent/test_memory_provider.py (1493 lines)"}, "properties": {"repobilityId": "50fcb8768a7ac932", "scanner": "scanner-primary", "fingerprint": "8fce770db9075733", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-42bdc4fc449c5438", "level": "note", "message": {"text": "Very large file: tests/agent/test_anthropic_adapter.py (2325 lines)"}, "properties": {"repobilityId": "4894fb548a256a11", "scanner": "scanner-primary", "fingerprint": "42bdc4fc449c5438", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2290fa27fb49a058", "level": "note", "message": {"text": "Very large file: tests/acp/test_server.py (1862 lines)"}, "properties": {"repobilityId": "8db30cb0a82c6b98", "scanner": "scanner-primary", "fingerprint": "2290fa27fb49a058", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-88e93aa030543fda", "level": "note", "message": {"text": "Very large file: tests/run_agent/test_run_agent.py (9517 lines)"}, "properties": {"repobilityId": "daab8712614cd7c6", "scanner": "scanner-primary", "fingerprint": "88e93aa030543fda", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7849671690e51f38", "level": "note", "message": {"text": "Very large file: tests/run_agent/test_streaming.py (2161 lines)"}, "properties": {"repobilityId": "33f77e6e522804bc", "scanner": "scanner-primary", "fingerprint": "7849671690e51f38", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0e46fc9f0ca7b32a", "level": "note", "message": {"text": "Very large file: tests/run_agent/test_provider_parity.py (1474 lines)"}, "properties": {"repobilityId": "5041b0648c8c01d4", "scanner": "scanner-primary", "fingerprint": "0e46fc9f0ca7b32a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e7b73500ee1381e5", "level": "note", "message": {"text": "Very large file: tests/run_agent/test_run_agent_codex_responses.py (3239 lines)"}, "properties": {"repobilityId": "3daa3bad5494867e", "scanner": "scanner-primary", "fingerprint": "e7b73500ee1381e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-209510b6b7ffbd9e", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_profiles.py (1982 lines)"}, "properties": {"repobilityId": "5dba4abf71d86920", "scanner": "scanner-primary", "fingerprint": "209510b6b7ffbd9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-acd5a58a35cadc24", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_plugins.py (2586 lines)"}, "properties": {"repobilityId": "cc68d5c5414b9bd3", "scanner": "scanner-primary", "fingerprint": "acd5a58a35cadc24", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8a537785a80d785d", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_runtime_provider_resolution.py (3768 lines)"}, "properties": {"repobilityId": "dd1fec99e600def7", "scanner": "scanner-primary", "fingerprint": "8a537785a80d785d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-eb061bfef6a4dc93", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_auth_xai_oauth_provider.py (2933 lines)"}, "properties": {"repobilityId": "42466bda248e9093", "scanner": "scanner-primary", "fingerprint": "eb061bfef6a4dc93", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ef36f5204ed76325", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_commands.py (2539 lines)"}, "properties": {"repobilityId": "4360c96ec98fef04", "scanner": "scanner-primary", "fingerprint": "ef36f5204ed76325", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f6e3d73e7c7c8b87", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_gateway_service.py (3985 lines)"}, "properties": {"repobilityId": "38b8624345e6c570", "scanner": "scanner-primary", "fingerprint": "f6e3d73e7c7c8b87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cc7d47b00aa5798a", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_tools_config.py (1996 lines)"}, "properties": {"repobilityId": "4d08565b48a0a6b2", "scanner": "scanner-primary", "fingerprint": "cc7d47b00aa5798a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8ae0d64788be660f", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_kanban_core_functionality.py (7071 lines)"}, "properties": {"repobilityId": "d5edad98b45a0f87", "scanner": "scanner-primary", "fingerprint": "8ae0d64788be660f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b5d075dcc38c42ba", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_kanban_db.py (6515 lines)"}, "properties": {"repobilityId": "2c4b6719d2bc83cc", "scanner": "scanner-primary", "fingerprint": "b5d075dcc38c42ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4e3445e8d497aa01", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_api_key_providers.py (2097 lines)"}, "properties": {"repobilityId": "1bd177c52411d3df", "scanner": "scanner-primary", "fingerprint": "4e3445e8d497aa01", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d1801f59eabb664d", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_backup.py (2842 lines)"}, "properties": {"repobilityId": "f598cdf14546c04b", "scanner": "scanner-primary", "fingerprint": "d1801f59eabb664d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7d41ee12ee095fb8", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_auth_commands.py (1913 lines)"}, "properties": {"repobilityId": "04be46d9d4a4bc54", "scanner": "scanner-primary", "fingerprint": "7d41ee12ee095fb8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0862be7c2f96fb81", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_doctor.py (2199 lines)"}, "properties": {"repobilityId": "f8e1422439421f23", "scanner": "scanner-primary", "fingerprint": "0862be7c2f96fb81", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6243e816be5ca95e", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_debug.py (1940 lines)"}, "properties": {"repobilityId": "980d2682526c1341", "scanner": "scanner-primary", "fingerprint": "6243e816be5ca95e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-052980423bd228e1", "level": "note", "message": {"text": "Very large file: tests/clawk_cli/test_web_server.py (6022 lines)"}, "properties": {"repobilityId": "315fffa520314617", "scanner": "scanner-primary", "fingerprint": "052980423bd228e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a7db1a8e54498ed8", "level": "note", "message": {"text": "Very large file: tests/cron/test_scheduler.py (2761 lines)"}, "properties": {"repobilityId": "fe623458cdd001c5", "scanner": "scanner-primary", "fingerprint": "a7db1a8e54498ed8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a3fb294233fe563c", "level": "note", "message": {"text": "Very large file: tests/tools/test_voice_cli_integration.py (1892 lines)"}, "properties": {"repobilityId": "ae0930df4deb0d56", "scanner": "scanner-primary", "fingerprint": "a3fb294233fe563c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-48d3862c6c0fff30", "level": "note", "message": {"text": "Very large file: tests/tools/test_computer_use.py (1452 lines)"}, "properties": {"repobilityId": "5c76842d40cdb36b", "scanner": "scanner-primary", "fingerprint": "48d3862c6c0fff30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4472c7af661039f6", "level": "note", "message": {"text": "Very large file: tests/tools/test_approval.py (1715 lines)"}, "properties": {"repobilityId": "e92e69ddf82e8a73", "scanner": "scanner-primary", "fingerprint": "4472c7af661039f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-60bb78c84a97903f", "level": "note", "message": {"text": "Very large file: tests/tools/test_send_message_tool.py (3078 lines)"}, "properties": {"repobilityId": "c878a9c5cdb2cc56", "scanner": "scanner-primary", "fingerprint": "60bb78c84a97903f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87db4300d408e10c", "level": "note", "message": {"text": "Very large file: tests/tools/test_kanban_tools.py (2759 lines)"}, "properties": {"repobilityId": "372267deaba6f8fe", "scanner": "scanner-primary", "fingerprint": "87db4300d408e10c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-76a518b484ea1a46", "level": "note", "message": {"text": "Very large file: tests/tools/test_discord_tool.py (1957 lines)"}, "properties": {"repobilityId": "784a378e7dafb799", "scanner": "scanner-primary", "fingerprint": "76a518b484ea1a46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e05c4cfc1cf63f2d", "level": "note", "message": {"text": "Very large file: tests/tools/test_voice_mode.py (2255 lines)"}, "properties": {"repobilityId": "59f1fa35398816c3", "scanner": "scanner-primary", "fingerprint": "e05c4cfc1cf63f2d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cbf9df76e0f61a37", "level": "note", "message": {"text": "Very large file: tests/tools/test_skills_sync.py (1783 lines)"}, "properties": {"repobilityId": "1bce533e022e3582", "scanner": "scanner-primary", "fingerprint": "cbf9df76e0f61a37", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1c0e5834614b66c5", "level": "note", "message": {"text": "Very large file: tests/tools/test_tirith_security.py (2313 lines)"}, "properties": {"repobilityId": "f774e5541b509150", "scanner": "scanner-primary", "fingerprint": "1c0e5834614b66c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-70c540749f58b6de", "level": "note", "message": {"text": "Very large file: tests/tools/test_skills_hub.py (2284 lines)"}, "properties": {"repobilityId": "5b03090a3c639fb1", "scanner": "scanner-primary", "fingerprint": "70c540749f58b6de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-af71443fb32e4820", "level": "note", "message": {"text": "Very large file: tests/tools/test_docker_environment.py (2519 lines)"}, "properties": {"repobilityId": "435b7782c8e9658d", "scanner": "scanner-primary", "fingerprint": "af71443fb32e4820", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-654f7facca9ee485", "level": "note", "message": {"text": "Very large file: tests/tools/test_clipboard.py (1732 lines)"}, "properties": {"repobilityId": "0e133eab81d631b2", "scanner": "scanner-primary", "fingerprint": "654f7facca9ee485", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c3a7940390a0aa0", "level": "note", "message": {"text": "Very large file: tests/tools/test_delegate.py (3062 lines)"}, "properties": {"repobilityId": "4ac037cc3c725d32", "scanner": "scanner-primary", "fingerprint": "0c3a7940390a0aa0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e3f3fbb26cd4183d", "level": "note", "message": {"text": "Very large file: tests/tools/test_transcription_tools.py (2494 lines)"}, "properties": {"repobilityId": "c2ce6610fe5444a4", "scanner": "scanner-primary", "fingerprint": "e3f3fbb26cd4183d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a9f3a4fa88b8cad2", "level": "note", "message": {"text": "Very large file: tests/tools/test_mcp_tool.py (5871 lines)"}, "properties": {"repobilityId": "7e46ce0fadc02210", "scanner": "scanner-primary", "fingerprint": "a9f3a4fa88b8cad2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9a3837246c32fc98", "level": "note", "message": {"text": "Very large file: tests/gateway/test_whatsapp_cloud.py (2321 lines)"}, "properties": {"repobilityId": "65abf995ca5bac63", "scanner": "scanner-primary", "fingerprint": "9a3837246c32fc98", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e4f1668ec7695527", "level": "note", "message": {"text": "Very large file: tests/gateway/test_voice_command.py (2950 lines)"}, "properties": {"repobilityId": "ca7933a2f1ad0810", "scanner": "scanner-primary", "fingerprint": "e4f1668ec7695527", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5b66012ca4a47502", "level": "note", "message": {"text": "Very large file: tests/gateway/test_restart_resume_pending.py (1701 lines)"}, "properties": {"repobilityId": "8646eb9ac307b3d4", "scanner": "scanner-primary", "fingerprint": "5b66012ca4a47502", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3535a2c068311fe2", "level": "note", "message": {"text": "Very large file: tests/gateway/test_feishu.py (6845 lines)"}, "properties": {"repobilityId": "4cb5d6bf7982b376", "scanner": "scanner-primary", "fingerprint": "3535a2c068311fe2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e88be28d2ad91594", "level": "note", "message": {"text": "Very large file: tests/gateway/test_stream_consumer.py (2046 lines)"}, "properties": {"repobilityId": "55e267f0dd84efad", "scanner": "scanner-primary", "fingerprint": "e88be28d2ad91594", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-81e0f4037846fccc", "level": "note", "message": {"text": "Very large file: tests/gateway/test_api_server.py (5350 lines)"}, "properties": {"repobilityId": "e546f99237d4ed08", "scanner": "scanner-primary", "fingerprint": "81e0f4037846fccc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f377ee89696cadcb", "level": "note", "message": {"text": "Very large file: tests/gateway/test_email.py (1387 lines)"}, "properties": {"repobilityId": "8659dffcb077e607", "scanner": "scanner-primary", "fingerprint": "f377ee89696cadcb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-673b2392cfc4f10e", "level": "note", "message": {"text": "Very large file: tests/gateway/test_telegram_topic_mode.py (2028 lines)"}, "properties": {"repobilityId": "8c5a1bfe7e527fe3", "scanner": "scanner-primary", "fingerprint": "673b2392cfc4f10e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-32c516178c508655", "level": "note", "message": {"text": "Very large file: tests/gateway/test_qqbot.py (3303 lines)"}, "properties": {"repobilityId": "5b8bf12e077d41c3", "scanner": "scanner-primary", "fingerprint": "32c516178c508655", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e9b0ccfee774a6e5", "level": "note", "message": {"text": "Very large file: tests/gateway/test_session.py (1809 lines)"}, "properties": {"repobilityId": "d66a246fd87186f6", "scanner": "scanner-primary", "fingerprint": "e9b0ccfee774a6e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c22fb954a241c80b", "level": "note", "message": {"text": "Very large file: tests/gateway/test_agent_cache.py (2529 lines)"}, "properties": {"repobilityId": "4f5b293933c3dd77", "scanner": "scanner-primary", "fingerprint": "c22fb954a241c80b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-38c9369f50369a76", "level": "note", "message": {"text": "Very large file: tests/gateway/test_slack.py (3822 lines)"}, "properties": {"repobilityId": "bbdde7270ce13531", "scanner": "scanner-primary", "fingerprint": "38c9369f50369a76", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0e84a070a1e79df3", "level": "note", "message": {"text": "Very large file: tests/gateway/test_platform_base.py (2284 lines)"}, "properties": {"repobilityId": "922a52cabf1ce63e", "scanner": "scanner-primary", "fingerprint": "0e84a070a1e79df3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8c223586f955a30d", "level": "note", "message": {"text": "Very large file: tests/gateway/test_signal.py (1942 lines)"}, "properties": {"repobilityId": "30c2731e596132b4", "scanner": "scanner-primary", "fingerprint": "8c223586f955a30d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bf6bb74ed576612e", "level": "note", "message": {"text": "Very large file: tests/gateway/test_run_progress_topics.py (1685 lines)"}, "properties": {"repobilityId": "efcdec2b2acb3f18", "scanner": "scanner-primary", "fingerprint": "bf6bb74ed576612e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f3b222ad8b77c74f", "level": "note", "message": {"text": "Very large file: tests/gateway/test_matrix.py (4361 lines)"}, "properties": {"repobilityId": "c27dbc3543fe4e8a", "scanner": "scanner-primary", "fingerprint": "f3b222ad8b77c74f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9ddd1bfca3d3d68b", "level": "note", "message": {"text": "Very large file: tests/gateway/test_google_chat.py (4615 lines)"}, "properties": {"repobilityId": "bc2ed683366fa060", "scanner": "scanner-primary", "fingerprint": "9ddd1bfca3d3d68b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-34080e4572769723", "level": "note", "message": {"text": "Very large file: tests/plugins/test_kanban_dashboard_plugin.py (3384 lines)"}, "properties": {"repobilityId": "9e8b7cc7f97fb2ae", "scanner": "scanner-primary", "fingerprint": "34080e4572769723", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-649633017f874280", "level": "note", "message": {"text": "Very large file: tests/plugins/memory/test_hindsight_provider.py (1631 lines)"}, "properties": {"repobilityId": "ccaa460914fcc2eb", "scanner": "scanner-primary", "fingerprint": "649633017f874280", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5cbd392b39e8bf68", "level": "note", "message": {"text": "Very large file: apps/desktop/electron/main.cjs (9320 lines)"}, "properties": {"repobilityId": "df11b94000cd8945", "scanner": "scanner-primary", "fingerprint": "5cbd392b39e8bf68", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bc5450e3f095ad09", "level": "note", "message": {"text": "Very large file: apps/desktop/src/i18n/zh-hant.ts (1986 lines)"}, "properties": {"repobilityId": "0eb7accecf09500c", "scanner": "scanner-primary", "fingerprint": "bc5450e3f095ad09", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-50e5a4d67613db3e", "level": "note", "message": {"text": "Very large file: apps/desktop/src/i18n/en.ts (1904 lines)"}, "properties": {"repobilityId": "55e4a415d3f5d195", "scanner": "scanner-primary", "fingerprint": "50e5a4d67613db3e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ac9947055af31448", "level": "note", "message": {"text": "Very large file: apps/desktop/src/i18n/ja.ts (2047 lines)"}, "properties": {"repobilityId": "7ca497e560d64a52", "scanner": "scanner-primary", "fingerprint": "ac9947055af31448", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-52a301a05ece8b1b", "level": "note", "message": {"text": "Very large file: apps/desktop/src/i18n/zh.ts (2083 lines)"}, "properties": {"repobilityId": "56764e03d3104006", "scanner": "scanner-primary", "fingerprint": "52a301a05ece8b1b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0678e96f93584a54", "level": "note", "message": {"text": "Very large file: apps/desktop/src/components/assistant-ui/thread.tsx (1782 lines)"}, "properties": {"repobilityId": "d013779943b166e4", "scanner": "scanner-primary", "fingerprint": "0678e96f93584a54", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb23d52694ed7734", "level": "note", "message": {"text": "Very large file: apps/desktop/src/app/chat/composer/index.tsx (1987 lines)"}, "properties": {"repobilityId": "533922302b85fbe0", "scanner": "scanner-primary", "fingerprint": "bb23d52694ed7734", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6e5a230dbeaa7320", "level": "note", "message": {"text": "Very large file: apps/desktop/src/app/chat/sidebar/index.tsx (1774 lines)"}, "properties": {"repobilityId": "b1eb85e5d6023cba", "scanner": "scanner-primary", "fingerprint": "6e5a230dbeaa7320", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-84a0b672b8bb79b7", "level": "note", "message": {"text": "Very large file: apps/desktop/src/app/session/hooks/use-prompt-actions.ts (1689 lines)"}, "properties": {"repobilityId": "d259e5f937a1bb07", "scanner": "scanner-primary", "fingerprint": "84a0b672b8bb79b7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3527ffeaa7fbfcd6", "level": "note", "message": {"text": "Very large file: scripts/install.sh (2777 lines)"}, "properties": {"repobilityId": "3177819a6548cd68", "scanner": "scanner-primary", "fingerprint": "3527ffeaa7fbfcd6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3116d045eaf3595c", "level": "note", "message": {"text": "Very large file: scripts/release.py (2146 lines)"}, "properties": {"repobilityId": "0a846e711bc6622c", "scanner": "scanner-primary", "fingerprint": "3116d045eaf3595c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-77478ba7bcbe16df", "level": "note", "message": {"text": "Very large file: agent/chat_completion_helpers.py (3762 lines)"}, "properties": {"repobilityId": "19a2436bc616c17b", "scanner": "scanner-primary", "fingerprint": "77478ba7bcbe16df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b68b1c6bec85e070", "level": "note", "message": {"text": "Very large file: agent/codex_responses_adapter.py (1271 lines)"}, "properties": {"repobilityId": "56f9a7dfbb2c959e", "scanner": "scanner-primary", "fingerprint": "b68b1c6bec85e070", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ffe9fbffd737ee75", "level": "note", "message": {"text": "Very large file: agent/context_compressor.py (2426 lines)"}, "properties": {"repobilityId": "e860717ad3ed8a6f", "scanner": "scanner-primary", "fingerprint": "ffe9fbffd737ee75", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1a3d94b0a018f7c6", "level": "note", "message": {"text": "Very large file: agent/credential_pool.py (3355 lines)"}, "properties": {"repobilityId": "1ca527ba80d176be", "scanner": "scanner-primary", "fingerprint": "1a3d94b0a018f7c6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-25d3409d4181dc37", "level": "note", "message": {"text": "Very large file: agent/agent_runtime_helpers.py (2595 lines)"}, "properties": {"repobilityId": "2b3ef1f8f5d1d826", "scanner": "scanner-primary", "fingerprint": "25d3409d4181dc37", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0efdf56fc86254df", "level": "note", "message": {"text": "Very large file: agent/curator.py (1835 lines)"}, "properties": {"repobilityId": "ddd2111ef23afdde", "scanner": "scanner-primary", "fingerprint": "0efdf56fc86254df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fa6d03b5afa902f3", "level": "note", "message": {"text": "Very large file: agent/bedrock_adapter.py (1951 lines)"}, "properties": {"repobilityId": "076e8fe0d6b84bf0", "scanner": "scanner-primary", "fingerprint": "fa6d03b5afa902f3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e5e774848e0950e0", "level": "note", "message": {"text": "Very large file: agent/error_classifier.py (1403 lines)"}, "properties": {"repobilityId": "914889dd3772dcc5", "scanner": "scanner-primary", "fingerprint": "e5e774848e0950e0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4bdbd4e16d577028", "level": "note", "message": {"text": "Very large file: agent/anthropic_adapter.py (2607 lines)"}, "properties": {"repobilityId": "523d809f5e561b6b", "scanner": "scanner-primary", "fingerprint": "4bdbd4e16d577028", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-69f9c9ecc94d16eb", "level": "note", "message": {"text": "Very large file: agent/agent_init.py (2723 lines)"}, "properties": {"repobilityId": "7feab74f89b826ac", "scanner": "scanner-primary", "fingerprint": "69f9c9ecc94d16eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9d42f5923ca81401", "level": "note", "message": {"text": "Very large file: agent/tool_executor.py (1832 lines)"}, "properties": {"repobilityId": "b1469a74de39d79d", "scanner": "scanner-primary", "fingerprint": "9d42f5923ca81401", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bfbbeefee04b186f", "level": "note", "message": {"text": "Very large file: agent/auxiliary_client.py (8574 lines)"}, "properties": {"repobilityId": "6ceccd4655ff0a19", "scanner": "scanner-primary", "fingerprint": "bfbbeefee04b186f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4d9bc6ffc99d0d88", "level": "note", "message": {"text": "Very large file: agent/model_metadata.py (2744 lines)"}, "properties": {"repobilityId": "055ea3382cb6b846", "scanner": "scanner-primary", "fingerprint": "4d9bc6ffc99d0d88", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c3c99100d1bd6290", "level": "note", "message": {"text": "Very large file: agent/conversation_loop.py (7491 lines)"}, "properties": {"repobilityId": "c2f9f7e1e05eacee", "scanner": "scanner-primary", "fingerprint": "c3c99100d1bd6290", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bf0aa7dcba30da46", "level": "note", "message": {"text": "Very large file: agent/prompt_builder.py (1635 lines)"}, "properties": {"repobilityId": "f9c2ae2538a61b93", "scanner": "scanner-primary", "fingerprint": "bf0aa7dcba30da46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-55b4d4cb7d04ac16", "level": "note", "message": {"text": "Very large file: tui_gateway/server.py (11273 lines)"}, "properties": {"repobilityId": "a263f4842f3c63c6", "scanner": "scanner-primary", "fingerprint": "55b4d4cb7d04ac16", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7a8b48fe7b91b851", "level": "note", "message": {"text": "Very large file: web/src/lib/api.ts (3725 lines)"}, "properties": {"repobilityId": "1acbb1cb445b5ff9", "scanner": "scanner-primary", "fingerprint": "7a8b48fe7b91b851", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e416d26851db75a2", "level": "note", "message": {"text": "Very large file: web/src/pages/SystemPage.tsx (1277 lines)"}, "properties": {"repobilityId": "6a0ac492afe1670b", "scanner": "scanner-primary", "fingerprint": "e416d26851db75a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-94787972dbb0e1da", "level": "note", "message": {"text": "Very large file: web/src/pages/SessionsPage.tsx (1710 lines)"}, "properties": {"repobilityId": "4ef9b5dbd3c27cca", "scanner": "scanner-primary", "fingerprint": "94787972dbb0e1da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e0c92ae06d76d637", "level": "note", "message": {"text": "Very large file: optional-skills/migration/openclaw-migration/scripts/openclaw_to_clawk.py (5349 lines)"}, "properties": {"repobilityId": "35477ad680e75ec0", "scanner": "scanner-primary", "fingerprint": "e0c92ae06d76d637", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b60a91fc9918a5ad", "level": "note", "message": {"text": "Very large file: optional-skills/blockchain/hyperliquid/scripts/hyperliquid_client.py (2254 lines)"}, "properties": {"repobilityId": "1e76ebaebdef5abd", "scanner": "scanner-primary", "fingerprint": "b60a91fc9918a5ad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-451fdabc87077380", "level": "note", "message": {"text": "Very large file: optional-skills/blockchain/evm/scripts/evm_client.py (1673 lines)"}, "properties": {"repobilityId": "b34b1ac3b119a199", "scanner": "scanner-primary", "fingerprint": "451fdabc87077380", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e4a35868b8e4001f", "level": "note", "message": {"text": "Very large file: clawk_cli/plugins.py (2097 lines)"}, "properties": {"repobilityId": "ccae4781dad24fa9", "scanner": "scanner-primary", "fingerprint": "e4a35868b8e4001f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2164efc9b1f2aa6f", "level": "note", "message": {"text": "Very large file: clawk_cli/gateway_windows.py (1311 lines)"}, "properties": {"repobilityId": "fd39a82b81414b9d", "scanner": "scanner-primary", "fingerprint": "2164efc9b1f2aa6f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c04619e215995d33", "level": "note", "message": {"text": "Very large file: clawk_cli/tools_config.py (5978 lines)"}, "properties": {"repobilityId": "fb36d10e7698ae9b", "scanner": "scanner-primary", "fingerprint": "c04619e215995d33", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9be241a568223503", "level": "note", "message": {"text": "Very large file: clawk_cli/commands.py (3000 lines)"}, "properties": {"repobilityId": "48d79bcd1a953cdf", "scanner": "scanner-primary", "fingerprint": "9be241a568223503", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1bfa0d393dc73e2b", "level": "note", "message": {"text": "Very large file: clawk_cli/config.py (8337 lines)"}, "properties": {"repobilityId": "8db7a24f63a180f4", "scanner": "scanner-primary", "fingerprint": "1bfa0d393dc73e2b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8721f595bc9e54c8", "level": "note", "message": {"text": "Very large file: clawk_cli/auth.py (11197 lines)"}, "properties": {"repobilityId": "96dfe588399d112f", "scanner": "scanner-primary", "fingerprint": "8721f595bc9e54c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f22a25266eca5a9d", "level": "note", "message": {"text": "Very large file: clawk_cli/skills_hub.py (1891 lines)"}, "properties": {"repobilityId": "6d537fde428673e7", "scanner": "scanner-primary", "fingerprint": "f22a25266eca5a9d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f4bea26565a1bbb8", "level": "note", "message": {"text": "Very large file: clawk_cli/model_switch.py (2953 lines)"}, "properties": {"repobilityId": "968a7f2a9cf0637d", "scanner": "scanner-primary", "fingerprint": "f4bea26565a1bbb8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f881cb24ec683c57", "level": "note", "message": {"text": "Very large file: clawk_cli/gateway.py (9273 lines)"}, "properties": {"repobilityId": "45d56be0d9af6784", "scanner": "scanner-primary", "fingerprint": "f881cb24ec683c57", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7b6d803a191019fd", "level": "note", "message": {"text": "Very large file: clawk_cli/plugins_cmd.py (1835 lines)"}, "properties": {"repobilityId": "9b8b7610dd0d4262", "scanner": "scanner-primary", "fingerprint": "7b6d803a191019fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-593855f962e31ff6", "level": "note", "message": {"text": "Very large file: clawk_cli/runtime_provider.py (2465 lines)"}, "properties": {"repobilityId": "14b34328963bf646", "scanner": "scanner-primary", "fingerprint": "593855f962e31ff6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a48f31c7533648eb", "level": "note", "message": {"text": "Very large file: clawk_cli/web_server.py (13283 lines)"}, "properties": {"repobilityId": "08c64e24ac9d8a2d", "scanner": "scanner-primary", "fingerprint": "a48f31c7533648eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-86c6deb7ef277a64", "level": "note", "message": {"text": "Very large file: clawk_cli/setup.py (5117 lines)"}, "properties": {"repobilityId": "0bfb9e5355a94963", "scanner": "scanner-primary", "fingerprint": "86c6deb7ef277a64", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f98a45ce1aecf28c", "level": "note", "message": {"text": "Very large file: clawk_cli/models.py (5648 lines)"}, "properties": {"repobilityId": "44d32c818ca317a4", "scanner": "scanner-primary", "fingerprint": "f98a45ce1aecf28c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2b7b0a6aec8ab2e4", "level": "note", "message": {"text": "Very large file: clawk_cli/doctor.py (3487 lines)"}, "properties": {"repobilityId": "807f8cbf97ae7cc6", "scanner": "scanner-primary", "fingerprint": "2b7b0a6aec8ab2e4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-58d9749ce7279419", "level": "note", "message": {"text": "Very large file: clawk_cli/model_setup_flows.py (2725 lines)"}, "properties": {"repobilityId": "75e1c291a9a691b7", "scanner": "scanner-primary", "fingerprint": "58d9749ce7279419", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7ee015fdf5bf3306", "level": "note", "message": {"text": "Very large file: clawk_cli/kanban.py (4225 lines)"}, "properties": {"repobilityId": "998632557f6d7e06", "scanner": "scanner-primary", "fingerprint": "7ee015fdf5bf3306", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-49bdba09247da697", "level": "note", "message": {"text": "Very large file: clawk_cli/profiles.py (1817 lines)"}, "properties": {"repobilityId": "1f49194b968a5570", "scanner": "scanner-primary", "fingerprint": "49bdba09247da697", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-89ca8892a3bde0d0", "level": "note", "message": {"text": "Very large file: clawk_cli/main.py (24275 lines)"}, "properties": {"repobilityId": "c83e20dc6d613937", "scanner": "scanner-primary", "fingerprint": "89ca8892a3bde0d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4019922db1271d78", "level": "note", "message": {"text": "Very large file: clawk_cli/cli_commands_mixin.py (2263 lines)"}, "properties": {"repobilityId": "12d5edce72611f03", "scanner": "scanner-primary", "fingerprint": "4019922db1271d78", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4af203262db625de", "level": "note", "message": {"text": "Very large file: clawk_cli/kanban_db.py (7992 lines)"}, "properties": {"repobilityId": "3830ac27ac3b1db1", "scanner": "scanner-primary", "fingerprint": "4af203262db625de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4d849abd7cf7b294", "level": "note", "message": {"text": "Very large file: cron/scheduler.py (3631 lines)"}, "properties": {"repobilityId": "bf60d50d0af3930b", "scanner": "scanner-primary", "fingerprint": "4d849abd7cf7b294", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6ddfd8d2fc21ff44", "level": "note", "message": {"text": "Very large file: cron/jobs.py (1988 lines)"}, "properties": {"repobilityId": "b3e0cf84eb1992c3", "scanner": "scanner-primary", "fingerprint": "6ddfd8d2fc21ff44", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8ffb879120fd2657", "level": "note", "message": {"text": "Very large file: tools/mcp_tool.py (4472 lines)"}, "properties": {"repobilityId": "d65878a870465e22", "scanner": "scanner-primary", "fingerprint": "8ffb879120fd2657", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1d3dd652be70860d", "level": "note", "message": {"text": "Very large file: tools/transcription_tools.py (1798 lines)"}, "properties": {"repobilityId": "e5379f3cf4480104", "scanner": "scanner-primary", "fingerprint": "1d3dd652be70860d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e674ea2f8f7edcc6", "level": "note", "message": {"text": "Very large file: tools/web_tools.py (2111 lines)"}, "properties": {"repobilityId": "916b05f9ec2308b0", "scanner": "scanner-primary", "fingerprint": "e674ea2f8f7edcc6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8f474b1136ab092e", "level": "note", "message": {"text": "Very large file: tools/checkpoint_manager.py (1816 lines)"}, "properties": {"repobilityId": "2c51407b634dfead", "scanner": "scanner-primary", "fingerprint": "8f474b1136ab092e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1492bc508d532f56", "level": "note", "message": {"text": "Very large file: tools/file_tools.py (1853 lines)"}, "properties": {"repobilityId": "76f31f9454f8c2af", "scanner": "scanner-primary", "fingerprint": "1492bc508d532f56", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8e1e254096a967b4", "level": "note", "message": {"text": "Very large file: tools/send_message_tool.py (2141 lines)"}, "properties": {"repobilityId": "0f0e048fe2e0e315", "scanner": "scanner-primary", "fingerprint": "8e1e254096a967b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8dc191be7a39bd9f", "level": "note", "message": {"text": "Very large file: tools/delegate_tool.py (3995 lines)"}, "properties": {"repobilityId": "4669a725a5411cc7", "scanner": "scanner-primary", "fingerprint": "8dc191be7a39bd9f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2f56255677a17ccc", "level": "note", "message": {"text": "Very large file: tools/browser_supervisor.py (2184 lines)"}, "properties": {"repobilityId": "9eca8ddebdfddb01", "scanner": "scanner-primary", "fingerprint": "2f56255677a17ccc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a1d975bd95a4ef26", "level": "note", "message": {"text": "Very large file: tools/vision_tools.py (2349 lines)"}, "properties": {"repobilityId": "5121ba6e7edb54e2", "scanner": "scanner-primary", "fingerprint": "a1d975bd95a4ef26", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e5ce551f085762f1", "level": "note", "message": {"text": "Very large file: tools/browser_tool.py (3873 lines)"}, "properties": {"repobilityId": "307bfffc21c4c818", "scanner": "scanner-primary", "fingerprint": "e5ce551f085762f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-949c52a9f7f07736", "level": "note", "message": {"text": "Very large file: tools/skills_hub.py (4109 lines)"}, "properties": {"repobilityId": "851f3b6f2cca7042", "scanner": "scanner-primary", "fingerprint": "949c52a9f7f07736", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6ef4fda13653f65c", "level": "note", "message": {"text": "Very large file: tools/code_execution_tool.py (1977 lines)"}, "properties": {"repobilityId": "f5422e16a5fa0483", "scanner": "scanner-primary", "fingerprint": "6ef4fda13653f65c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8283c63bd24c347e", "level": "note", "message": {"text": "Very large file: tools/tts_tool.py (2731 lines)"}, "properties": {"repobilityId": "e04524d561061376", "scanner": "scanner-primary", "fingerprint": "8283c63bd24c347e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-324f3243c65be077", "level": "note", "message": {"text": "Very large file: tools/skills_tool.py (1616 lines)"}, "properties": {"repobilityId": "b9785d2ca43c30f9", "scanner": "scanner-primary", "fingerprint": "324f3243c65be077", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-48789287c2bf878e", "level": "note", "message": {"text": "Very large file: tools/file_operations.py (3489 lines)"}, "properties": {"repobilityId": "d7766839760a88b3", "scanner": "scanner-primary", "fingerprint": "48789287c2bf878e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-83784caaeca51292", "level": "note", "message": {"text": "Very large file: tools/process_registry.py (1628 lines)"}, "properties": {"repobilityId": "d8262e97e92b17bb", "scanner": "scanner-primary", "fingerprint": "83784caaeca51292", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-76bfa09c0509ce03", "level": "note", "message": {"text": "Very large file: tools/approval.py (2572 lines)"}, "properties": {"repobilityId": "94e1df04e9ba18a9", "scanner": "scanner-primary", "fingerprint": "76bfa09c0509ce03", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cba18ae8613697d8", "level": "note", "message": {"text": "Very large file: tools/kanban_tools.py (1928 lines)"}, "properties": {"repobilityId": "e9b66895683f054a", "scanner": "scanner-primary", "fingerprint": "cba18ae8613697d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-33592b00c85d8c45", "level": "note", "message": {"text": "Very large file: tools/terminal_tool.py (3927 lines)"}, "properties": {"repobilityId": "65c5ded68d4c0fd4", "scanner": "scanner-primary", "fingerprint": "33592b00c85d8c45", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-24d5cd8b30b94d61", "level": "note", "message": {"text": "Very large file: tools/environments/docker.py (1820 lines)"}, "properties": {"repobilityId": "52249e473814cc25", "scanner": "scanner-primary", "fingerprint": "24d5cd8b30b94d61", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-863c25bcdf98cc73", "level": "note", "message": {"text": "Very large file: ui-tui/packages/clawk-ink/src/ink/ink.tsx (2705 lines)"}, "properties": {"repobilityId": "066afdee0128a404", "scanner": "scanner-primary", "fingerprint": "863c25bcdf98cc73", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9281ad6729be710b", "level": "note", "message": {"text": "Very large file: ui-tui/packages/clawk-ink/src/ink/screen.ts (1590 lines)"}, "properties": {"repobilityId": "4d3746b6d38cf7aa", "scanner": "scanner-primary", "fingerprint": "9281ad6729be710b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f1cbaac51fb72703", "level": "note", "message": {"text": "Very large file: ui-tui/packages/clawk-ink/src/ink/render-node-to-output.ts (1582 lines)"}, "properties": {"repobilityId": "9c825ef4bec3cbe4", "scanner": "scanner-primary", "fingerprint": "f1cbaac51fb72703", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fafb86b5eae7bee0", "level": "note", "message": {"text": "Very large file: ui-tui/packages/clawk-ink/src/ink/components/App.tsx (855 lines)"}, "properties": {"repobilityId": "ae411babbc4e41a4", "scanner": "scanner-primary", "fingerprint": "fafb86b5eae7bee0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e18e11564fe0c512", "level": "note", "message": {"text": "Very large file: ui-tui/packages/clawk-ink/src/native-ts/yoga-layout/index.ts (2326 lines)"}, "properties": {"repobilityId": "1008b529726921d1", "scanner": "scanner-primary", "fingerprint": "e18e11564fe0c512", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a137639d0a79536a", "level": "note", "message": {"text": "Very large file: ui-tui/src/__tests__/createGatewayEventHandler.test.ts (1564 lines)"}, "properties": {"repobilityId": "b47d83de872e6928", "scanner": "scanner-primary", "fingerprint": "a137639d0a79536a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-191be50cd5fa6e47", "level": "note", "message": {"text": "Very large file: gateway/kanban_watchers.py (1064 lines)"}, "properties": {"repobilityId": "f0a93cf28ed7ca32", "scanner": "scanner-primary", "fingerprint": "191be50cd5fa6e47", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9b3af5434aec2aa0", "level": "note", "message": {"text": "Very large file: gateway/slash_commands.py (3684 lines)"}, "properties": {"repobilityId": "6b529d69e7d0e426", "scanner": "scanner-primary", "fingerprint": "9b3af5434aec2aa0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-908934808d3b8a08", "level": "note", "message": {"text": "Very large file: gateway/config.py (2139 lines)"}, "properties": {"repobilityId": "8338da9cc11163ad", "scanner": "scanner-primary", "fingerprint": "908934808d3b8a08", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8b80354a6ca1ad46", "level": "note", "message": {"text": "Very large file: gateway/stream_consumer.py (1597 lines)"}, "properties": {"repobilityId": "50349f07d39fe7d3", "scanner": "scanner-primary", "fingerprint": "8b80354a6ca1ad46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ce2d995418b2bb81", "level": "note", "message": {"text": "Very large file: gateway/session.py (1444 lines)"}, "properties": {"repobilityId": "2c7137a73cc9e33a", "scanner": "scanner-primary", "fingerprint": "ce2d995418b2bb81", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ecb0431c88f11616", "level": "note", "message": {"text": "Very large file: gateway/run.py (30387 lines)"}, "properties": {"repobilityId": "7e0de137b34920cd", "scanner": "scanner-primary", "fingerprint": "ecb0431c88f11616", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0da0c5db02332227", "level": "note", "message": {"text": "Very large file: gateway/platforms/signal.py (2304 lines)"}, "properties": {"repobilityId": "b00a4e5adfb51ab6", "scanner": "scanner-primary", "fingerprint": "0da0c5db02332227", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-33d7ec759dc346bd", "level": "note", "message": {"text": "Very large file: gateway/platforms/feishu_comment.py (1641 lines)"}, "properties": {"repobilityId": "4b96911d289d09df", "scanner": "scanner-primary", "fingerprint": "33d7ec759dc346bd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8290434b3f1152b3", "level": "note", "message": {"text": "Very large file: gateway/platforms/matrix.py (4221 lines)"}, "properties": {"repobilityId": "5b65a12fa8bc6827", "scanner": "scanner-primary", "fingerprint": "8290434b3f1152b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b6ea47cb90a4c60a", "level": "note", "message": {"text": "Very large file: gateway/platforms/api_server.py (4322 lines)"}, "properties": {"repobilityId": "1861e3aed057d432", "scanner": "scanner-primary", "fingerprint": "b6ea47cb90a4c60a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f6a8fcc8af2c650a", "level": "note", "message": {"text": "Very large file: gateway/platforms/whatsapp_cloud.py (1956 lines)"}, "properties": {"repobilityId": "51421088b90014cf", "scanner": "scanner-primary", "fingerprint": "f6a8fcc8af2c650a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0941ba1a695a1c05", "level": "note", "message": {"text": "Very large file: gateway/platforms/whatsapp.py (1177 lines)"}, "properties": {"repobilityId": "621a9091649b48cc", "scanner": "scanner-primary", "fingerprint": "0941ba1a695a1c05", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1482892418891a65", "level": "note", "message": {"text": "Very large file: gateway/platforms/telegram.py (6696 lines)"}, "properties": {"repobilityId": "4d39c7b0ad27e138", "scanner": "scanner-primary", "fingerprint": "1482892418891a65", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4619ea6bfa371132", "level": "note", "message": {"text": "Very large file: gateway/platforms/base.py (5315 lines)"}, "properties": {"repobilityId": "dab07f893b149b9e", "scanner": "scanner-primary", "fingerprint": "4619ea6bfa371132", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ed4807e7eda142e6", "level": "note", "message": {"text": "Very large file: gateway/platforms/feishu.py (5900 lines)"}, "properties": {"repobilityId": "53d72b5e14cc694d", "scanner": "scanner-primary", "fingerprint": "ed4807e7eda142e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-80767e981e28139c", "level": "note", "message": {"text": "Very large file: gateway/platforms/yuanbao.py (5358 lines)"}, "properties": {"repobilityId": "141928b30418e2b2", "scanner": "scanner-primary", "fingerprint": "80767e981e28139c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5641e69e57919b98", "level": "note", "message": {"text": "Very large file: gateway/platforms/wecom.py (2447 lines)"}, "properties": {"repobilityId": "381a06f15519dded", "scanner": "scanner-primary", "fingerprint": "5641e69e57919b98", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7ac64d7b3060c99f", "level": "note", "message": {"text": "Very large file: gateway/platforms/weixin.py (2358 lines)"}, "properties": {"repobilityId": "89e7d0a0f8bbe4bb", "scanner": "scanner-primary", "fingerprint": "7ac64d7b3060c99f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e542ad5b10f89596", "level": "note", "message": {"text": "Very large file: gateway/platforms/slack.py (3815 lines)"}, "properties": {"repobilityId": "97ec090fee1410c9", "scanner": "scanner-primary", "fingerprint": "e542ad5b10f89596", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4ccbe3592e81f93e", "level": "note", "message": {"text": "Very large file: gateway/platforms/dingtalk.py (2205 lines)"}, "properties": {"repobilityId": "5f7e38df9f42488d", "scanner": "scanner-primary", "fingerprint": "4ccbe3592e81f93e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5e8c85e848169eee", "level": "note", "message": {"text": "Very large file: gateway/platforms/qqbot/adapter.py (4408 lines)"}, "properties": {"repobilityId": "26cb66a70854eca7", "scanner": "scanner-primary", "fingerprint": "5e8c85e848169eee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2d5cbbae6912e4ca", "level": "note", "message": {"text": "Very large file: acp_adapter/tools.py (2171 lines)"}, "properties": {"repobilityId": "4373c9c353b7695a", "scanner": "scanner-primary", "fingerprint": "2d5cbbae6912e4ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1263799351f4c895", "level": "note", "message": {"text": "Very large file: acp_adapter/server.py (2240 lines)"}, "properties": {"repobilityId": "c5b9f2d0df58475c", "scanner": "scanner-primary", "fingerprint": "1263799351f4c895", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3bd19facdc46abc3", "level": "note", "message": {"text": "Very large file: plugins/platforms/line/adapter.py (2421 lines)"}, "properties": {"repobilityId": "2d2dea97fa1f7cce", "scanner": "scanner-primary", "fingerprint": "3bd19facdc46abc3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e0f6075a549dc0f4", "level": "note", "message": {"text": "Very large file: plugins/platforms/teams/adapter.py (1297 lines)"}, "properties": {"repobilityId": "84c64a83146825c4", "scanner": "scanner-primary", "fingerprint": "e0f6075a549dc0f4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-37a5e8aaa171f7d5", "level": "note", "message": {"text": "Very large file: plugins/platforms/photon/adapter.py (1529 lines)"}, "properties": {"repobilityId": "a10a760215071c5e", "scanner": "scanner-primary", "fingerprint": "37a5e8aaa171f7d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2a67eb6ea91fcc84", "level": "note", "message": {"text": "Very large file: plugins/platforms/discord/adapter.py (9823 lines)"}, "properties": {"repobilityId": "873b062692e04b78", "scanner": "scanner-primary", "fingerprint": "2a67eb6ea91fcc84", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-945e1802bcd653e2", "level": "note", "message": {"text": "Very large file: plugins/platforms/simplex/adapter.py (1313 lines)"}, "properties": {"repobilityId": "a15f67670c73e357", "scanner": "scanner-primary", "fingerprint": "945e1802bcd653e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7726800025648c91", "level": "note", "message": {"text": "Very large file: plugins/platforms/google_chat/adapter.py (3443 lines)"}, "properties": {"repobilityId": "0ce7631c555a0fbb", "scanner": "scanner-primary", "fingerprint": "7726800025648c91", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-74cb080716dcf834", "level": "note", "message": {"text": "Very large file: plugins/kanban/dashboard/plugin_api.py (2454 lines)"}, "properties": {"repobilityId": "efe1c763693ab890", "scanner": "scanner-primary", "fingerprint": "74cb080716dcf834", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6b2771107e7e5c40", "level": "note", "message": {"text": "Very large file: plugins/clawk-achievements/dashboard/plugin_api.py (2417 lines)"}, "properties": {"repobilityId": "8fbd43c4f2ce7aa2", "scanner": "scanner-primary", "fingerprint": "6b2771107e7e5c40", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-db2df88054dee2bc", "level": "note", "message": {"text": "Very large file: plugins/memory/honcho/__init__.py (2090 lines)"}, "properties": {"repobilityId": "6ab06fc58b4df282", "scanner": "scanner-primary", "fingerprint": "db2df88054dee2bc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9b35911553b9a814", "level": "note", "message": {"text": "Very large file: plugins/memory/honcho/cli.py (1698 lines)"}, "properties": {"repobilityId": "608a0a0e35ae6a9e", "scanner": "scanner-primary", "fingerprint": "9b35911553b9a814", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fd4ce069b859b7d0", "level": "note", "message": {"text": "Very large file: plugins/memory/honcho/session.py (2025 lines)"}, "properties": {"repobilityId": "9d491171915ec290", "scanner": "scanner-primary", "fingerprint": "fd4ce069b859b7d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9979f2a9bb41501e", "level": "note", "message": {"text": "Very large file: plugins/memory/hindsight/__init__.py (1803 lines)"}, "properties": {"repobilityId": "e37f97146274a757", "scanner": "scanner-primary", "fingerprint": "9979f2a9bb41501e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bc21d671a3d92487", "level": "note", "message": {"text": "178 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "bc21d671a3d92487", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-5ec4afc4f309fed1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/shared/package.json"}, "properties": {"repobilityId": "047cf0d07d6f482c", "scanner": "scanner-primary", "fingerprint": "5ec4afc4f309fed1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/shared/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d57b3f82d2270c5b", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/desktop/package.json"}, "properties": {"repobilityId": "a5d1a254ecc349f8", "scanner": "scanner-primary", "fingerprint": "d57b3f82d2270c5b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8c735dae3c190463", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/bootstrap-installer/package.json"}, "properties": {"repobilityId": "2240325c16d8cb7f", "scanner": "scanner-primary", "fingerprint": "8c735dae3c190463", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/bootstrap-installer/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f61e9dc22135856f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: web/package.json"}, "properties": {"repobilityId": "dd661d63588916a7", "scanner": "scanner-primary", "fingerprint": "f61e9dc22135856f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0b949704f58bcbd", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: ui-tui/package.json"}, "properties": {"repobilityId": "b58f77a0740b9f5b", "scanner": "scanner-primary", "fingerprint": "d0b949704f58bcbd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2d1bad8a03bbb41d", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: ui-tui/packages/clawk-ink/package.json"}, "properties": {"repobilityId": "338a50705dce7b99", "scanner": "scanner-primary", "fingerprint": "2d1bad8a03bbb41d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui-tui/packages/clawk-ink/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "d8795b4e4be33164", "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": "a3058e297e22210f", "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": "5774016b27445bb3", "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": "69621c64c94040c3", "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": "f0c6942ce4fd19f1", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "e15a862f2a53c03a", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "5b05e40e59fb4a09", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-3bb4019a60c7409f", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/security/sherlock/SKILL.md"}, "properties": {"repobilityId": "bfda74adf91e6658", "scanner": "scanner-primary", "fingerprint": "3bb4019a60c7409f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/security/sherlock/SKILL.md"}, "region": {"startLine": 203}}}]}, {"ruleId": "scanner-cca8f410efcfdfdd", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/creative/baoyu-article-illustrator/SKILL.md"}, "properties": {"repobilityId": "fa2d7c80dbde0eea", "scanner": "scanner-primary", "fingerprint": "cca8f410efcfdfdd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/creative/baoyu-article-illustrator/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-799db67cf73cb287", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/creative/hyperframes/SKILL.md"}, "properties": {"repobilityId": "8c072f376026e3d5", "scanner": "scanner-primary", "fingerprint": "799db67cf73cb287", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/creative/hyperframes/SKILL.md"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-0664ba40373e8b2b", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/email/agentmail/SKILL.md"}, "properties": {"repobilityId": "e11b62c4be8ce5b4", "scanner": "scanner-primary", "fingerprint": "0664ba40373e8b2b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/email/agentmail/SKILL.md"}, "region": {"startLine": 89}}}]}, {"ruleId": "scanner-0dfb4d2fd33ccf27", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/email/agentmail/SKILL.md"}, "properties": {"repobilityId": "fb1dc9ff2f1fea24", "scanner": "scanner-primary", "fingerprint": "0dfb4d2fd33ccf27", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/email/agentmail/SKILL.md"}, "region": {"startLine": 221}}}]}, {"ruleId": "scanner-b0c4702b68a74b85", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/chroma/SKILL.md"}, "properties": {"repobilityId": "3ae616a0b8bc0b3f", "scanner": "scanner-primary", "fingerprint": "b0c4702b68a74b85", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/chroma/SKILL.md"}, "region": {"startLine": 161}}}]}, {"ruleId": "scanner-db72e58ecaa641cc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/tensorrt-llm/SKILL.md"}, "properties": {"repobilityId": "c6f43509d557987b", "scanner": "scanner-primary", "fingerprint": "db72e58ecaa641cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/tensorrt-llm/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5ff87899329dd445", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/saelens/SKILL.md"}, "properties": {"repobilityId": "b2dabe14884d7e5d", "scanner": "scanner-primary", "fingerprint": "5ff87899329dd445", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/saelens/SKILL.md"}, "region": {"startLine": 166}}}]}, {"ruleId": "scanner-af33a865319dedf3", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/simpo/SKILL.md"}, "properties": {"repobilityId": "551a211b587f264d", "scanner": "scanner-primary", "fingerprint": "af33a865319dedf3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/simpo/SKILL.md"}, "region": {"startLine": 435}}}]}, {"ruleId": "scanner-51f4efa2b71a0305", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/simpo/SKILL.md"}, "properties": {"repobilityId": "581a78f77dab6f40", "scanner": "scanner-primary", "fingerprint": "51f4efa2b71a0305", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/simpo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1fcd88d29ee141f6", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/accelerate/SKILL.md"}, "properties": {"repobilityId": "c451f93a6ce130d5", "scanner": "scanner-primary", "fingerprint": "1fcd88d29ee141f6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/accelerate/SKILL.md"}, "region": {"startLine": 589}}}]}, {"ruleId": "scanner-085f878261792d3c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/accelerate/SKILL.md"}, "properties": {"repobilityId": "f27878cd3b6f69f9", "scanner": "scanner-primary", "fingerprint": "085f878261792d3c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/accelerate/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-994da21111a9ba91", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/mlops/research/dspy/SKILL.md"}, "properties": {"repobilityId": "97faffe4f9ede581", "scanner": "scanner-primary", "fingerprint": "994da21111a9ba91", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/research/dspy/SKILL.md"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-fe8de434a826467b", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/lambda-labs/SKILL.md"}, "properties": {"repobilityId": "6a1d7423e3abb4ca", "scanner": "scanner-primary", "fingerprint": "fe8de434a826467b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/lambda-labs/SKILL.md"}, "region": {"startLine": 386}}}]}, {"ruleId": "scanner-70f42e5cdd1d83a7", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/huggingface-tokenizers/SKILL.md"}, "properties": {"repobilityId": "838039e403fcf179", "scanner": "scanner-primary", "fingerprint": "70f42e5cdd1d83a7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/huggingface-tokenizers/SKILL.md"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-bb8198e3021a8b9a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/whisper/SKILL.md"}, "properties": {"repobilityId": "289bfb40384492a4", "scanner": "scanner-primary", "fingerprint": "bb8198e3021a8b9a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/whisper/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d13bc042c4fc62b4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/llava/SKILL.md"}, "properties": {"repobilityId": "0c826b9767f9bec8", "scanner": "scanner-primary", "fingerprint": "d13bc042c4fc62b4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/llava/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7d4f393f16f0bd3e", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/clip/SKILL.md"}, "properties": {"repobilityId": "c1ca3c496df6fc83", "scanner": "scanner-primary", "fingerprint": "7d4f393f16f0bd3e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/clip/SKILL.md"}, "region": {"startLine": 322}}}]}, {"ruleId": "scanner-417cdc292f2270be", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/clip/SKILL.md"}, "properties": {"repobilityId": "fcc9d37cc53cefea", "scanner": "scanner-primary", "fingerprint": "417cdc292f2270be", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/clip/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9f6a66b54011b42b", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/mlops/clip/SKILL.md"}, "properties": {"repobilityId": "a404ad1e57f5d7fb", "scanner": "scanner-primary", "fingerprint": "9f6a66b54011b42b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/clip/SKILL.md"}, "region": {"startLine": 89}}}]}, {"ruleId": "scanner-e236f9e13003edda", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/pytorch-lightning/SKILL.md"}, "properties": {"repobilityId": "fda1bb56b0977710", "scanner": "scanner-primary", "fingerprint": "e236f9e13003edda", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/pytorch-lightning/SKILL.md"}, "region": {"startLine": 580}}}]}, {"ruleId": "scanner-2473d68d2b96b65f", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/flash-attention/SKILL.md"}, "properties": {"repobilityId": "40da723246e337d1", "scanner": "scanner-primary", "fingerprint": "2473d68d2b96b65f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/flash-attention/SKILL.md"}, "region": {"startLine": 665}}}]}, {"ruleId": "scanner-f45b804a88e08d58", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/nemo-curator/SKILL.md"}, "properties": {"repobilityId": "c396720327c32209", "scanner": "scanner-primary", "fingerprint": "f45b804a88e08d58", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/nemo-curator/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-90ab363f9074b6d8", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/peft/SKILL.md"}, "properties": {"repobilityId": "51652bbb839572c2", "scanner": "scanner-primary", "fingerprint": "90ab363f9074b6d8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/peft/SKILL.md"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-fec55a4470140ec8", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/torchtitan/SKILL.md"}, "properties": {"repobilityId": "3ca0f4758c78a8c5", "scanner": "scanner-primary", "fingerprint": "fec55a4470140ec8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/torchtitan/SKILL.md"}, "region": {"startLine": 715}}}]}, {"ruleId": "scanner-daee09832da6c836", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/torchtitan/SKILL.md"}, "properties": {"repobilityId": "8802ccbbd571947e", "scanner": "scanner-primary", "fingerprint": "daee09832da6c836", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/torchtitan/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6d857af7443b497d", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/mlops/torchtitan/SKILL.md"}, "properties": {"repobilityId": "57ebf9e8c17e1341", "scanner": "scanner-primary", "fingerprint": "6d857af7443b497d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/torchtitan/SKILL.md"}, "region": {"startLine": 379}}}]}, {"ruleId": "scanner-b35410e35a9be800", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/obliteratus/SKILL.md"}, "properties": {"repobilityId": "d962ef674e29faa7", "scanner": "scanner-primary", "fingerprint": "b35410e35a9be800", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/obliteratus/SKILL.md"}, "region": {"startLine": 232}}}]}, {"ruleId": "scanner-7de788c76f4a5f4d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/training/axolotl/SKILL.md"}, "properties": {"repobilityId": "ef5b67f8cdcd04b9", "scanner": "scanner-primary", "fingerprint": "7de788c76f4a5f4d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/training/axolotl/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-640c4a71a892d2f3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mlops/training/unsloth/SKILL.md"}, "properties": {"repobilityId": "f0f743c6139e868c", "scanner": "scanner-primary", "fingerprint": "640c4a71a892d2f3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/training/unsloth/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae71fab000b3b0fb", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/mlops/training/trl-fine-tuning/SKILL.md"}, "properties": {"repobilityId": "66e5e2f50d39cde8", "scanner": "scanner-primary", "fingerprint": "ae71fab000b3b0fb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mlops/training/trl-fine-tuning/SKILL.md"}, "region": {"startLine": 139}}}]}, {"ruleId": "scanner-546ddfd8144b4d65", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/mcp/mcporter/SKILL.md"}, "properties": {"repobilityId": "be1219c07b9b34ec", "scanner": "scanner-primary", "fingerprint": "546ddfd8144b4d65", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mcp/mcporter/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-124e2d5c287def3d", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/mcp/mcporter/SKILL.md"}, "properties": {"repobilityId": "34ee5c001fe29390", "scanner": "scanner-primary", "fingerprint": "124e2d5c287def3d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/mcp/mcporter/SKILL.md"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-a57f15196a2ee6c0", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/autonomous-ai-agents/grok/SKILL.md"}, "properties": {"repobilityId": "63455bd48c9cda77", "scanner": "scanner-primary", "fingerprint": "a57f15196a2ee6c0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/autonomous-ai-agents/grok/SKILL.md"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-0a4ab4408f74b92a", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "properties": {"repobilityId": "a19576ebee524b0e", "scanner": "scanner-primary", "fingerprint": "0a4ab4408f74b92a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "region": {"startLine": 141}}}]}, {"ruleId": "scanner-92d6300cabbfaa2a", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "properties": {"repobilityId": "9712c1861f328c68", "scanner": "scanner-primary", "fingerprint": "92d6300cabbfaa2a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-5c196c0ee8c9fed9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/research/bioinformatics/SKILL.md"}, "properties": {"repobilityId": "09d9fd29ddc81893", "scanner": "scanner-primary", "fingerprint": "5c196c0ee8c9fed9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/research/bioinformatics/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-72698e2b009a81b8", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/research/qmd/SKILL.md"}, "properties": {"repobilityId": "368e420fe5fd0892", "scanner": "scanner-primary", "fingerprint": "72698e2b009a81b8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/research/qmd/SKILL.md"}, "region": {"startLine": 121}}}]}, {"ruleId": "scanner-00513dad330d6813", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/research/domain-intel/SKILL.md"}, "properties": {"repobilityId": "0bcf72b4bcda8831", "scanner": "scanner-primary", "fingerprint": "00513dad330d6813", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/research/domain-intel/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-56f762356df0eec9", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/research/parallel-cli/SKILL.md"}, "properties": {"repobilityId": "843d0859b086d157", "scanner": "scanner-primary", "fingerprint": "56f762356df0eec9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/research/parallel-cli/SKILL.md"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-a89ad81b613d3041", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/research/scrapling/SKILL.md"}, "properties": {"repobilityId": "d4de8acdfd1b0328", "scanner": "scanner-primary", "fingerprint": "a89ad81b613d3041", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/research/scrapling/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb5424cf69cefa94", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/migration/openclaw-migration/SKILL.md"}, "properties": {"repobilityId": "b36378725365caa6", "scanner": "scanner-primary", "fingerprint": "cb5424cf69cefa94", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/migration/openclaw-migration/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a0b2cb6469b9c248", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/finance/stocks/SKILL.md"}, "properties": {"repobilityId": "69b6ae32e6e48c33", "scanner": "scanner-primary", "fingerprint": "a0b2cb6469b9c248", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/finance/stocks/SKILL.md"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-9ba06bfdde389960", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/software-development/rest-graphql-debug/SKILL.md"}, "properties": {"repobilityId": "bc571eca20e6bf0b", "scanner": "scanner-primary", "fingerprint": "9ba06bfdde389960", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/software-development/rest-graphql-debug/SKILL.md"}, "region": {"startLine": 694}}}]}, {"ruleId": "scanner-c45620bc0a2996d1", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/productivity/shopify/SKILL.md"}, "properties": {"repobilityId": "edd30b72f38d45fb", "scanner": "scanner-primary", "fingerprint": "c45620bc0a2996d1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/productivity/shopify/SKILL.md"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-764bb33dea63445f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: optional-skills/devops/watchers/SKILL.md"}, "properties": {"repobilityId": "0a344128110cfe0c", "scanner": "scanner-primary", "fingerprint": "764bb33dea63445f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/devops/watchers/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f613da823a6705e9", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: optional-skills/devops/cli/SKILL.md"}, "properties": {"repobilityId": "912f36e63e38f8d4", "scanner": "scanner-primary", "fingerprint": "f613da823a6705e9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/devops/cli/SKILL.md"}, "region": {"startLine": 79}}}]}, {"ruleId": "scanner-9abafcfc7c21ceff", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: optional-skills/devops/docker-management/SKILL.md"}, "properties": {"repobilityId": "e418e3a962174354", "scanner": "scanner-primary", "fingerprint": "9abafcfc7c21ceff", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "optional-skills/devops/docker-management/SKILL.md"}, "region": {"startLine": 361}}}]}, {"ruleId": "scanner-3e0314a37d9e3d2f", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/creative/design-md/SKILL.md"}, "properties": {"repobilityId": "db55bd10c2512fe6", "scanner": "scanner-primary", "fingerprint": "3e0314a37d9e3d2f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/creative/design-md/SKILL.md"}, "region": {"startLine": 295}}}]}, {"ruleId": "scanner-56392cf727558d15", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/creative/ascii-art/SKILL.md"}, "properties": {"repobilityId": "fdd2d4b81f420d42", "scanner": "scanner-primary", "fingerprint": "56392cf727558d15", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/creative/ascii-art/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8eac50dc813ca61e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/creative/excalidraw/SKILL.md"}, "properties": {"repobilityId": "204b78397b5a58e0", "scanner": "scanner-primary", "fingerprint": "8eac50dc813ca61e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/creative/excalidraw/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bdb991ca4b25a655", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/creative/comfyui/SKILL.md"}, "properties": {"repobilityId": "e275f76f89c6becd", "scanner": "scanner-primary", "fingerprint": "bdb991ca4b25a655", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/creative/comfyui/SKILL.md"}, "region": {"startLine": 653}}}]}, {"ruleId": "scanner-f4f9a016d3d8b6e4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/creative/architecture-diagram/SKILL.md"}, "properties": {"repobilityId": "188e6bdfbb39cc34", "scanner": "scanner-primary", "fingerprint": "f4f9a016d3d8b6e4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/creative/architecture-diagram/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b09b1af5660e412", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/github/github-repo-management/SKILL.md"}, "properties": {"repobilityId": "e9a49070cb169a0d", "scanner": "scanner-primary", "fingerprint": "2b09b1af5660e412", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/github/github-repo-management/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee48fabbf1313243", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/github/github-issues/SKILL.md"}, "properties": {"repobilityId": "44773a59c3bbe774", "scanner": "scanner-primary", "fingerprint": "ee48fabbf1313243", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/github/github-issues/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ebc2a7f7669ba175", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/media/songsee/SKILL.md"}, "properties": {"repobilityId": "f0e054217a007ccb", "scanner": "scanner-primary", "fingerprint": "ebc2a7f7669ba175", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/media/songsee/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f0bb08c099491a4", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/mlops/huggingface-hub/SKILL.md"}, "properties": {"repobilityId": "eaa5d6980fa0a1a5", "scanner": "scanner-primary", "fingerprint": "8f0bb08c099491a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mlops/huggingface-hub/SKILL.md"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-13a78a9c75f83a98", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/mlops/models/segment-anything/SKILL.md"}, "properties": {"repobilityId": "0373eced9d696cb1", "scanner": "scanner-primary", "fingerprint": "13a78a9c75f83a98", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mlops/models/segment-anything/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c1b2532504ce9b17", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/mlops/models/segment-anything/SKILL.md"}, "properties": {"repobilityId": "4852f43b620c5cb3", "scanner": "scanner-primary", "fingerprint": "c1b2532504ce9b17", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mlops/models/segment-anything/SKILL.md"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-361f9c838dd5fe21", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/mlops/models/audiocraft/SKILL.md"}, "properties": {"repobilityId": "ad6876878fbc93b2", "scanner": "scanner-primary", "fingerprint": "361f9c838dd5fe21", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mlops/models/audiocraft/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2e0e7c65b1ad443a", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/mlops/models/audiocraft/SKILL.md"}, "properties": {"repobilityId": "18e427b264bda94a", "scanner": "scanner-primary", "fingerprint": "2e0e7c65b1ad443a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mlops/models/audiocraft/SKILL.md"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-ecdc062bf8d116f3", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/mlops/evaluation/lm-evaluation-harness/SKILL.md"}, "properties": {"repobilityId": "709ee5621f86783b", "scanner": "scanner-primary", "fingerprint": "ecdc062bf8d116f3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mlops/evaluation/lm-evaluation-harness/SKILL.md"}, "region": {"startLine": 199}}}]}, {"ruleId": "scanner-ab3f1eb9436e85a6", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/mlops/inference/vllm/SKILL.md"}, "properties": {"repobilityId": "c056425364c7c01f", "scanner": "scanner-primary", "fingerprint": "ab3f1eb9436e85a6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mlops/inference/vllm/SKILL.md"}, "region": {"startLine": 693}}}]}, {"ruleId": "scanner-15f63233857e2777", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/mlops/inference/obliteratus/SKILL.md"}, "properties": {"repobilityId": "280934fa37c40347", "scanner": "scanner-primary", "fingerprint": "15f63233857e2777", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mlops/inference/obliteratus/SKILL.md"}, "region": {"startLine": 463}}}]}, {"ruleId": "scanner-c1cc2fb7858fbf32", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/autonomous-ai-agents/codex/SKILL.md"}, "properties": {"repobilityId": "f1984a3b7b2b5c73", "scanner": "scanner-primary", "fingerprint": "c1cc2fb7858fbf32", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/autonomous-ai-agents/codex/SKILL.md"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-8e86b9c2c43e62b3", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/autonomous-ai-agents/claude-code/SKILL.md"}, "properties": {"repobilityId": "84503bb3445b7635", "scanner": "scanner-primary", "fingerprint": "8e86b9c2c43e62b3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/autonomous-ai-agents/claude-code/SKILL.md"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-284594f26f42ddcb", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/autonomous-ai-agents/clawksis-agent/SKILL.md"}, "properties": {"repobilityId": "0f262a86ee4ecf18", "scanner": "scanner-primary", "fingerprint": "284594f26f42ddcb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/autonomous-ai-agents/clawksis-agent/SKILL.md"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-e3764eca0a698298", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/research/llm-wiki/SKILL.md"}, "properties": {"repobilityId": "76cc4eb8f6c9dbfe", "scanner": "scanner-primary", "fingerprint": "e3764eca0a698298", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/research/llm-wiki/SKILL.md"}, "region": {"startLine": 430}}}]}, {"ruleId": "scanner-86553f8acadefd05", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/research/blogwatcher/SKILL.md"}, "properties": {"repobilityId": "4e99a9a854b3f0d0", "scanner": "scanner-primary", "fingerprint": "86553f8acadefd05", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/research/blogwatcher/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-93d7d151fc4abd1e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/research/arxiv/SKILL.md"}, "properties": {"repobilityId": "85cce865dbddda90", "scanner": "scanner-primary", "fingerprint": "93d7d151fc4abd1e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/research/arxiv/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a9dd77e6e045f6c3", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/research/research-paper-writing/SKILL.md"}, "properties": {"repobilityId": "e94d574143bc2c6f", "scanner": "scanner-primary", "fingerprint": "a9dd77e6e045f6c3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/research/research-paper-writing/SKILL.md"}, "region": {"startLine": 537}}}]}, {"ruleId": "scanner-d532fa995453e5d5", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/productivity/notion/SKILL.md"}, "properties": {"repobilityId": "f9033cc4acbc7d1d", "scanner": "scanner-primary", "fingerprint": "d532fa995453e5d5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/productivity/notion/SKILL.md"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-3267dd0566abdaac", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/productivity/notion/SKILL.md"}, "properties": {"repobilityId": "c6cf7dc7a20dc876", "scanner": "scanner-primary", "fingerprint": "3267dd0566abdaac", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/productivity/notion/SKILL.md"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-1501be3f57a0c86c", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/productivity/airtable/SKILL.md"}, "properties": {"repobilityId": "d708c3037c0bdc0d", "scanner": "scanner-primary", "fingerprint": "1501be3f57a0c86c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/productivity/airtable/SKILL.md"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-2faeccf72952eccc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/productivity/airtable/SKILL.md"}, "properties": {"repobilityId": "eb81f344e7ba1886", "scanner": "scanner-primary", "fingerprint": "2faeccf72952eccc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/productivity/airtable/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d6f4221a576af46e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/productivity/ocr-and-documents/SKILL.md"}, "properties": {"repobilityId": "25c47a5ec513093c", "scanner": "scanner-primary", "fingerprint": "d6f4221a576af46e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/productivity/ocr-and-documents/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-13001015ad018bec", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/productivity/powerpoint/SKILL.md"}, "properties": {"repobilityId": "ac579f9e188f510c", "scanner": "scanner-primary", "fingerprint": "13001015ad018bec", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/productivity/powerpoint/SKILL.md"}, "region": {"startLine": 235}}}]}, {"ruleId": "scanner-8bf4bbfc1bd82edc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/devops/cloudflare-tunnel/SKILL.md"}, "properties": {"repobilityId": "49c0487b7a244e87", "scanner": "scanner-primary", "fingerprint": "8bf4bbfc1bd82edc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/devops/cloudflare-tunnel/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-10bcd2782a183bff", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/note-taking/obsidian/SKILL.md"}, "properties": {"repobilityId": "4d524bc36a25ebd0", "scanner": "scanner-primary", "fingerprint": "10bcd2782a183bff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/note-taking/obsidian/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e8421f8c39089ddd", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/smart-home/openhue/SKILL.md"}, "properties": {"repobilityId": "abc86dc28b415078", "scanner": "scanner-primary", "fingerprint": "e8421f8c39089ddd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/smart-home/openhue/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-25fc57a109e0f703", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/social-media/xurl/SKILL.md"}, "properties": {"repobilityId": "235b38c7233415ad", "scanner": "scanner-primary", "fingerprint": "25fc57a109e0f703", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/social-media/xurl/SKILL.md"}, "region": {"startLine": 117}}}]}, {"ruleId": "scanner-9ede1f5e7ec385ac", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/apple/apple-notes/SKILL.md"}, "properties": {"repobilityId": "443ef51bf2f0589a", "scanner": "scanner-primary", "fingerprint": "9ede1f5e7ec385ac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/apple/apple-notes/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-59f251ccce9d197b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/apple/findmy/SKILL.md"}, "properties": {"repobilityId": "a8d0405978844a04", "scanner": "scanner-primary", "fingerprint": "59f251ccce9d197b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/apple/findmy/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b3e551693e751d0f", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/apple/macos-computer-use/SKILL.md"}, "properties": {"repobilityId": "a91047ecefdb28f9", "scanner": "scanner-primary", "fingerprint": "b3e551693e751d0f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/apple/macos-computer-use/SKILL.md"}, "region": {"startLine": 377}}}]}, {"ruleId": "scanner-fe9a6c9b7b62d8d5", "level": "note", "message": {"text": "Legacy-named symbol `cfg_backup` in clawk_logging.py:251"}, "properties": {"repobilityId": "274cf229e565209b", "scanner": "scanner-primary", "fingerprint": "fe9a6c9b7b62d8d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e35761f698859e3a", "level": "note", "message": {"text": "Legacy-named symbol `children_copy` in run_agent.py:2371"}, "properties": {"repobilityId": "f7b048e86629cfde", "scanner": "scanner-primary", "fingerprint": "e35761f698859e3a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8093aed2d0ea2cd4", "level": "none", "message": {"text": "Commented-code block (6 lines) in run_agent.py:49"}, "properties": {"repobilityId": "4f86a4ace2897ff0", "scanner": "scanner-primary", "fingerprint": "8093aed2d0ea2cd4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-15c685a29740152f", "level": "none", "message": {"text": "Commented-code block (5 lines) in toolsets.py:581"}, "properties": {"repobilityId": "c109467d91722d34", "scanner": "scanner-primary", "fingerprint": "15c685a29740152f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4586eb38f4e3def1", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_constants.py:91"}, "properties": {"repobilityId": "fb33dcfc07e12254", "scanner": "scanner-primary", "fingerprint": "4586eb38f4e3def1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa75033da78393c8", "level": "note", "message": {"text": "Legacy-named symbol `ghost_session_prune_v1` in cli.py:2062"}, "properties": {"repobilityId": "27fb54348b282427", "scanner": "scanner-primary", "fingerprint": "aa75033da78393c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f5971e527082b4cc", "level": "none", "message": {"text": "Commented-code block (8 lines) in cli.py:23573"}, "properties": {"repobilityId": "38279332e138f57d", "scanner": "scanner-primary", "fingerprint": "f5971e527082b4cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd15e37a6aea05b7", "level": "none", "message": {"text": "Commented-code block (8 lines) in batch_runner.py:921"}, "properties": {"repobilityId": "fc8cbc3e89602a95", "scanner": "scanner-primary", "fingerprint": "cd15e37a6aea05b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3620a8fd4e27153d", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/conftest.py:266"}, "properties": {"repobilityId": "e6cb2d0da14651c4", "scanner": "scanner-primary", "fingerprint": "3620a8fd4e27153d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20dea105d502de48", "level": "note", "message": {"text": "Legacy-named symbol `get_legacy` in tests/test_tui_gateway_server.py:2147"}, "properties": {"repobilityId": "c5676dc3334a8b8b", "scanner": "scanner-primary", "fingerprint": "20dea105d502de48", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f670053e71ee82ab", "level": "note", "message": {"text": "Legacy-named symbol `test_migration_from_v2` in tests/test_clawk_state.py:3502"}, "properties": {"repobilityId": "4dc5041f8c2f2018", "scanner": "scanner-primary", "fingerprint": "f670053e71ee82ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e8de780497cdf196", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_install_sh_setup_wizard_tty_probe.py:29"}, "properties": {"repobilityId": "27c52ca244084fac", "scanner": "scanner-primary", "fingerprint": "e8de780497cdf196", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b4d2ed9f6a4cf42", "level": "note", "message": {"text": "Legacy-named symbol `test_returns_copy` in tests/test_toolset_distributions.py:49"}, "properties": {"repobilityId": "92ab322f1297de28", "scanner": "scanner-primary", "fingerprint": "9b4d2ed9f6a4cf42", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-86d3980a9109cdf0", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_tui_gateway_ws.py:12"}, "properties": {"repobilityId": "aef7422e3e89de15", "scanner": "scanner-primary", "fingerprint": "86d3980a9109cdf0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8e7e0bfb4672697", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_packaging_metadata.py:7"}, "properties": {"repobilityId": "515a528fe02a1008", "scanner": "scanner-primary", "fingerprint": "d8e7e0bfb4672697", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b19d9294e33b123", "level": "note", "message": {"text": "Legacy-named symbol `test_custom_max_size_and_backup` in tests/test_clawk_logging.py:134"}, "properties": {"repobilityId": "b53e667379be8117", "scanner": "scanner-primary", "fingerprint": "7b19d9294e33b123", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0cdb5e2ee81d1db0", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/test_yuanbao_pipeline.py:1001"}, "properties": {"repobilityId": "67dd942d33b1543c", "scanner": "scanner-primary", "fingerprint": "0cdb5e2ee81d1db0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25a93a6b9691e4ab", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/docker/test_dashboard.py:150"}, "properties": {"repobilityId": "92914f32e9198cfc", "scanner": "scanner-primary", "fingerprint": "25a93a6b9691e4ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb68a74cc1c200cc", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/docker/test_container_restart.py:115"}, "properties": {"repobilityId": "e58a908e86867ea0", "scanner": "scanner-primary", "fingerprint": "fb68a74cc1c200cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-018d60b018a33064", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/cli/test_cli_markdown_rendering.py:129"}, "properties": {"repobilityId": "77da915809fd4a41", "scanner": "scanner-primary", "fingerprint": "018d60b018a33064", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c08bd5732f8e0e08", "level": "note", "message": {"text": "Legacy-named symbol `config_copy` in tests/cli/test_cli_provider_resolution.py:351"}, "properties": {"repobilityId": "58067907b352e1b6", "scanner": "scanner-primary", "fingerprint": "c08bd5732f8e0e08", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-86c7839dcace2d54", "level": "note", "message": {"text": "Legacy-named symbol `mock_copy` in tests/cli/test_cli_copy_command.py:40"}, "properties": {"repobilityId": "9a4bb67cd366f763", "scanner": "scanner-primary", "fingerprint": "86c7839dcace2d54", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b8615fb16e1a127f", "level": "note", "message": {"text": "Legacy-named symbol `s_old` in tests/agent/test_insights.py:268"}, "properties": {"repobilityId": "d7659bb2c6f89c4e", "scanner": "scanner-primary", "fingerprint": "b8615fb16e1a127f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-55d41b2249aed3f4", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/agent/test_context_compressor.py:1495"}, "properties": {"repobilityId": "d40f36993ddc61c6", "scanner": "scanner-primary", "fingerprint": "55d41b2249aed3f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04d5547c4b4e6a55", "level": "note", "message": {"text": "Legacy-named symbol `test_returns_deep_copy` in tests/agent/test_prompt_caching.py:70"}, "properties": {"repobilityId": "b969c433da01f133", "scanner": "scanner-primary", "fingerprint": "04d5547c4b4e6a55", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8fce79743864cd47", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/agent/test_error_classifier.py:350"}, "properties": {"repobilityId": "2d96399fe3a33a63", "scanner": "scanner-primary", "fingerprint": "8fce79743864cd47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f85ceab4319509d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/agent/test_vision_routing_31179.py:274"}, "properties": {"repobilityId": "011a5790d3fb5496", "scanner": "scanner-primary", "fingerprint": "f85ceab4319509d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f04af91d1f44571b", "level": "note", "message": {"text": "Legacy-named symbol `test_returned_list_is_a_copy` in tests/agent/test_external_skills_dirs_cache.py:154"}, "properties": {"repobilityId": "3fded0af5cfb5dad", "scanner": "scanner-primary", "fingerprint": "f04af91d1f44571b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6815cc556822973c", "level": "note", "message": {"text": "Legacy-named symbol `curator_backup` in tests/agent/test_curator_backup.py:1"}, "properties": {"repobilityId": "4dc110f52d1dc7ec", "scanner": "scanner-primary", "fingerprint": "6815cc556822973c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-65b108484d156d05", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/agent/test_memory_session_switch.py:241"}, "properties": {"repobilityId": "e9fd3c86d3cb20de", "scanner": "scanner-primary", "fingerprint": "65b108484d156d05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9dbda52d699913d", "level": "note", "message": {"text": "Legacy-named symbol `super_old` in tests/agent/test_curator.py:185"}, "properties": {"repobilityId": "c0e5e9d51cc437eb", "scanner": "scanner-primary", "fingerprint": "a9dbda52d699913d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b91f106dddb6f0ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/agent/test_curator.py:733"}, "properties": {"repobilityId": "e0e1133fb2c4e2e6", "scanner": "scanner-primary", "fingerprint": "b91f106dddb6f0ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44edd4860c7f812e", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/agent/test_bedrock_integration.py:366"}, "properties": {"repobilityId": "a6da543f8c34f058", "scanner": "scanner-primary", "fingerprint": "44edd4860c7f812e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e3169974e1a60e7", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/agent/test_minimax_provider.py:64"}, "properties": {"repobilityId": "23e873f29e7811c3", "scanner": "scanner-primary", "fingerprint": "1e3169974e1a60e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05161ffbe1efb38b", "level": "note", "message": {"text": "Legacy-named symbol `test_custom_base_url_strips_trailing_v1` in tests/agent/test_anthropic_adapter.py:116"}, "properties": {"repobilityId": "3a0758bf463bdb29", "scanner": "scanner-primary", "fingerprint": "05161ffbe1efb38b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-091e4767e3d33da9", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/agent/test_anthropic_adapter.py:45"}, "properties": {"repobilityId": "346d7733cc403acd", "scanner": "scanner-primary", "fingerprint": "091e4767e3d33da9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-829a9d5d7d8d7b9e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/agent/transports/test_transport.py:132"}, "properties": {"repobilityId": "4ff97316be563b34", "scanner": "scanner-primary", "fingerprint": "829a9d5d7d8d7b9e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06e51df524488785", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/agent/transports/test_codex_transport.py:239"}, "properties": {"repobilityId": "376c8a90d554d7aa", "scanner": "scanner-primary", "fingerprint": "06e51df524488785", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25bfd8b14e93f415", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/acp/test_server.py:1674"}, "properties": {"repobilityId": "1a82948a6d02e17f", "scanner": "scanner-primary", "fingerprint": "25bfd8b14e93f415", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3517800a2662e8a6", "level": "note", "message": {"text": "Legacy-named symbol `test_extra_body_override_legacy` in tests/providers/test_profile_wiring.py:390"}, "properties": {"repobilityId": "bc15fc26fa9f3f2a", "scanner": "scanner-primary", "fingerprint": "3517800a2662e8a6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8ae69075fb64a5dd", "level": "note", "message": {"text": "Legacy-named symbol `test_no_assistant_returns_copy` in tests/run_agent/test_run_agent.py:966"}, "properties": {"repobilityId": "c8352f58a68d06be", "scanner": "scanner-primary", "fingerprint": "8ae69075fb64a5dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7714bf1e2db5dafe", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/run_agent/conftest.py:35"}, "properties": {"repobilityId": "499c54ea8b5f5114", "scanner": "scanner-primary", "fingerprint": "7714bf1e2db5dafe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54267b31582a8004", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/run_agent/test_callable_api_key.py:223"}, "properties": {"repobilityId": "2e39c2a5672099a5", "scanner": "scanner-primary", "fingerprint": "54267b31582a8004", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-531d029b7fb73723", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/run_agent/test_dict_tool_call_args.py:78"}, "properties": {"repobilityId": "531226a5e4c8c651", "scanner": "scanner-primary", "fingerprint": "531d029b7fb73723", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d348eef2438232b", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/run_agent/test_413_compression.py:626"}, "properties": {"repobilityId": "61baa8239d536f90", "scanner": "scanner-primary", "fingerprint": "3d348eef2438232b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-391668f91bbdd36f", "level": "note", "message": {"text": "Legacy-named symbol `call_old` in tests/run_agent/test_background_review_summary.py:35"}, "properties": {"repobilityId": "e3d3830bb97351c3", "scanner": "scanner-primary", "fingerprint": "391668f91bbdd36f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8379ba2a2cec2794", "level": "note", "message": {"text": "Legacy-named symbol `rs_legacy` in tests/run_agent/test_codex_xai_oauth_recovery.py:1431"}, "properties": {"repobilityId": "0ad3cfac781a1820", "scanner": "scanner-primary", "fingerprint": "8379ba2a2cec2794", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4839225f738783f4", "level": "note", "message": {"text": "Legacy-named symbol `pubsub_v1` in tests/clawk_cli/test_startup_plugin_gating.py:11"}, "properties": {"repobilityId": "722309bda0dd311e", "scanner": "scanner-primary", "fingerprint": "4839225f738783f4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bb87e99599d674bc", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/clawk_cli/conftest.py:44"}, "properties": {"repobilityId": "f997767367355942", "scanner": "scanner-primary", "fingerprint": "bb87e99599d674bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a23df030741a3475", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/clawk_cli/test_gateway_wsl.py:170"}, "properties": {"repobilityId": "e176fa83d4fdcd0b", "scanner": "scanner-primary", "fingerprint": "a23df030741a3475", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f43be020de23308", "level": "note", "message": {"text": "Legacy-named symbol `manual_at_old` in tests/clawk_cli/test_auth_xai_oauth_provider.py:2618"}, "properties": {"repobilityId": "a0a884b7f02dbeaf", "scanner": "scanner-primary", "fingerprint": "5f43be020de23308", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8eb0e89cc0c73bf0", "level": "note", "message": {"text": "Legacy-named symbol `cmd_backup` in tests/clawk_cli/test_subcommands_batch.py:67"}, "properties": {"repobilityId": "a64144ee0e0a0f9f", "scanner": "scanner-primary", "fingerprint": "8eb0e89cc0c73bf0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-64c7973b4248a696", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/clawk_cli/test_pty_bridge.py:125"}, "properties": {"repobilityId": "440fd2c7ce3e972d", "scanner": "scanner-primary", "fingerprint": "64c7973b4248a696", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e09212c95faad5e", "level": "note", "message": {"text": "Legacy-named symbol `test_v1_numeric_limit_when_no_v2` in tests/clawk_cli/test_tui_heap_sizing.py:52"}, "properties": {"repobilityId": "634caac018320386", "scanner": "scanner-primary", "fingerprint": "1e09212c95faad5e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d08044592fc6c41c", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/clawk_cli/test_dashboard_auth_middleware.py:382"}, "properties": {"repobilityId": "0729858eb54b5c87", "scanner": "scanner-primary", "fingerprint": "d08044592fc6c41c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d442e9af73756ae", "level": "note", "message": {"text": "Legacy-named symbol `user_legacy` in tests/clawk_cli/test_gateway_service.py:3221"}, "properties": {"repobilityId": "d6283d6338db508a", "scanner": "scanner-primary", "fingerprint": "6d442e9af73756ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dd564da5d9e2d5ed", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/clawk_cli/test_cmd_update.py:395"}, "properties": {"repobilityId": "b7b3afc6623199b4", "scanner": "scanner-primary", "fingerprint": "dd564da5d9e2d5ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eec3e95c8ff424fc", "level": "note", "message": {"text": "Legacy-named symbol `test_profiles_nav_label_uses_short_copy` in tests/clawk_cli/test_dashboard_profiles_nav_label.py:6"}, "properties": {"repobilityId": "0a00ee271d6886bb", "scanner": "scanner-primary", "fingerprint": "eec3e95c8ff424fc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-45e5d39a96b84d26", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/clawk_cli/test_web_server_pty_import.py:71"}, "properties": {"repobilityId": "72875bdcd46b0985", "scanner": "scanner-primary", "fingerprint": "45e5d39a96b84d26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17e88e2f3ed32032", "level": "note", "message": {"text": "Legacy-named symbol `test_switch_to_minimax_m27_strips_v1` in tests/clawk_cli/test_model_switch_opencode_anthropic.py:80"}, "properties": {"repobilityId": "3da70d0259dcc14e", "scanner": "scanner-primary", "fingerprint": "17e88e2f3ed32032", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-67831c867fa5bb2f", "level": "note", "message": {"text": "Legacy-named symbol `test_cli_daemon_help_marks_deprecated` in tests/clawk_cli/test_kanban_core_functionality.py:5579"}, "properties": {"repobilityId": "e28a9b3abd6d859f", "scanner": "scanner-primary", "fingerprint": "67831c867fa5bb2f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-615213d5887be30d", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in tests/clawk_cli/test_update_concurrent_quarantine.py:566"}, "properties": {"repobilityId": "f382e22505e4495b", "scanner": "scanner-primary", "fingerprint": "615213d5887be30d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6b7f8ae46bb37a0b", "level": "note", "message": {"text": "Legacy-named symbol `test_repeated_corrupt_open_reuses_single_backup` in tests/clawk_cli/test_kanban_db.py:5613"}, "properties": {"repobilityId": "9e6f7c32389fe614", "scanner": "scanner-primary", "fingerprint": "6b7f8ae46bb37a0b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-97f77a080d65fcd4", "level": "note", "message": {"text": "Legacy-named symbol `test_env_override_wins_over_legacy` in tests/clawk_cli/test_api_key_providers.py:1495"}, "properties": {"repobilityId": "eb040c2f66e94348", "scanner": "scanner-primary", "fingerprint": "97f77a080d65fcd4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-156e5dd87ab76145", "level": "note", "message": {"text": "Legacy-named symbol `assistant_v2` in tests/clawk_cli/test_service_manager.py:49"}, "properties": {"repobilityId": "77a7e4d045ff8457", "scanner": "scanner-primary", "fingerprint": "156e5dd87ab76145", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f0649b27a5d67a12", "level": "note", "message": {"text": "Legacy-named symbol `run_backup` in tests/clawk_cli/test_backup.py:266"}, "properties": {"repobilityId": "1ddc596eba2c2d22", "scanner": "scanner-primary", "fingerprint": "f0649b27a5d67a12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-70ec4dec9b6d188a", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/clawk_cli/test_suppress_eio_on_interrupt.py:125"}, "properties": {"repobilityId": "4953206d6557123c", "scanner": "scanner-primary", "fingerprint": "70ec4dec9b6d188a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ebe26797197653f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/clawk_cli/test_auth_commands.py:1815"}, "properties": {"repobilityId": "d3ac565f7e6a6889", "scanner": "scanner-primary", "fingerprint": "8ebe26797197653f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-efd141c8b6eb15e2", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/clawk_cli/test_win_pty_bridge.py:157"}, "properties": {"repobilityId": "ce6d8a6f6f202193", "scanner": "scanner-primary", "fingerprint": "efd141c8b6eb15e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4dedd85eeabd9c3", "level": "note", "message": {"text": "Legacy-named symbol `very_old` in tests/clawk_cli/test_debug.py:1597"}, "properties": {"repobilityId": "74c44553c4c90e69", "scanner": "scanner-primary", "fingerprint": "e4dedd85eeabd9c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4b454c0827e94344", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in tests/clawk_cli/test_claw.py:713"}, "properties": {"repobilityId": "ed8af4f734e479d7", "scanner": "scanner-primary", "fingerprint": "4b454c0827e94344", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7457f87f7d3ec1db", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/cron/test_scheduler.py:1489"}, "properties": {"repobilityId": "7c92f1f2796c140d", "scanner": "scanner-primary", "fingerprint": "7457f87f7d3ec1db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe9b73836a6c7a88", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/tools/test_browser_ssrf_local.py:113"}, "properties": {"repobilityId": "ea66bdcf00f8e5fc", "scanner": "scanner-primary", "fingerprint": "fe9b73836a6c7a88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d11052cbdd98f898", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tools/test_mcp_dynamic_discovery.py:95"}, "properties": {"repobilityId": "fd8b74202b473d51", "scanner": "scanner-primary", "fingerprint": "d11052cbdd98f898", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5893ce4c66c6799", "level": "note", "message": {"text": "Legacy-named symbol `test_plain_text_uses_markdown_v2` in tests/tools/test_send_message_tool.py:1007"}, "properties": {"repobilityId": "e9b3cec5f34afcea", "scanner": "scanner-primary", "fingerprint": "b5893ce4c66c6799", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e4851b67fb04175d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tools/test_send_message_tool.py:476"}, "properties": {"repobilityId": "52e754b6ad168541", "scanner": "scanner-primary", "fingerprint": "e4851b67fb04175d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c7c1a960a2a9eb5", "level": "note", "message": {"text": "Legacy-named symbol `test_read_returns_copy` in tests/tools/test_todo_tool.py:20"}, "properties": {"repobilityId": "8f9d07a9d5ae980b", "scanner": "scanner-primary", "fingerprint": "1c7c1a960a2a9eb5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-da55dbb060cb6d3e", "level": "note", "message": {"text": "Legacy-named symbol `_run_in_copy` in tests/tools/test_skill_provenance.py:88"}, "properties": {"repobilityId": "8dec2baadcd9df7a", "scanner": "scanner-primary", "fingerprint": "da55dbb060cb6d3e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bca875e2b691a92a", "level": "note", "message": {"text": "Legacy-named symbol `scribe_v2` in tests/tools/test_transcription_dotenv_fallback.py:314"}, "properties": {"repobilityId": "66a472fe6b0128a9", "scanner": "scanner-primary", "fingerprint": "bca875e2b691a92a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4dd6bbc852e7a894", "level": "note", "message": {"text": "Legacy-named symbol `_call_tool_unused` in tests/tools/test_mcp_circuit_breaker.py:202"}, "properties": {"repobilityId": "50a6f494175920ef", "scanner": "scanner-primary", "fingerprint": "4dd6bbc852e7a894", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-47e2804d705e3795", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tools/test_mcp_stability.py:207"}, "properties": {"repobilityId": "61c876cc8daf8b5c", "scanner": "scanner-primary", "fingerprint": "47e2804d705e3795", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fedd8e6b2e30c83f", "level": "note", "message": {"text": "Legacy-named symbol `proc_old` in tests/tools/test_process_registry.py:460"}, "properties": {"repobilityId": "f880ebb2874b5fe4", "scanner": "scanner-primary", "fingerprint": "fedd8e6b2e30c83f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bd2be9098946f5bc", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/tools/test_process_registry.py:674"}, "properties": {"repobilityId": "42f79d1198a79612", "scanner": "scanner-primary", "fingerprint": "bd2be9098946f5bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee7aba82f12f6093", "level": "note", "message": {"text": "Legacy-named symbol `test_corrupt_owner_pid_falls_back_to_legacy` in tests/tools/test_browser_orphan_reaper.py:359"}, "properties": {"repobilityId": "e87aa17a5612eee6", "scanner": "scanner-primary", "fingerprint": "ee7aba82f12f6093", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8e49291216d16cac", "level": "note", "message": {"text": "Legacy-named symbol `test_elevenlabs_default_model_multilingual_v2` in tests/tools/test_tts_max_text_length.py:85"}, "properties": {"repobilityId": "b628989b7aa75a12", "scanner": "scanner-primary", "fingerprint": "8e49291216d16cac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-adca6e5a187aac11", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tools/test_dockerfile_pid1_reaping.py:33"}, "properties": {"repobilityId": "c25c17e16fca78af", "scanner": "scanner-primary", "fingerprint": "adca6e5a187aac11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-320bf2a5fa62b011", "level": "note", "message": {"text": "Legacy-named symbol `drift_backup` in tests/tools/test_memory_tool.py:778"}, "properties": {"repobilityId": "169305dc22a09499", "scanner": "scanner-primary", "fingerprint": "320bf2a5fa62b011", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-908c0df9a09255f9", "level": "note", "message": {"text": "Legacy-named symbol `t2a_v2` in tests/tools/test_tts_speed.py:179"}, "properties": {"repobilityId": "820df8606817345d", "scanner": "scanner-primary", "fingerprint": "908c0df9a09255f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9480ff9f26535b07", "level": "note", "message": {"text": "Legacy-named symbol `test_canonical_wins_over_legacy` in tests/tools/test_transcription_command_providers.py:258"}, "properties": {"repobilityId": "4be3df4fb5426d5c", "scanner": "scanner-primary", "fingerprint": "9480ff9f26535b07", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-797787fde9812db3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tools/test_windows_native_support.py:420"}, "properties": {"repobilityId": "44eaf6edeea7d73f", "scanner": "scanner-primary", "fingerprint": "797787fde9812db3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d9587aaa3583a1f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tools/test_terminal_config_env_sync.py:141"}, "properties": {"repobilityId": "93c290596830ac54", "scanner": "scanner-primary", "fingerprint": "8d9587aaa3583a1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c226ebcbbb53a822", "level": "note", "message": {"text": "Legacy-named symbol `test_write_and_read_roundtrip_v2` in tests/tools/test_skills_sync.py:36"}, "properties": {"repobilityId": "a884e01bd838f57d", "scanner": "scanner-primary", "fingerprint": "c226ebcbbb53a822", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fd6a944c7e62db18", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/tools/test_managed_browserbase_and_modal.py:105"}, "properties": {"repobilityId": "148438baf27f856b", "scanner": "scanner-primary", "fingerprint": "fd6a944c7e62db18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef211d37f60645a1", "level": "note", "message": {"text": "Legacy-named symbol `clear_legacy` in tests/tools/test_checkpoint_manager.py:38"}, "properties": {"repobilityId": "e468ec60b8de408a", "scanner": "scanner-primary", "fingerprint": "ef211d37f60645a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2a804fd9e680b9b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tools/test_file_tools_cwd_resolution.py:57"}, "properties": {"repobilityId": "d461c18409ebd699", "scanner": "scanner-primary", "fingerprint": "2a804fd9e680b9b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a4c61d57a3fec0f2", "level": "note", "message": {"text": "Legacy-named symbol `env_backup` in tests/tools/test_code_execution.py:1159"}, "properties": {"repobilityId": "f8a620f5f28e2886", "scanner": "scanner-primary", "fingerprint": "a4c61d57a3fec0f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e44ca7751c37953b", "level": "note", "message": {"text": "Legacy-named symbol `expected_legacy` in tests/tools/test_delegate.py:2253"}, "properties": {"repobilityId": "20e93558b0ed7457", "scanner": "scanner-primary", "fingerprint": "e44ca7751c37953b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ef8576c83f8df129", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/tools/test_delegate.py:2076"}, "properties": {"repobilityId": "1c055cc933f2a1a0", "scanner": "scanner-primary", "fingerprint": "ef8576c83f8df129", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5a96eebc0c095ec", "level": "note", "message": {"text": "Legacy-named symbol `scribe_v2` in tests/tools/test_transcription_tools.py:2194"}, "properties": {"repobilityId": "c68dbb668831be02", "scanner": "scanner-primary", "fingerprint": "c5a96eebc0c095ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ccd05b934db8b9e2", "level": "note", "message": {"text": "Legacy-named symbol `clawhub_catalog_v1` in tests/tools/test_search_hidden_dirs.py:4"}, "properties": {"repobilityId": "5bbce25bc4c36e70", "scanner": "scanner-primary", "fingerprint": "ccd05b934db8b9e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b4fb3b3f5e05b856", "level": "note", "message": {"text": "Legacy-named symbol `mcp_srv_old` in tests/tools/test_mcp_tool.py:1188"}, "properties": {"repobilityId": "bec1b1b5715927ac", "scanner": "scanner-primary", "fingerprint": "b4fb3b3f5e05b856", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3d17ed8ea923301e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_slash_access_dispatch.py:464"}, "properties": {"repobilityId": "980fefd8bf7c0574", "scanner": "scanner-primary", "fingerprint": "3d17ed8ea923301e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6bcbeb595f21135", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_update_command.py:85"}, "properties": {"repobilityId": "9545c79ffb8458a7", "scanner": "scanner-primary", "fingerprint": "f6bcbeb595f21135", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8f04eb7dd0eb1aa", "level": "note", "message": {"text": "Legacy-named symbol `test_load_prefill_messages_prefers_top_level_over_legacy` in tests/gateway/test_runtime_config_env_expansion.py:62"}, "properties": {"repobilityId": "fd18cbef63ad8070", "scanner": "scanner-primary", "fingerprint": "b8f04eb7dd0eb1aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2fa28d8c5b8d2c91", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_telegram_webhook_secret.py:87"}, "properties": {"repobilityId": "2b5c823fa549111a", "scanner": "scanner-primary", "fingerprint": "2fa28d8c5b8d2c91", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-215eda0f1768ec56", "level": "note", "message": {"text": "Legacy-named symbol `test_get_slack_action_handlers_returns_copy` in tests/gateway/test_slack_plugin_action_handlers.py:156"}, "properties": {"repobilityId": "fda6babfb95b3454", "scanner": "scanner-primary", "fingerprint": "215eda0f1768ec56", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-35c055f26aa41c60", "level": "note", "message": {"text": "Legacy-named symbol `MyLegacy` in tests/gateway/test_platform_registry.py:1108"}, "properties": {"repobilityId": "c1feae02e2f4bb8d", "scanner": "scanner-primary", "fingerprint": "35c055f26aa41c60", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-785e94bb4b6260dd", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/gateway/test_whatsapp_cloud.py:1559"}, "properties": {"repobilityId": "9cdf157195f52a4a", "scanner": "scanner-primary", "fingerprint": "785e94bb4b6260dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc773f77fd50a1ff", "level": "none", "message": {"text": "Commented-code block (16 lines) in tests/gateway/test_voice_command.py:316"}, "properties": {"repobilityId": "0bc42ea9da381fe5", "scanner": "scanner-primary", "fingerprint": "cc773f77fd50a1ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65f040be825ffb0b", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/gateway/test_shutdown_memory_provider_messages.py:44"}, "properties": {"repobilityId": "4a3d017fc9e7b57c", "scanner": "scanner-primary", "fingerprint": "65f040be825ffb0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4a077f21bc547d64", "level": "note", "message": {"text": "Legacy-named symbol `register_p2_im_message_message_read_v1` in tests/gateway/test_feishu.py:42"}, "properties": {"repobilityId": "8a332a7533d0b4fd", "scanner": "scanner-primary", "fingerprint": "4a077f21bc547d64", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9c74f3b7e521dde6", "level": "note", "message": {"text": "Legacy-named symbol `api_v2` in tests/gateway/test_bluebubbles.py:172"}, "properties": {"repobilityId": "5f9db95db93e2c55", "scanner": "scanner-primary", "fingerprint": "9c74f3b7e521dde6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2a1b79f3bcd8bedc", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_message_deduplicator.py:97"}, "properties": {"repobilityId": "2fdbdb2d08806f57", "scanner": "scanner-primary", "fingerprint": "2a1b79f3bcd8bedc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33eb679819813a6d", "level": "note", "message": {"text": "Legacy-named symbol `meeting_invited_v1` in tests/gateway/test_feishu_meeting_invite.py:1"}, "properties": {"repobilityId": "28af8fdbc8044436", "scanner": "scanner-primary", "fingerprint": "33eb679819813a6d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ac65e8d2b3b5d50b", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_telegram_progress_edit_transient.py:130"}, "properties": {"repobilityId": "6d4dddede6af9baf", "scanner": "scanner-primary", "fingerprint": "ac65e8d2b3b5d50b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-829aa80f9e734e9c", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/gateway/test_stream_consumer.py:814"}, "properties": {"repobilityId": "cc2b9533580b592c", "scanner": "scanner-primary", "fingerprint": "829aa80f9e734e9c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-018422dc4063708b", "level": "note", "message": {"text": "Legacy-named symbol `call_old` in tests/gateway/test_api_server.py:2662"}, "properties": {"repobilityId": "fe1a10e864d91252", "scanner": "scanner-primary", "fingerprint": "018422dc4063708b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b36d258cb78a9c72", "level": "note", "message": {"text": "Legacy-named symbol `receive_v1` in tests/gateway/test_feishu_bot_admission.py:740"}, "properties": {"repobilityId": "229bff411ece6dcc", "scanner": "scanner-primary", "fingerprint": "b36d258cb78a9c72", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3dbecbf310809b4a", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_send_multiple_images.py:8"}, "properties": {"repobilityId": "30d39328680a73e7", "scanner": "scanner-primary", "fingerprint": "3dbecbf310809b4a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-83dbf961442ce253", "level": "note", "message": {"text": "Legacy-named symbol `test_text_as_dict_legacy` in tests/gateway/test_dingtalk.py:743"}, "properties": {"repobilityId": "df622f0eb6028375", "scanner": "scanner-primary", "fingerprint": "83dbf961442ce253", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-508bd70c8ad72d17", "level": "note", "message": {"text": "Legacy-named symbol `_write_legacy` in tests/gateway/test_pairing.py:186"}, "properties": {"repobilityId": "8f704875df27fbbd", "scanner": "scanner-primary", "fingerprint": "508bd70c8ad72d17", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7727d6d690d80c7b", "level": "note", "message": {"text": "Legacy-named symbol `src_old` in tests/gateway/test_telegram_topic_mode.py:1841"}, "properties": {"repobilityId": "3246b312864bd76d", "scanner": "scanner-primary", "fingerprint": "7727d6d690d80c7b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-80640d6bd811bd9d", "level": "note", "message": {"text": "Legacy-named symbol `sess_old` in tests/gateway/test_qqbot.py:3137"}, "properties": {"repobilityId": "ccd2250e8815f7e0", "scanner": "scanner-primary", "fingerprint": "80640d6bd811bd9d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8216ce9a19ac4d3a", "level": "note", "message": {"text": "Legacy-named symbol `test_load_busy_text_mode_follows_input_mode_and_honors_legacy` in tests/gateway/test_restart_drain.py:119"}, "properties": {"repobilityId": "96cde3b5a8e88bf7", "scanner": "scanner-primary", "fingerprint": "8216ce9a19ac4d3a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-537b08d9bf1fdc0b", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/gateway/test_restart_drain.py:38"}, "properties": {"repobilityId": "14bf10e81f1c77be", "scanner": "scanner-primary", "fingerprint": "537b08d9bf1fdc0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b870bbd7186c2993", "level": "note", "message": {"text": "Legacy-named symbol `sig_old` in tests/gateway/test_agent_cache.py:1033"}, "properties": {"repobilityId": "997e7db806bcc9d1", "scanner": "scanner-primary", "fingerprint": "b870bbd7186c2993", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4b8951777c91e537", "level": "note", "message": {"text": "Legacy-named symbol `test_permanent_rich_error_falls_back_to_legacy` in tests/gateway/test_telegram_rich_messages.py:264"}, "properties": {"repobilityId": "c912f751ac08bf53", "scanner": "scanner-primary", "fingerprint": "4b8951777c91e537", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-45aeb3191c3011a1", "level": "note", "message": {"text": "Legacy-named symbol `sess_old` in tests/gateway/test_mirror.py:48"}, "properties": {"repobilityId": "279bd16dcb37d523", "scanner": "scanner-primary", "fingerprint": "45aeb3191c3011a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c5f069ae63a90092", "level": "note", "message": {"text": "Legacy-named symbol `snapshot_copy` in tests/gateway/test_send_voice_reply_notify.py:105"}, "properties": {"repobilityId": "f7f8ea823110aa5f", "scanner": "scanner-primary", "fingerprint": "c5f069ae63a90092", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9f5cb8a8f6a3e0b7", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/gateway/test_queue_consumption.py:285"}, "properties": {"repobilityId": "8e582d99d71b037d", "scanner": "scanner-primary", "fingerprint": "9f5cb8a8f6a3e0b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-afe1c252f01b0c79", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_slack.py:902"}, "properties": {"repobilityId": "27f5796c2413ff3c", "scanner": "scanner-primary", "fingerprint": "afe1c252f01b0c79", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3f613bbc9193c6ac", "level": "note", "message": {"text": "Legacy-named symbol `test_validate_svix_signature_multiple_entries_accepts_matching_v1` in tests/gateway/test_webhook_adapter.py:238"}, "properties": {"repobilityId": "b3f8f7fd02a4df65", "scanner": "scanner-primary", "fingerprint": "3f613bbc9193c6ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8b5340010807af00", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_webhook_adapter.py:164"}, "properties": {"repobilityId": "16d7dd16996710f2", "scanner": "scanner-primary", "fingerprint": "8b5340010807af00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35e31fd4936afb2b", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/gateway/test_ephemeral_reply.py:336"}, "properties": {"repobilityId": "240ccb67efd75dbb", "scanner": "scanner-primary", "fingerprint": "35e31fd4936afb2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-488d63d7769135fb", "level": "note", "message": {"text": "Legacy-named symbol `test_new_platforms_takes_precedence_over_legacy` in tests/gateway/test_display_config.py:112"}, "properties": {"repobilityId": "340ff2839de7b6bb", "scanner": "scanner-primary", "fingerprint": "488d63d7769135fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1c7fb6026573f2cf", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/gateway/test_config_driven_access_policy.py:323"}, "properties": {"repobilityId": "7b4f7e9ad32f8349", "scanner": "scanner-primary", "fingerprint": "1c7fb6026573f2cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c20703540d4bea1", "level": "note", "message": {"text": "Legacy-named symbol `another_old` in tests/gateway/test_voice_mode_platform_isolation.py:188"}, "properties": {"repobilityId": "7e6361196c7ea56c", "scanner": "scanner-primary", "fingerprint": "4c20703540d4bea1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3336ecad9e52dd05", "level": "note", "message": {"text": "Legacy-named symbol `sess_v1` in tests/gateway/test_resume_command.py:219"}, "properties": {"repobilityId": "0592a5e298ec40ca", "scanner": "scanner-primary", "fingerprint": "3336ecad9e52dd05", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-18119d3aa6935223", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_webhook_signature_rate_limit.py:112"}, "properties": {"repobilityId": "cf902e8f1056f850", "scanner": "scanner-primary", "fingerprint": "18119d3aa6935223", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-efcc72967777ab18", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/gateway/test_compression_concurrent_sessions.py:149"}, "properties": {"repobilityId": "09e4f460bd1c8236", "scanner": "scanner-primary", "fingerprint": "efcc72967777ab18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cadcb962e49ee95f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/gateway/test_platform_reconnect_fd_leak.py:183"}, "properties": {"repobilityId": "393bfc3a623324cc", "scanner": "scanner-primary", "fingerprint": "cadcb962e49ee95f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6eb9dea238d9be01", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in tests/gateway/test_send_image_file.py:467"}, "properties": {"repobilityId": "cd28dc0431a2d163", "scanner": "scanner-primary", "fingerprint": "6eb9dea238d9be01", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7462e0e477c48202", "level": "note", "message": {"text": "Legacy-named symbol `pubsub_v1` in tests/gateway/test_google_chat.py:81"}, "properties": {"repobilityId": "16ccdfe852a362ee", "scanner": "scanner-primary", "fingerprint": "7462e0e477c48202", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-13b563e58439df3e", "level": "note", "message": {"text": "Legacy-named symbol `test_migrator_can_overwrite_conflicting_imported_skill_with_backup` in tests/skills/test_openclaw_migration.py:655"}, "properties": {"repobilityId": "812ddac983d298b9", "scanner": "scanner-primary", "fingerprint": "13b563e58439df3e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-759bc8850864cec2", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/plugins/test_nemo_relay_plugin.py:980"}, "properties": {"repobilityId": "83ecddf47538762a", "scanner": "scanner-primary", "fingerprint": "759bc8850864cec2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1506c255074f8fa2", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/plugins/model_providers/test_minimax_profile.py:60"}, "properties": {"repobilityId": "2d32308fba3fa588", "scanner": "scanner-primary", "fingerprint": "1506c255074f8fa2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-003c81c9417d0908", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/plugins/tts/check_parity_vs_main.py:68"}, "properties": {"repobilityId": "347f11f4180d0257", "scanner": "scanner-primary", "fingerprint": "003c81c9417d0908", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65bd216010c623ee", "level": "note", "message": {"text": "Legacy-named symbol `test_default_model_matches_legacy` in tests/plugins/image_gen/test_fal_provider.py:36"}, "properties": {"repobilityId": "7674fa0a2e7f6dc2", "scanner": "scanner-primary", "fingerprint": "65bd216010c623ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d3e31ff0e11a0125", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/plugins/image_gen/check_parity_vs_main.py:40"}, "properties": {"repobilityId": "cee0216b11e14e04", "scanner": "scanner-primary", "fingerprint": "d3e31ff0e11a0125", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db97f4ce510a21d1", "level": "note", "message": {"text": "Legacy-named symbol `rt_old` in tests/plugins/dashboard_auth/test_self_hosted_provider.py:922"}, "properties": {"repobilityId": "1b15d2530c493854", "scanner": "scanner-primary", "fingerprint": "db97f4ce510a21d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0f199dff4c443410", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/plugins/browser/check_parity_vs_main.py:82"}, "properties": {"repobilityId": "23a956e3e7abadf5", "scanner": "scanner-primary", "fingerprint": "0f199dff4c443410", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f31767b1cbd9f474", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/desktop/vite.config.ts:10"}, "properties": {"repobilityId": "c832cfad9c62e503", "scanner": "scanner-primary", "fingerprint": "f31767b1cbd9f474", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f2c422f89fedf90", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/electron/git-worktrees.cjs:6"}, "properties": {"repobilityId": "0854d2838086757d", "scanner": "scanner-primary", "fingerprint": "9f2c422f89fedf90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cbf1fd3d947d5641", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/electron/main.cjs:813"}, "properties": {"repobilityId": "2c9f1080a4e2e9d0", "scanner": "scanner-primary", "fingerprint": "cbf1fd3d947d5641", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f8c1c65c6f5e57c2", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/desktop/electron/session-windows.cjs:13"}, "properties": {"repobilityId": "f1afd128037de8db", "scanner": "scanner-primary", "fingerprint": "f8c1c65c6f5e57c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6178ed330b9c3e5c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/click-session.mjs:2"}, "properties": {"repobilityId": "28d38cab26bb07b5", "scanner": "scanner-primary", "fingerprint": "6178ed330b9c3e5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-de984f6166d8c7b8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/probe-renderer.mjs:2"}, "properties": {"repobilityId": "82d483e562d9f5db", "scanner": "scanner-primary", "fingerprint": "de984f6166d8c7b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2e269335d007ea15", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-latency.mjs:63"}, "properties": {"repobilityId": "5f6b1bdfd3e529c5", "scanner": "scanner-primary", "fingerprint": "2e269335d007ea15", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2914c0000b7c19d8", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/scripts/write-build-stamp.cjs:64"}, "properties": {"repobilityId": "168fd30cb040e7f6", "scanner": "scanner-primary", "fingerprint": "2914c0000b7c19d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d60d99a383990b21", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/scripts/assert-dist-built.cjs:5"}, "properties": {"repobilityId": "da4afa3a53e76657", "scanner": "scanner-primary", "fingerprint": "d60d99a383990b21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-caa0637ca7d2b461", "level": "none", "message": {"text": "Commented-code block (10 lines) in apps/desktop/scripts/diag-scroll-reset.mjs:7"}, "properties": {"repobilityId": "eeb7c22461421ef8", "scanner": "scanner-primary", "fingerprint": "caa0637ca7d2b461", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e497a82367fe259d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/diag-scroll-reset.mjs:33"}, "properties": {"repobilityId": "9e694309b66a01fb", "scanner": "scanner-primary", "fingerprint": "e497a82367fe259d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4e50c8b992e5633c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-typing.mjs:85"}, "properties": {"repobilityId": "896566dfd40e363e", "scanner": "scanner-primary", "fingerprint": "4e50c8b992e5633c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2387619a88be776c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/reload-renderer.mjs:2"}, "properties": {"repobilityId": "0274949b27c1d91b", "scanner": "scanner-primary", "fingerprint": "2387619a88be776c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1996b0062bdcb781", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-real-stream.mjs:49"}, "properties": {"repobilityId": "68b02a12cc4e0584", "scanner": "scanner-primary", "fingerprint": "1996b0062bdcb781", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-175f7d7ae42ded3b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/diag-jump.mjs:3"}, "properties": {"repobilityId": "64182a0929f13a84", "scanner": "scanner-primary", "fingerprint": "175f7d7ae42ded3b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e93b46ea12df0394", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/reload.mjs:3"}, "properties": {"repobilityId": "4715028979a58bf8", "scanner": "scanner-primary", "fingerprint": "e93b46ea12df0394", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-605a6480ae826871", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/eval.mjs:2"}, "properties": {"repobilityId": "49090cc350c3f94d", "scanner": "scanner-primary", "fingerprint": "605a6480ae826871", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0c489c850668c90d", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/scripts/stage-native-deps.cjs:137"}, "properties": {"repobilityId": "eab491b612cbe9d9", "scanner": "scanner-primary", "fingerprint": "0c489c850668c90d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e777506005cf066", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/leak-typing.mjs:59"}, "properties": {"repobilityId": "888e87b8c4133cd6", "scanner": "scanner-primary", "fingerprint": "4e777506005cf066", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47344e07f77080d9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-jump.mjs:14"}, "properties": {"repobilityId": "d6ff5c2e2f46980d", "scanner": "scanner-primary", "fingerprint": "47344e07f77080d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7813619b3b57b5c8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-long-stream.mjs:37"}, "properties": {"repobilityId": "11e12062162ebfcf", "scanner": "scanner-primary", "fingerprint": "7813619b3b57b5c8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6e3343a0cc541e3e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/probe-thread.mjs:3"}, "properties": {"repobilityId": "dad995d92a8ac309", "scanner": "scanner-primary", "fingerprint": "6e3343a0cc541e3e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b9d2b2b75d07fece", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-submit.mjs:57"}, "properties": {"repobilityId": "5953cc457c54d8b2", "scanner": "scanner-primary", "fingerprint": "b9d2b2b75d07fece", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0d235a1f19440d6b", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/scripts/measure-synthetic-stream.mjs:3"}, "properties": {"repobilityId": "7f68436f4420dc38", "scanner": "scanner-primary", "fingerprint": "0d235a1f19440d6b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8949c38738a4c53f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-synthetic-stream.mjs:32"}, "properties": {"repobilityId": "c589e103e041f6cf", "scanner": "scanner-primary", "fingerprint": "8949c38738a4c53f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d7288e8d7b45f349", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/scripts/measure-real-stream.mjs:3"}, "properties": {"repobilityId": "8af6ed13bad146b4", "scanner": "scanner-primary", "fingerprint": "d7288e8d7b45f349", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ff9bae0deae9cb4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/measure-real-stream.mjs:17"}, "properties": {"repobilityId": "d98c32e782b52eee", "scanner": "scanner-primary", "fingerprint": "0ff9bae0deae9cb4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d2b55850a4ae30b1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/scripts/profile-synth-stream.mjs:46"}, "properties": {"repobilityId": "057b71bead25dd8a", "scanner": "scanner-primary", "fingerprint": "d2b55850a4ae30b1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b24b633b91ede385", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/global.d.ts:10"}, "properties": {"repobilityId": "dcf0ee83ed6e0724", "scanner": "scanner-primary", "fingerprint": "b24b633b91ede385", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11ce475d0dc48553", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/main.tsx:20"}, "properties": {"repobilityId": "2c8388cc8bf31ef4", "scanner": "scanner-primary", "fingerprint": "11ce475d0dc48553", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-902bcf9eec234896", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/themes/vscode.ts:233"}, "properties": {"repobilityId": "6a747be47759ba14", "scanner": "scanner-primary", "fingerprint": "902bcf9eec234896", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1577cc61809465d2", "level": "none", "message": {"text": "Commented-code block (13 lines) in apps/desktop/src/components/prompt-overlays.tsx:23"}, "properties": {"repobilityId": "c89f48da09db1373", "scanner": "scanner-primary", "fingerprint": "1577cc61809465d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fffd4eb916bd68ab", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/components/boot-failure-reauth.ts:29"}, "properties": {"repobilityId": "21c5c4e21e3464cf", "scanner": "scanner-primary", "fingerprint": "fffd4eb916bd68ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38de2996db496c1a", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/gateway-connecting-overlay.test.tsx:11"}, "properties": {"repobilityId": "6aef00edb809ece4", "scanner": "scanner-primary", "fingerprint": "38de2996db496c1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-64ed3530db777d70", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/haptics-provider.tsx:18"}, "properties": {"repobilityId": "9056f3bf63d2ebab", "scanner": "scanner-primary", "fingerprint": "64ed3530db777d70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8841822a78ba5a7f", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/desktop/src/components/desktop-onboarding-overlay.tsx:101"}, "properties": {"repobilityId": "a4876a0216741311", "scanner": "scanner-primary", "fingerprint": "8841822a78ba5a7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08fd063b7e6607f6", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/model-picker.tsx:49"}, "properties": {"repobilityId": "8a4408347996e18e", "scanner": "scanner-primary", "fingerprint": "08fd063b7e6607f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ee483605bdc0932", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/components/boot-failure-overlay.tsx:19"}, "properties": {"repobilityId": "7dfc4b0577920e27", "scanner": "scanner-primary", "fingerprint": "1ee483605bdc0932", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56c347178a40ab2c", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/components/language-switcher.tsx:131"}, "properties": {"repobilityId": "44646a8235c04569", "scanner": "scanner-primary", "fingerprint": "56c347178a40ab2c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-760d5f5d03f5d7e1", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/components/notifications.tsx:70"}, "properties": {"repobilityId": "9d6f44ba23e24352", "scanner": "scanner-primary", "fingerprint": "760d5f5d03f5d7e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa43c1e56f043215", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/ui/dropdown-menu.tsx:254"}, "properties": {"repobilityId": "882768ef121318d2", "scanner": "scanner-primary", "fingerprint": "fa43c1e56f043215", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a4080f04a765121a", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/ui/error-state.tsx:23"}, "properties": {"repobilityId": "cc6c7c93f2025437", "scanner": "scanner-primary", "fingerprint": "a4080f04a765121a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ab97b47de58769b", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/ui/control.ts:3"}, "properties": {"repobilityId": "cb2f17f47c5181a9", "scanner": "scanner-primary", "fingerprint": "4ab97b47de58769b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8464226543ad03bc", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/ui/tool-icon.tsx:6"}, "properties": {"repobilityId": "11a8451325305a70", "scanner": "scanner-primary", "fingerprint": "8464226543ad03bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f2143d2f4fe3297", "level": "none", "message": {"text": "Commented-code block (12 lines) in apps/desktop/src/components/chat/disclosure-row.tsx:10"}, "properties": {"repobilityId": "8ba40f053660803b", "scanner": "scanner-primary", "fingerprint": "7f2143d2f4fe3297", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d28203447e7dd46d", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/tool-fallback-model.ts:750"}, "properties": {"repobilityId": "f10cd36d2bf229a4", "scanner": "scanner-primary", "fingerprint": "d28203447e7dd46d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dff313d5e1d3110c", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/thread.tsx:252"}, "properties": {"repobilityId": "83f5b6e2296cb7f2", "scanner": "scanner-primary", "fingerprint": "dff313d5e1d3110c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd52b202da3fc23d", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/desktop/src/components/assistant-ui/message-render-boundary.tsx:3"}, "properties": {"repobilityId": "69bd52dcc9e0103b", "scanner": "scanner-primary", "fingerprint": "dd52b202da3fc23d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c3c3d3ba379d402", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/desktop/src/components/assistant-ui/tool-approval.tsx:31"}, "properties": {"repobilityId": "463cc2f93cd18a14", "scanner": "scanner-primary", "fingerprint": "6c3c3d3ba379d402", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7006d22519b09a73", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/desktop/src/components/assistant-ui/markdown-text.tsx:42"}, "properties": {"repobilityId": "72d9e12af34a6dab", "scanner": "scanner-primary", "fingerprint": "7006d22519b09a73", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59390cd69a553f82", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/desktop/src/components/assistant-ui/thread-list.tsx:34"}, "properties": {"repobilityId": "fa825fa18a1cae31", "scanner": "scanner-primary", "fingerprint": "59390cd69a553f82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2367d66e5e84e6e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/tool-fallback.tsx:286"}, "properties": {"repobilityId": "92e7c6a19932a1c2", "scanner": "scanner-primary", "fingerprint": "c2367d66e5e84e6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fff4359a1c020612", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/tool-approval-group.test.tsx:12"}, "properties": {"repobilityId": "e2c70d5dd813801e", "scanner": "scanner-primary", "fingerprint": "fff4359a1c020612", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-520e601f854cb0af", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/user-message-text.tsx:7"}, "properties": {"repobilityId": "457a9a25fbba03c6", "scanner": "scanner-primary", "fingerprint": "520e601f854cb0af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ce22debac16f927", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/markdown-text.test.ts:139"}, "properties": {"repobilityId": "5aea2a015321bc3a", "scanner": "scanner-primary", "fingerprint": "8ce22debac16f927", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04fbbcc3c4797dc2", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/components/assistant-ui/streaming.test.tsx:424"}, "properties": {"repobilityId": "4a919b690b5b34ca", "scanner": "scanner-primary", "fingerprint": "04fbbcc3c4797dc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83128d5bd6f7e105", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/desktop-controller.tsx:136"}, "properties": {"repobilityId": "fc0da3a78e26b181", "scanner": "scanner-primary", "fingerprint": "83128d5bd6f7e105", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75783b8a89960f9e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/layout-constants.ts:1"}, "properties": {"repobilityId": "85d1d73ffbec7729", "scanner": "scanner-primary", "fingerprint": "75783b8a89960f9e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7abbdcefc8d88a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/settings/model-settings.tsx:226"}, "properties": {"repobilityId": "b8ea25a15ca37d89", "scanner": "scanner-primary", "fingerprint": "a7abbdcefc8d88a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92b7e40551cb0af3", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/settings/sessions-settings.tsx:179"}, "properties": {"repobilityId": "e31c2b62dc01b106", "scanner": "scanner-primary", "fingerprint": "92b7e40551cb0af3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce86ae611bac95e4", "level": "note", "message": {"text": "Legacy-named symbol `scribe_v2` in apps/desktop/src/app/settings/constants.ts:247"}, "properties": {"repobilityId": "c0ede816c01c0812", "scanner": "scanner-primary", "fingerprint": "ce86ae611bac95e4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b188d665871793cb", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/desktop/src/app/settings/constants.ts:19"}, "properties": {"repobilityId": "2ab1b5470d4c0454", "scanner": "scanner-primary", "fingerprint": "b188d665871793cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-131518ab585111f0", "level": "none", "message": {"text": "Commented-code block (11 lines) in apps/desktop/src/app/settings/gateway-settings.tsx:216"}, "properties": {"repobilityId": "d4d69f761706f634", "scanner": "scanner-primary", "fingerprint": "131518ab585111f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a521cf622a9c746", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/settings/providers-settings.tsx:82"}, "properties": {"repobilityId": "c493caed05f75855", "scanner": "scanner-primary", "fingerprint": "9a521cf622a9c746", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9bbb9b55f4dfad16", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/settings/toolset-config-panel.test.tsx:115"}, "properties": {"repobilityId": "c8b1320c537f8e77", "scanner": "scanner-primary", "fingerprint": "9bbb9b55f4dfad16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93c45b965f44332f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/settings/toolset-config-panel.tsx:321"}, "properties": {"repobilityId": "c9f3e744060fbe47", "scanner": "scanner-primary", "fingerprint": "93c45b965f44332f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55ab4cd17f83b87d", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/index.tsx:288"}, "properties": {"repobilityId": "cd2741450eae2d13", "scanner": "scanner-primary", "fingerprint": "55ab4cd17f83b87d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a2bf2c025075c12", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/chat/perf-probe.tsx:112"}, "properties": {"repobilityId": "82cf8962df691c8d", "scanner": "scanner-primary", "fingerprint": "6a2bf2c025075c12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b941f3eb8fc9a9bd", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/chat/composer/completion-drawer.tsx:8"}, "properties": {"repobilityId": "42dfda6fb6f8a5b5", "scanner": "scanner-primary", "fingerprint": "b941f3eb8fc9a9bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dbdeda2b2281493", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/index.tsx:261"}, "properties": {"repobilityId": "bc199ea158ede69d", "scanner": "scanner-primary", "fingerprint": "1dbdeda2b2281493", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b42e6ae96c6bbb4", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/desktop/src/app/chat/composer/enter-submit-dom-race.test.tsx:14"}, "properties": {"repobilityId": "8a3a5ed7e31ae847", "scanner": "scanner-primary", "fingerprint": "4b42e6ae96c6bbb4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dbd385e8a48f137", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/desktop/src/app/chat/composer/ime-composition-dom-repro.test.tsx:13"}, "properties": {"repobilityId": "edcf2b9ddeb9d997", "scanner": "scanner-primary", "fingerprint": "1dbd385e8a48f137", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4725ae1c50d58668", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/text-utils.ts:9"}, "properties": {"repobilityId": "c6ecceb7f07fc93d", "scanner": "scanner-primary", "fingerprint": "4725ae1c50d58668", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cffcdc31d56372c0", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/slash-nav-dom-repro.test.tsx:9"}, "properties": {"repobilityId": "3de1c34328298ea5", "scanner": "scanner-primary", "fingerprint": "cffcdc31d56372c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62096018ab16d008", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/status-stack/index.tsx:173"}, "properties": {"repobilityId": "306fb4d09359543c", "scanner": "scanner-primary", "fingerprint": "62096018ab16d008", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-181bb19dda1567b2", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/composer/hooks/use-slash-completions.ts:217"}, "properties": {"repobilityId": "4ee1237345d83c43", "scanner": "scanner-primary", "fingerprint": "181bb19dda1567b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e5ce0e2086bb6d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/hooks/use-composer-actions.test.ts:5"}, "properties": {"repobilityId": "86d9842ea0c0bd99", "scanner": "scanner-primary", "fingerprint": "0e5ce0e2086bb6d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2749ec1d0fe4e1cc", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/sidebar/session-row.tsx:160"}, "properties": {"repobilityId": "7b58b9e1a913d302", "scanner": "scanner-primary", "fingerprint": "2749ec1d0fe4e1cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7fb14fa5cd6275c", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/chat/sidebar/index.tsx:141"}, "properties": {"repobilityId": "6ae73b56372a7e5d", "scanner": "scanner-primary", "fingerprint": "d7fb14fa5cd6275c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93f2842a466fe707", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/chat/sidebar/profile-switcher.tsx:83"}, "properties": {"repobilityId": "26413ef1139ed364", "scanner": "scanner-primary", "fingerprint": "93f2842a466fe707", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a31469b30116987c", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/right-sidebar/terminal/use-terminal-session.ts:351"}, "properties": {"repobilityId": "d45723e1e86658f1", "scanner": "scanner-primary", "fingerprint": "a31469b30116987c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e1f8e7d54001cab", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/right-sidebar/terminal/selection.ts:57"}, "properties": {"repobilityId": "ab64b6bbd19d7969", "scanner": "scanner-primary", "fingerprint": "0e1f8e7d54001cab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52ba6c474c946846", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/shell/model-menu-panel.tsx:177"}, "properties": {"repobilityId": "da999a767378a255", "scanner": "scanner-primary", "fingerprint": "52ba6c474c946846", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04203e3eb1d05508", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/app/shell/app-shell.tsx:90"}, "properties": {"repobilityId": "684980b369edd35b", "scanner": "scanner-primary", "fingerprint": "04203e3eb1d05508", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c50f063cd9a90d13", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/gateway/hooks/use-gateway-boot.test.tsx:9"}, "properties": {"repobilityId": "cd9d830ecb730bec", "scanner": "scanner-primary", "fingerprint": "c50f063cd9a90d13", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e2878cd88aba808", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/gateway/hooks/use-gateway-request.ts:70"}, "properties": {"repobilityId": "7c5b9e100c6ea042", "scanner": "scanner-primary", "fingerprint": "1e2878cd88aba808", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b99726c2db342ff", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/gateway/hooks/use-gateway-boot.ts:92"}, "properties": {"repobilityId": "e5b57aab796cd76f", "scanner": "scanner-primary", "fingerprint": "9b99726c2db342ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c971e7dac183920", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-message-stream.ts:133"}, "properties": {"repobilityId": "56b84a413234371e", "scanner": "scanner-primary", "fingerprint": "0c971e7dac183920", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d93d3eb34a9539e0", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/app/session/hooks/use-prompt-actions.ts:120"}, "properties": {"repobilityId": "62a24fbb0d0b4267", "scanner": "scanner-primary", "fingerprint": "d93d3eb34a9539e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d2499a4bc3f4fa2f", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-route-resume.ts:86"}, "properties": {"repobilityId": "603ff8b56148aed3", "scanner": "scanner-primary", "fingerprint": "d2499a4bc3f4fa2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff0b507499c246a9", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-session-state-cache.test.tsx:48"}, "properties": {"repobilityId": "6b3c337ee1d72ba8", "scanner": "scanner-primary", "fingerprint": "ff0b507499c246a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69f65321ddd46c9b", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/desktop/src/app/session/hooks/use-session-actions.ts:434"}, "properties": {"repobilityId": "073f53dd04745b7e", "scanner": "scanner-primary", "fingerprint": "69f65321ddd46c9b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8cc4de4c31fa6a27", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/desktop/src/app/session/hooks/use-session-state-cache.ts:163"}, "properties": {"repobilityId": "e1b470ab39f17dc5", "scanner": "scanner-primary", "fingerprint": "8cc4de4c31fa6a27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8dabb28c7fd09210", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/lib/remend-tail.ts:5"}, "properties": {"repobilityId": "cc2fcf75bb911880", "scanner": "scanner-primary", "fingerprint": "8dabb28c7fd09210", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c52c5f9139006e2e", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/desktop/src/lib/remend-tail.test.ts:92"}, "properties": {"repobilityId": "858df2626cf6da9b", "scanner": "scanner-primary", "fingerprint": "c52c5f9139006e2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bbd5399fc428eab7", "level": "note", "message": {"text": "Legacy-named symbol `unstable_copy` in apps/desktop/src/lib/incremental-external-store-runtime.ts:106"}, "properties": {"repobilityId": "f1eb39ea68c45e9b", "scanner": "scanner-primary", "fingerprint": "bbd5399fc428eab7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b28348f84c2b3d95", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/lib/haptics.ts:90"}, "properties": {"repobilityId": "5c36a8335b6974e3", "scanner": "scanner-primary", "fingerprint": "b28348f84c2b3d95", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98d12080cf56f1d2", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/desktop/src/lib/markdown-preprocess.ts:11"}, "properties": {"repobilityId": "5b0d8a815e6e0112", "scanner": "scanner-primary", "fingerprint": "98d12080cf56f1d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c184912a6b506945", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/src/hooks/use-image-download.ts:25"}, "properties": {"repobilityId": "9cf72ac7ea4fb5ca", "scanner": "scanner-primary", "fingerprint": "c184912a6b506945", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-44b4f57bb8d3e364", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/store/tool-dismiss.ts:10"}, "properties": {"repobilityId": "661b299a21625944", "scanner": "scanner-primary", "fingerprint": "44b4f57bb8d3e364", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33feb92e0fb38bda", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/desktop/src/store/onboarding.ts:38"}, "properties": {"repobilityId": "66ec31536c2a8710", "scanner": "scanner-primary", "fingerprint": "33feb92e0fb38bda", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33372ed2d8f16ceb", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/updates.ts:174"}, "properties": {"repobilityId": "34effde391e01a5f", "scanner": "scanner-primary", "fingerprint": "33372ed2d8f16ceb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66124e5bffacde17", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/desktop/src/store/prompts.ts:10"}, "properties": {"repobilityId": "da5d1db129ddef5a", "scanner": "scanner-primary", "fingerprint": "66124e5bffacde17", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4c3604149d63acf", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/profile.ts:132"}, "properties": {"repobilityId": "f098db1c33345f9c", "scanner": "scanner-primary", "fingerprint": "e4c3604149d63acf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8d72e2260425af8", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/session.ts:175"}, "properties": {"repobilityId": "43ce2139fd1916b3", "scanner": "scanner-primary", "fingerprint": "a8d72e2260425af8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfcc79451d499d1e", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/desktop/src/store/gateway.ts:8"}, "properties": {"repobilityId": "ceccad270d46bf49", "scanner": "scanner-primary", "fingerprint": "dfcc79451d499d1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43ddb5da75f7851b", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/clarify.ts:12"}, "properties": {"repobilityId": "ecf71956b755ac69", "scanner": "scanner-primary", "fingerprint": "43ddb5da75f7851b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-679eb33ed5c6691e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/store/windows.ts:3"}, "properties": {"repobilityId": "58bc19b52f400e3e", "scanner": "scanner-primary", "fingerprint": "679eb33ed5c6691e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4ed6c06399ff3dc", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/profile-tui.py:881"}, "properties": {"repobilityId": "7ad185db5e8517a0", "scanner": "scanner-primary", "fingerprint": "b4ed6c06399ff3dc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6a20df3ec5898203", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/contributor_audit.py:119"}, "properties": {"repobilityId": "67def7f4dcd96e35", "scanner": "scanner-primary", "fingerprint": "6a20df3ec5898203", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-07643f8ff06a7a77", "level": "none", "message": {"text": "Commented-code block (12 lines) in scripts/run_tests_parallel.py:59"}, "properties": {"repobilityId": "4817e88ed2522686", "scanner": "scanner-primary", "fingerprint": "07643f8ff06a7a77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce3b9bcb9d72a816", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_tests_parallel.py:281"}, "properties": {"repobilityId": "a42dc6a9e1d90539", "scanner": "scanner-primary", "fingerprint": "ce3b9bcb9d72a816", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-42ec277bbf2c077c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/install_psutil_android.py:92"}, "properties": {"repobilityId": "6c7aa15a25511b7c", "scanner": "scanner-primary", "fingerprint": "42ec277bbf2c077c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dfc37a9c2d0e7c26", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/build_skills_index.py:276"}, "properties": {"repobilityId": "8f2bd18f6f9cb935", "scanner": "scanner-primary", "fingerprint": "dfc37a9c2d0e7c26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a0e08b278b487bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/check_subprocess_stdin.py:47"}, "properties": {"repobilityId": "a758caced8936294", "scanner": "scanner-primary", "fingerprint": "5a0e08b278b487bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1024a6afc167c8f2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_subprocess_stdin.py:9"}, "properties": {"repobilityId": "98c70b3727b5bde7", "scanner": "scanner-primary", "fingerprint": "1024a6afc167c8f2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-50632e62e2123946", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/check-windows-footguns.py:206"}, "properties": {"repobilityId": "271d8c97f3fc3351", "scanner": "scanner-primary", "fingerprint": "50632e62e2123946", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10944c61f7c87443", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check-windows-footguns.py:357"}, "properties": {"repobilityId": "df2545f061ee7cd5", "scanner": "scanner-primary", "fingerprint": "10944c61f7c87443", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-407e8f1e0b713a02", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/release.py:1545"}, "properties": {"repobilityId": "851d2ffc2a3fc37b", "scanner": "scanner-primary", "fingerprint": "407e8f1e0b713a02", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-02ea53ba2fee11b4", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/whatsapp-bridge/bridge.js:59"}, "properties": {"repobilityId": "6506c44fa6fdf80a", "scanner": "scanner-primary", "fingerprint": "02ea53ba2fee11b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8764140fe0164d80", "level": "none", "message": {"text": "Commented-code block (5 lines) in website/docusaurus.config.ts:48"}, "properties": {"repobilityId": "eea578f744dba53e", "scanner": "scanner-primary", "fingerprint": "8764140fe0164d80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8102908e84d9ab43", "level": "none", "message": {"text": "Commented-code block (5 lines) in website/scripts/generate-skill-docs.py:39"}, "properties": {"repobilityId": "ced97520b8bd9f65", "scanner": "scanner-primary", "fingerprint": "8102908e84d9ab43", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fa7a7a67073fb1e", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/turn_finalizer.py:72"}, "properties": {"repobilityId": "cc51ed5df1247199", "scanner": "scanner-primary", "fingerprint": "2fa7a7a67073fb1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5828f903db675e1", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/codex_responses_adapter.py:350"}, "properties": {"repobilityId": "8282c09b2e4034de", "scanner": "scanner-primary", "fingerprint": "b5828f903db675e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b67f063e5f3d6ba3", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/moonshot_schema.py:118"}, "properties": {"repobilityId": "48fa4f351d2b04eb", "scanner": "scanner-primary", "fingerprint": "b67f063e5f3d6ba3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-96b8fbd873e36050", "level": "none", "message": {"text": "Commented-code block (8 lines) in agent/context_compressor.py:77"}, "properties": {"repobilityId": "89f77e8898c23361", "scanner": "scanner-primary", "fingerprint": "96b8fbd873e36050", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba9837a2cf3b0662", "level": "none", "message": {"text": "Commented-code block (9 lines) in agent/transcription_registry.py:31"}, "properties": {"repobilityId": "2a2c5d4092689a35", "scanner": "scanner-primary", "fingerprint": "ba9837a2cf3b0662", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43bba8e72fee1514", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/tool_dispatch_helpers.py:353"}, "properties": {"repobilityId": "201fb2da66ae0c91", "scanner": "scanner-primary", "fingerprint": "43bba8e72fee1514", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c32fdf83e5f9b8f", "level": "none", "message": {"text": "Commented-code block (6 lines) in agent/credential_pool.py:2753"}, "properties": {"repobilityId": "246a9114d2f4c7de", "scanner": "scanner-primary", "fingerprint": "7c32fdf83e5f9b8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e63652074aa941b1", "level": "note", "message": {"text": "Legacy-named symbol `prev_copy` in agent/agent_runtime_helpers.py:934"}, "properties": {"repobilityId": "63d397d70e84b32d", "scanner": "scanner-primary", "fingerprint": "e63652074aa941b1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-394d936a9bbb0ccb", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/agent_runtime_helpers.py:540"}, "properties": {"repobilityId": "7dd85978f5b537f3", "scanner": "scanner-primary", "fingerprint": "394d936a9bbb0ccb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b46e30434c283cb7", "level": "none", "message": {"text": "Commented-code block (6 lines) in agent/system_prompt.py:105"}, "properties": {"repobilityId": "79d8786e50c9d38b", "scanner": "scanner-primary", "fingerprint": "b46e30434c283cb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0555d2f3ceb4c134", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/credits_tracker.py:161"}, "properties": {"repobilityId": "792f1a339e478c67", "scanner": "scanner-primary", "fingerprint": "0555d2f3ceb4c134", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-001fba0f6902cbde", "level": "none", "message": {"text": "Commented-code block (6 lines) in agent/skill_utils.py:174"}, "properties": {"repobilityId": "5beebb46793fb120", "scanner": "scanner-primary", "fingerprint": "001fba0f6902cbde", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2af4e4e4fdccee3", "level": "note", "message": {"text": "Legacy-named symbol `_prune_old` in agent/curator_backup.py:440"}, "properties": {"repobilityId": "ab1215de1a8afbd8", "scanner": "scanner-primary", "fingerprint": "f2af4e4e4fdccee3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8e1ca71dba760c29", "level": "note", "message": {"text": "Legacy-named symbol `curator_backup` in agent/curator.py:1450"}, "properties": {"repobilityId": "f34d0492e062c47e", "scanner": "scanner-primary", "fingerprint": "8e1ca71dba760c29", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e4dd07cef87bab00", "level": "none", "message": {"text": "Commented-code block (7 lines) in agent/curator.py:607"}, "properties": {"repobilityId": "54563a69afa77f0b", "scanner": "scanner-primary", "fingerprint": "e4dd07cef87bab00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6d2e9cb0c9cb754", "level": "none", "message": {"text": "Commented-code block (12 lines) in agent/account_usage.py:159"}, "properties": {"repobilityId": "b3607dcfcbd947b4", "scanner": "scanner-primary", "fingerprint": "e6d2e9cb0c9cb754", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da48980dfd572ae6", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/error_classifier.py:167"}, "properties": {"repobilityId": "e27fb3b51255ef75", "scanner": "scanner-primary", "fingerprint": "da48980dfd572ae6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b44b4d8c6b6ce73", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/browser_registry.py:104"}, "properties": {"repobilityId": "45a2e13fc067ece5", "scanner": "scanner-primary", "fingerprint": "7b44b4d8c6b6ce73", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb0e719025796b53", "level": "none", "message": {"text": "Commented-code block (10 lines) in agent/background_review.py:631"}, "properties": {"repobilityId": "90e3b02404acd75d", "scanner": "scanner-primary", "fingerprint": "fb0e719025796b53", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f717712ce8b5ae3", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/message_sanitization.py:125"}, "properties": {"repobilityId": "278d02c977a41f0e", "scanner": "scanner-primary", "fingerprint": "8f717712ce8b5ae3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-268e1020a3f0110c", "level": "none", "message": {"text": "Commented-code block (6 lines) in agent/anthropic_adapter.py:28"}, "properties": {"repobilityId": "23e1b27ad9c7d572", "scanner": "scanner-primary", "fingerprint": "268e1020a3f0110c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10dfde3d96b59cda", "level": "none", "message": {"text": "Commented-code block (7 lines) in agent/copilot_acp_client.py:33"}, "properties": {"repobilityId": "622edacd0e31a542", "scanner": "scanner-primary", "fingerprint": "10dfde3d96b59cda", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-847d42d94f57ac10", "level": "none", "message": {"text": "Commented-code block (6 lines) in agent/agent_init.py:2426"}, "properties": {"repobilityId": "b89d0b2fe3ca411e", "scanner": "scanner-primary", "fingerprint": "847d42d94f57ac10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad99d45498b71342", "level": "none", "message": {"text": "Commented-code block (8 lines) in agent/coding_context.py:101"}, "properties": {"repobilityId": "45410a52ae6f7f5b", "scanner": "scanner-primary", "fingerprint": "ad99d45498b71342", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c206dd88047e2397", "level": "none", "message": {"text": "Commented-code block (6 lines) in agent/tool_executor.py:294"}, "properties": {"repobilityId": "4f0277706a9a3653", "scanner": "scanner-primary", "fingerprint": "c206dd88047e2397", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63bca3b566566070", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/image_routing.py:51"}, "properties": {"repobilityId": "896ca9b81d1510eb", "scanner": "scanner-primary", "fingerprint": "63bca3b566566070", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d5f8536e46d189c", "level": "none", "message": {"text": "Commented-code block (6 lines) in agent/usage_pricing.py:794"}, "properties": {"repobilityId": "02dfedae6097a2a0", "scanner": "scanner-primary", "fingerprint": "3d5f8536e46d189c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-681738a7b8c16e56", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/think_scrubber.py:136"}, "properties": {"repobilityId": "b16d19574db4fe00", "scanner": "scanner-primary", "fingerprint": "681738a7b8c16e56", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5eab30e0e4e0693c", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/memory_manager.py:323"}, "properties": {"repobilityId": "d41aa363595792f6", "scanner": "scanner-primary", "fingerprint": "5eab30e0e4e0693c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0daab9bb3d9151e", "level": "none", "message": {"text": "Commented-code block (7 lines) in agent/context_references.py:344"}, "properties": {"repobilityId": "1a14abefebdc840b", "scanner": "scanner-primary", "fingerprint": "f0daab9bb3d9151e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d76d3d2b4b35fefa", "level": "none", "message": {"text": "Commented-code block (6 lines) in agent/model_metadata.py:280"}, "properties": {"repobilityId": "2adf754078724246", "scanner": "scanner-primary", "fingerprint": "d76d3d2b4b35fefa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b216a69537644d66", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/conversation_compression.py:43"}, "properties": {"repobilityId": "819f0346852f31f9", "scanner": "scanner-primary", "fingerprint": "b216a69537644d66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb1670f860d88836", "level": "none", "message": {"text": "Commented-code block (14 lines) in agent/conversation_loop.py:3500"}, "properties": {"repobilityId": "caa08856aded56da", "scanner": "scanner-primary", "fingerprint": "cb1670f860d88836", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-367e35f49f818178", "level": "none", "message": {"text": "Commented-code block (8 lines) in agent/tts_registry.py:40"}, "properties": {"repobilityId": "ce33ff29caf3fc9e", "scanner": "scanner-primary", "fingerprint": "367e35f49f818178", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17d3ad45a982c311", "level": "none", "message": {"text": "Commented-code block (12 lines) in agent/prompt_builder.py:276"}, "properties": {"repobilityId": "5e6771b8507bca0b", "scanner": "scanner-primary", "fingerprint": "17d3ad45a982c311", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7b513866147961c", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/transports/types.py:40"}, "properties": {"repobilityId": "3ee4a18703960545", "scanner": "scanner-primary", "fingerprint": "a7b513866147961c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd9ca9d04e5eef45", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/transports/codex.py:20"}, "properties": {"repobilityId": "f53ceb8e65129b7a", "scanner": "scanner-primary", "fingerprint": "bd9ca9d04e5eef45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-399ba396ad6cc2ac", "level": "none", "message": {"text": "Commented-code block (6 lines) in agent/transports/clawk_tools_mcp_server.py:146"}, "properties": {"repobilityId": "43d95c15fff32c78", "scanner": "scanner-primary", "fingerprint": "399ba396ad6cc2ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a797ebd2523a09a3", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/transports/chat_completions.py:31"}, "properties": {"repobilityId": "63b5a069baf7f577", "scanner": "scanner-primary", "fingerprint": "a797ebd2523a09a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ee111c72394bf2f", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/secret_sources/bitwarden.py:80"}, "properties": {"repobilityId": "189422efa9776dfc", "scanner": "scanner-primary", "fingerprint": "5ee111c72394bf2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a306d87daa1264ce", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/lsp/client.py:701"}, "properties": {"repobilityId": "bbf6d01b363bd548", "scanner": "scanner-primary", "fingerprint": "a306d87daa1264ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1abfc21d9554fa9d", "level": "none", "message": {"text": "Commented-code block (5 lines) in agent/lsp/range_shift.py:57"}, "properties": {"repobilityId": "0301ba0259988bc9", "scanner": "scanner-primary", "fingerprint": "1abfc21d9554fa9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a97a169efe6887f", "level": "none", "message": {"text": "Commented-code block (7 lines) in tui_gateway/ws.py:104"}, "properties": {"repobilityId": "e00cef8260630c37", "scanner": "scanner-primary", "fingerprint": "5a97a169efe6887f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10f12eddb8845027", "level": "none", "message": {"text": "Commented-code block (5 lines) in tui_gateway/server.py:5229"}, "properties": {"repobilityId": "bd624b61216572a2", "scanner": "scanner-primary", "fingerprint": "10f12eddb8845027", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-661f4d6ccf039f83", "level": "note", "message": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 tui_gateway/server.py:11164"}, "properties": {"repobilityId": "4d1f8332e2c01414", "scanner": "scanner-primary", "fingerprint": "661f4d6ccf039f83", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-a3ac13aab17f557d", "level": "note", "message": {"text": "Stub function `close` (body is just `pass`/`return`) \u2014 tui_gateway/transport.py:286"}, "properties": {"repobilityId": "5f4aa3765ccc63f6", "scanner": "scanner-primary", "fingerprint": "a3ac13aab17f557d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-7b1f25fe80fbc39e", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/vite.config.ts:175"}, "properties": {"repobilityId": "77a115ad6bfa2acb", "scanner": "scanner-primary", "fingerprint": "7b1f25fe80fbc39e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba55e34e95e44725", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/public/pixel-office/assets/browserMock-9mReCTnJ.js:1"}, "properties": {"repobilityId": "f84b8042e1ae493d", "scanner": "scanner-primary", "fingerprint": "ba55e34e95e44725", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-481f13357430d0b0", "level": "note", "message": {"text": "Legacy-named symbol `unstable_legacy` in web/public/pixel-office/assets/index-CvwgKoo0.js:8"}, "properties": {"repobilityId": "1e72d3461b269435", "scanner": "scanner-primary", "fingerprint": "481f13357430d0b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-32be1b9063899ac2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/public/pixel-office/assets/index-CvwgKoo0.js:1"}, "properties": {"repobilityId": "a3c77c30ec408a5f", "scanner": "scanner-primary", "fingerprint": "32be1b9063899ac2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2f37e17c9b492d8b", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/main.tsx:3"}, "properties": {"repobilityId": "a0695a7389bfd4ac", "scanner": "scanner-primary", "fingerprint": "2f37e17c9b492d8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f470d1014d89a31", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/src/visualization/officeProviders.ts:44"}, "properties": {"repobilityId": "dd30d8649c6aae11", "scanner": "scanner-primary", "fingerprint": "9f470d1014d89a31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f65ecf82dbe2bd8e", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/src/visualization/PixelOfficeView.tsx:34"}, "properties": {"repobilityId": "ff09dbc4ddf40ef7", "scanner": "scanner-primary", "fingerprint": "f65ecf82dbe2bd8e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0bcd6a24240f1d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/i18n/context.tsx:13"}, "properties": {"repobilityId": "777d79057e4cea32", "scanner": "scanner-primary", "fingerprint": "a0bcd6a24240f1d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eff6968590f0fa2e", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/components/BackgroundPaths.tsx:3"}, "properties": {"repobilityId": "eee05358c73caf5e", "scanner": "scanner-primary", "fingerprint": "eff6968590f0fa2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0042643bfa66cbd", "level": "none", "message": {"text": "Commented-code block (7 lines) in web/src/components/ModelPickerDialog.tsx:282"}, "properties": {"repobilityId": "5dea5c6fcc560e5c", "scanner": "scanner-primary", "fingerprint": "f0042643bfa66cbd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7af698e0a1fb8f71", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/src/components/ThemeSwitcher.tsx:320"}, "properties": {"repobilityId": "04e7c02e8a75399e", "scanner": "scanner-primary", "fingerprint": "7af698e0a1fb8f71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46dd41600c25b2e6", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/components/ChatSidebar.tsx:162"}, "properties": {"repobilityId": "791788042d4a7a54", "scanner": "scanner-primary", "fingerprint": "46dd41600c25b2e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c3151b74585ba40b", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/lib/api.ts:87"}, "properties": {"repobilityId": "c3b05c1819a98ab3", "scanner": "scanner-primary", "fingerprint": "c3151b74585ba40b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b577736d86af8f34", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/src/lib/api.ts:154"}, "properties": {"repobilityId": "c958736005a5253f", "scanner": "scanner-primary", "fingerprint": "b577736d86af8f34", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5ff2f269f3da0c15", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/src/lib/fuzzy.ts:8"}, "properties": {"repobilityId": "18028e400b3d5507", "scanner": "scanner-primary", "fingerprint": "5ff2f269f3da0c15", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea5ab7002f3d3134", "level": "none", "message": {"text": "Commented-code block (7 lines) in web/src/pages/ChatPage.tsx:85"}, "properties": {"repobilityId": "7dbd79eadc7e8036", "scanner": "scanner-primary", "fingerprint": "ea5ab7002f3d3134", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9bc6f3118ab21b72", "level": "none", "message": {"text": "Commented-code block (9 lines) in web/src/pages/SessionsPage.tsx:150"}, "properties": {"repobilityId": "965ac05cc23df0bb", "scanner": "scanner-primary", "fingerprint": "9bc6f3118ab21b72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d50b509d85e3b18e", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/src/pages/ModelsPage.tsx:98"}, "properties": {"repobilityId": "dfe1b66e838e45be", "scanner": "scanner-primary", "fingerprint": "d50b509d85e3b18e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24c90c53b757094d", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/src/pages/CronPage.tsx:75"}, "properties": {"repobilityId": "de29aac7de3d596c", "scanner": "scanner-primary", "fingerprint": "24c90c53b757094d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca47a5b94ab11887", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/src/pages/ConfigPage.tsx:301"}, "properties": {"repobilityId": "bae7832250513710", "scanner": "scanner-primary", "fingerprint": "ca47a5b94ab11887", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6df1e02917ad1068", "level": "none", "message": {"text": "Commented-code block (6 lines) in optional-skills/security/godmode/scripts/load_godmode.py:9"}, "properties": {"repobilityId": "5333784298e2c6fc", "scanner": "scanner-primary", "fingerprint": "6df1e02917ad1068", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0dd40ce23a3ce02", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 optional-skills/creative/pixel-art/scripts/pixel_art_video.py:470"}, "properties": {"repobilityId": "227308caff456157", "scanner": "scanner-primary", "fingerprint": "a0dd40ce23a3ce02", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9e9c97404cc342db", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 optional-skills/creative/kanban-video-orchestrator/scripts/monitor.py:79"}, "properties": {"repobilityId": "a866b9a898ca2dc4", "scanner": "scanner-primary", "fingerprint": "9e9c97404cc342db", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9ed589ab237b2712", "level": "note", "message": {"text": "Legacy-named symbol `20Legacy` in optional-skills/health/fitness-nutrition/scripts/nutrition_search.py:30"}, "properties": {"repobilityId": "6f1293471a1f52b0", "scanner": "scanner-primary", "fingerprint": "9ed589ab237b2712", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e3918e6304fa385d", "level": "note", "message": {"text": "Legacy-named symbol `rest_v1` in optional-skills/research/osint-investigation/scripts/fetch_wikipedia.py:25"}, "properties": {"repobilityId": "b0a5657891712eb0", "scanner": "scanner-primary", "fingerprint": "e3918e6304fa385d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e827e1ac5d69ff30", "level": "note", "message": {"text": "Legacy-named symbol `maybe_backup` in optional-skills/migration/openclaw-migration/scripts/openclaw_to_clawk.py:1553"}, "properties": {"repobilityId": "420d4d7a99c8bd88", "scanner": "scanner-primary", "fingerprint": "e827e1ac5d69ff30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d2c2368eff2e3247", "level": "none", "message": {"text": "Commented-code block (12 lines) in clawk_cli/codex_models.py:26"}, "properties": {"repobilityId": "adf6decdc6830936", "scanner": "scanner-primary", "fingerprint": "d2c2368eff2e3247", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69e5379e65639bbd", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/plugins.py:80"}, "properties": {"repobilityId": "4f1b168f10da76d3", "scanner": "scanner-primary", "fingerprint": "69e5379e65639bbd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-698ff20e0d4d151d", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/nous_subscription.py:345"}, "properties": {"repobilityId": "bd363bdfcbfa6704", "scanner": "scanner-primary", "fingerprint": "698ff20e0d4d151d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-432cec91d87a27cd", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/gateway_windows.py:371"}, "properties": {"repobilityId": "2cf4856d434de8d3", "scanner": "scanner-primary", "fingerprint": "432cec91d87a27cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d4602af1adefab26", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/gateway_windows.py:671"}, "properties": {"repobilityId": "7e1dea6232cd9c00", "scanner": "scanner-primary", "fingerprint": "d4602af1adefab26", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7bd0854359ddd36c", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in clawk_cli/migrate.py:52"}, "properties": {"repobilityId": "bbd3be0677ecc352", "scanner": "scanner-primary", "fingerprint": "7bd0854359ddd36c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-95cab057a3e8c1d8", "level": "none", "message": {"text": "Commented-code block (9 lines) in clawk_cli/_subprocess_compat.py:101"}, "properties": {"repobilityId": "4dcf28fb7b88eca1", "scanner": "scanner-primary", "fingerprint": "95cab057a3e8c1d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1e46374a864bf28", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/_subprocess_compat.py:7"}, "properties": {"repobilityId": "be4ebe2c92fddab0", "scanner": "scanner-primary", "fingerprint": "e1e46374a864bf28", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-601ebe05ec49197e", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/model_normalize.py:109"}, "properties": {"repobilityId": "652c6cbdc7b9c34b", "scanner": "scanner-primary", "fingerprint": "601ebe05ec49197e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8715c63a49eadbb", "level": "note", "message": {"text": "Legacy-named symbol `run_backup` in clawk_cli/backup.py:154"}, "properties": {"repobilityId": "2dde8be465ae8f23", "scanner": "scanner-primary", "fingerprint": "a8715c63a49eadbb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1b056166a1fc5c03", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/backup.py:51"}, "properties": {"repobilityId": "86d50baa617ab8e8", "scanner": "scanner-primary", "fingerprint": "1b056166a1fc5c03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4277db8fdf31b7a", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/service_manager.py:338"}, "properties": {"repobilityId": "ee545bb9b37ee553", "scanner": "scanner-primary", "fingerprint": "f4277db8fdf31b7a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca20700eddbf6706", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/mcp_catalog.py:648"}, "properties": {"repobilityId": "ba3905f81faefdf0", "scanner": "scanner-primary", "fingerprint": "ca20700eddbf6706", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d2e46379248cc6d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/mcp_catalog.py:400"}, "properties": {"repobilityId": "ab558f504679f67e", "scanner": "scanner-primary", "fingerprint": "6d2e46379248cc6d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f1ba3e2c9035f47e", "level": "none", "message": {"text": "Commented-code block (7 lines) in clawk_cli/tools_config.py:522"}, "properties": {"repobilityId": "16c3b0e56aa1731c", "scanner": "scanner-primary", "fingerprint": "f1ba3e2c9035f47e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e01cfd481b5b20c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/tools_config.py:1394"}, "properties": {"repobilityId": "83fdc203c4a02e29", "scanner": "scanner-primary", "fingerprint": "3e01cfd481b5b20c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0cb10c923a01d87e", "level": "note", "message": {"text": "Legacy-named symbol `kanban_swarm_v1` in clawk_cli/kanban_swarm.py:151"}, "properties": {"repobilityId": "078aa1b77b9ad6f6", "scanner": "scanner-primary", "fingerprint": "0cb10c923a01d87e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d029bd314512f7e4", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/inventory.py:254"}, "properties": {"repobilityId": "b85fc75d862fb401", "scanner": "scanner-primary", "fingerprint": "d029bd314512f7e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-853098ec9d76b66e", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/uninstall.py:907"}, "properties": {"repobilityId": "84ff1652dd46da26", "scanner": "scanner-primary", "fingerprint": "853098ec9d76b66e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36e3eb7e5f2cf6a0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/uninstall.py:345"}, "properties": {"repobilityId": "e7ed09d80b6c07b5", "scanner": "scanner-primary", "fingerprint": "36e3eb7e5f2cf6a0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-77e2f9b1ca766403", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/cron.py:19"}, "properties": {"repobilityId": "1b816fbb65db6b6b", "scanner": "scanner-primary", "fingerprint": "77e2f9b1ca766403", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e03feaa85937a48", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in clawk_cli/config.py:2074"}, "properties": {"repobilityId": "5ae7a296d7055b89", "scanner": "scanner-primary", "fingerprint": "4e03feaa85937a48", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ebf0bb01fdc7a0fe", "level": "none", "message": {"text": "Commented-code block (8 lines) in clawk_cli/config.py:1361"}, "properties": {"repobilityId": "52cd0a95c44042d8", "scanner": "scanner-primary", "fingerprint": "ebf0bb01fdc7a0fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9dc9697cb5fe1e1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/config.py:254"}, "properties": {"repobilityId": "4ceb067adddcb15b", "scanner": "scanner-primary", "fingerprint": "f9dc9697cb5fe1e1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ffb10a944dda1d22", "level": "note", "message": {"text": "Legacy-named symbol `_restore_backup` in clawk_cli/managed_uv.py:246"}, "properties": {"repobilityId": "284f6be981d074d9", "scanner": "scanner-primary", "fingerprint": "ffb10a944dda1d22", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-72a8ed8275c85319", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/managed_uv.py:147"}, "properties": {"repobilityId": "c64007a9d6044d22", "scanner": "scanner-primary", "fingerprint": "72a8ed8275c85319", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9216c3ecf6c3e9fc", "level": "none", "message": {"text": "Commented-code block (9 lines) in clawk_cli/skills_hub.py:338"}, "properties": {"repobilityId": "a203e89e5b58a376", "scanner": "scanner-primary", "fingerprint": "9216c3ecf6c3e9fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e11af59499a388a", "level": "note", "message": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 clawk_cli/skills_hub.py:851"}, "properties": {"repobilityId": "59849097dfe73cfb", "scanner": "scanner-primary", "fingerprint": "3e11af59499a388a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-3b6cec88bc88e97d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/relaunch.py:145"}, "properties": {"repobilityId": "deea0f8fef0fc8b9", "scanner": "scanner-primary", "fingerprint": "3b6cec88bc88e97d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c412fd3abe812ea2", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/pty_bridge.py:53"}, "properties": {"repobilityId": "1ebcf87f6fc7ab49", "scanner": "scanner-primary", "fingerprint": "c412fd3abe812ea2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d2beff58aa5d9e92", "level": "note", "message": {"text": "Legacy-named symbol `_cmd_backup` in clawk_cli/curator.py:540"}, "properties": {"repobilityId": "42a55fc0b6319fd2", "scanner": "scanner-primary", "fingerprint": "d2beff58aa5d9e92", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a11e89db47297f06", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/model_switch.py:2826"}, "properties": {"repobilityId": "7b6b75a4a20304eb", "scanner": "scanner-primary", "fingerprint": "a11e89db47297f06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5605e9e5ee06f329", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/gateway.py:490"}, "properties": {"repobilityId": "d58b7503ebb19e23", "scanner": "scanner-primary", "fingerprint": "5605e9e5ee06f329", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5d6dd88199eff51", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/gui_uninstall.py:139"}, "properties": {"repobilityId": "da5983590efc40b9", "scanner": "scanner-primary", "fingerprint": "d5d6dd88199eff51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb172d429f44d07a", "level": "note", "message": {"text": "Legacy-named symbol `_strip_trailing_v1` in clawk_cli/azure_detect.py:179"}, "properties": {"repobilityId": "53db31d1d2c27c38", "scanner": "scanner-primary", "fingerprint": "fb172d429f44d07a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0c665fbd4837df38", "level": "none", "message": {"text": "Commented-code block (7 lines) in clawk_cli/cookbook.py:782"}, "properties": {"repobilityId": "0223792c1e165eb0", "scanner": "scanner-primary", "fingerprint": "0c665fbd4837df38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7acb058a200f0f82", "level": "none", "message": {"text": "Commented-code block (7 lines) in clawk_cli/plugins_cmd.py:1283"}, "properties": {"repobilityId": "39c7da723be9742b", "scanner": "scanner-primary", "fingerprint": "7acb058a200f0f82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8520eb0a4e88d920", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/runtime_provider.py:401"}, "properties": {"repobilityId": "35794517589ecaf4", "scanner": "scanner-primary", "fingerprint": "8520eb0a4e88d920", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c15f358cfbae6cff", "level": "note", "message": {"text": "Legacy-named symbol `scribe_v2` in clawk_cli/web_server.py:603"}, "properties": {"repobilityId": "d46cd02fd2871c55", "scanner": "scanner-primary", "fingerprint": "c15f358cfbae6cff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-525b94487cf11691", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/web_server.py:4597"}, "properties": {"repobilityId": "a8fc5e58a688ba8e", "scanner": "scanner-primary", "fingerprint": "525b94487cf11691", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e23c99bb238dfe73", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/web_server.py:1717"}, "properties": {"repobilityId": "d109a00908bb5e34", "scanner": "scanner-primary", "fingerprint": "e23c99bb238dfe73", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d997d06cf1ecf8a1", "level": "error", "message": {"text": "Blocking `urllib.request.urlopen(...)` inside `async def get_elevenlabs_voices` \u2014 clawk_cli/web_server.py:2042"}, "properties": {"repobilityId": "1e26f4fbdf04be1f", "scanner": "scanner-primary", "fingerprint": "d997d06cf1ecf8a1", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_cli/web_server.py"}, "region": {"startLine": 2042}}}]}, {"ruleId": "scanner-1554750e39627756", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in clawk_cli/claw.py:495"}, "properties": {"repobilityId": "af1c18e553d6ab56", "scanner": "scanner-primary", "fingerprint": "1554750e39627756", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e58868dcd6d73362", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/setup.py:1072"}, "properties": {"repobilityId": "d1d60a00164bee8c", "scanner": "scanner-primary", "fingerprint": "e58868dcd6d73362", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-74f9a4b6b73fd3fd", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/setup.py:1205"}, "properties": {"repobilityId": "2d3f781bf0a47fc5", "scanner": "scanner-primary", "fingerprint": "74f9a4b6b73fd3fd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bb694ba50eee4d06", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/models.py:309"}, "properties": {"repobilityId": "1d93a6a010150819", "scanner": "scanner-primary", "fingerprint": "bb694ba50eee4d06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5df6546899ced752", "level": "note", "message": {"text": "Legacy-named symbol `_add_v1` in clawk_cli/model_setup_flows.py:766"}, "properties": {"repobilityId": "ce6b3acdf218a6cd", "scanner": "scanner-primary", "fingerprint": "5df6546899ced752", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6d7a4993a90c1f66", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/model_setup_flows.py:78"}, "properties": {"repobilityId": "944c5c06b97e4d20", "scanner": "scanner-primary", "fingerprint": "6d7a4993a90c1f66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7f968d3c96a3040", "level": "note", "message": {"text": "Legacy-named symbol `_safe_copy` in clawk_cli/middleware.py:58"}, "properties": {"repobilityId": "5abb3be84cf87a45", "scanner": "scanner-primary", "fingerprint": "f7f968d3c96a3040", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9be62e7e104f22fd", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/profiles.py:84"}, "properties": {"repobilityId": "f1a7e1332a362054", "scanner": "scanner-primary", "fingerprint": "9be62e7e104f22fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a434f0b9e6e8f5e7", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/cli_agent_setup_mixin.py:85"}, "properties": {"repobilityId": "35dd3882755295d4", "scanner": "scanner-primary", "fingerprint": "a434f0b9e6e8f5e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f25ca00d93ca32e8", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/dashboard_register.py:265"}, "properties": {"repobilityId": "8b48add336a3558e", "scanner": "scanner-primary", "fingerprint": "f25ca00d93ca32e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17f57995269f3492", "level": "note", "message": {"text": "Legacy-named symbol `_add_v1` in clawk_cli/main.py:5966"}, "properties": {"repobilityId": "a8f3e0ca0f455498", "scanner": "scanner-primary", "fingerprint": "17f57995269f3492", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d2a1d97f55ffd3f9", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/main.py:10648"}, "properties": {"repobilityId": "8a108b03d953906b", "scanner": "scanner-primary", "fingerprint": "d2a1d97f55ffd3f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffa28d28efa0d9ae", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/main.py:2175"}, "properties": {"repobilityId": "520e48fd293fc25a", "scanner": "scanner-primary", "fingerprint": "ffa28d28efa0d9ae", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-88d3a94ca0b4346f", "level": "none", "message": {"text": "Commented-code block (11 lines) in clawk_cli/oneshot.py:524"}, "properties": {"repobilityId": "90835c3a8096cd49", "scanner": "scanner-primary", "fingerprint": "88d3a94ca0b4346f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0576e4ff7e397bb", "level": "none", "message": {"text": "Commented-code block (8 lines) in clawk_cli/providers.py:679"}, "properties": {"repobilityId": "b48b600177949b46", "scanner": "scanner-primary", "fingerprint": "d0576e4ff7e397bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b82b09803f296e45", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/cli_commands_mixin.py:607"}, "properties": {"repobilityId": "1031d7e8c1273554", "scanner": "scanner-primary", "fingerprint": "b82b09803f296e45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6066cfe6ccf47e4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 clawk_cli/dep_ensure.py:227"}, "properties": {"repobilityId": "f41d0326a2958afe", "scanner": "scanner-primary", "fingerprint": "e6066cfe6ccf47e4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9129697460c2dfb9", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/auth_commands.py:180"}, "properties": {"repobilityId": "6deb27f51fea9cf6", "scanner": "scanner-primary", "fingerprint": "9129697460c2dfb9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84c67decb54d3901", "level": "note", "message": {"text": "Legacy-named symbol `sidecar_backup` in clawk_cli/kanban_db.py:1370"}, "properties": {"repobilityId": "bc63b4c3cb73027f", "scanner": "scanner-primary", "fingerprint": "84c67decb54d3901", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cf892998c0d3d2ab", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/kanban_db.py:116"}, "properties": {"repobilityId": "263192169dcfec80", "scanner": "scanner-primary", "fingerprint": "cf892998c0d3d2ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c01e0cf6d90c41c", "level": "note", "message": {"text": "Legacy-named symbol `cmd_clear_legacy` in clawk_cli/checkpoints.py:266"}, "properties": {"repobilityId": "9d339737a1f88776", "scanner": "scanner-primary", "fingerprint": "2c01e0cf6d90c41c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a155d9fe9a0a3002", "level": "note", "message": {"text": "Legacy-named symbol `cmd_backup` in clawk_cli/subcommands/backup.py:12"}, "properties": {"repobilityId": "879756c727c63ffe", "scanner": "scanner-primary", "fingerprint": "a155d9fe9a0a3002", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3e445c0805114dcd", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/subcommands/mcp.py:46"}, "properties": {"repobilityId": "dbe4e8802dd9bb09", "scanner": "scanner-primary", "fingerprint": "3e445c0805114dcd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f6a3a696321c4f8", "level": "none", "message": {"text": "Commented-code block (6 lines) in clawk_cli/subcommands/dashboard.py:68"}, "properties": {"repobilityId": "e9c19af1bd89f3e3", "scanner": "scanner-primary", "fingerprint": "1f6a3a696321c4f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c30df906d0f7bd45", "level": "note", "message": {"text": "Legacy-named symbol `gateway_migrate_legacy` in clawk_cli/subcommands/gateway.py:215"}, "properties": {"repobilityId": "3edd7a55164bd9ae", "scanner": "scanner-primary", "fingerprint": "c30df906d0f7bd45", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cfe2dae81d5cc105", "level": "note", "message": {"text": "Legacy-named symbol `pre_update_backup` in clawk_cli/subcommands/update.py:38"}, "properties": {"repobilityId": "a0f2aa7539cf5984", "scanner": "scanner-primary", "fingerprint": "cfe2dae81d5cc105", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cdf2792bca286186", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/dashboard_auth/prefix.py:35"}, "properties": {"repobilityId": "a55b704c325a0ef6", "scanner": "scanner-primary", "fingerprint": "cdf2792bca286186", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6bb623006093d36", "level": "none", "message": {"text": "Commented-code block (7 lines) in clawk_cli/dashboard_auth/cookies.py:76"}, "properties": {"repobilityId": "753de5ad5287e74e", "scanner": "scanner-primary", "fingerprint": "b6bb623006093d36", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc2a5c48a9eebaa6", "level": "none", "message": {"text": "Commented-code block (5 lines) in clawk_cli/dashboard_auth/public_paths.py:35"}, "properties": {"repobilityId": "35ca7defff99c31d", "scanner": "scanner-primary", "fingerprint": "bc2a5c48a9eebaa6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffd1cf55884cd925", "level": "none", "message": {"text": "Commented-code block (5 lines) in cron/scheduler.py:3390"}, "properties": {"repobilityId": "036a2bd50f7a86be", "scanner": "scanner-primary", "fingerprint": "ffd1cf55884cd925", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7832574bc3dcc3a", "level": "note", "message": {"text": "Legacy-named symbol `drift_backup` in tools/memory_tool.py:104"}, "properties": {"repobilityId": "9a6ba7eba86b4b13", "scanner": "scanner-primary", "fingerprint": "e7832574bc3dcc3a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9d44043d84490c32", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/schema_sanitizer.py:87"}, "properties": {"repobilityId": "2fc21930370b7bd8", "scanner": "scanner-primary", "fingerprint": "9d44043d84490c32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65fa5a62ad6d860a", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/mcp_tool.py:104"}, "properties": {"repobilityId": "80b75242650764e5", "scanner": "scanner-primary", "fingerprint": "65fa5a62ad6d860a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-57f6a25bd865cdb1", "level": "note", "message": {"text": "Legacy-named symbol `scribe_v2` in tools/transcription_tools.py:92"}, "properties": {"repobilityId": "c18a76559fe05c78", "scanner": "scanner-primary", "fingerprint": "57f6a25bd865cdb1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0fca0ab930836077", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/transcription_tools.py:231"}, "properties": {"repobilityId": "650e598318cd1d1c", "scanner": "scanner-primary", "fingerprint": "0fca0ab930836077", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b82899f5a8e54fa1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/transcription_tools.py:1479"}, "properties": {"repobilityId": "0c68b822a43e08c1", "scanner": "scanner-primary", "fingerprint": "b82899f5a8e54fa1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3ec6a7220d5a95ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/web_tools.py:821"}, "properties": {"repobilityId": "bfc81468becfd244", "scanner": "scanner-primary", "fingerprint": "3ec6a7220d5a95ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-899e51a64ef60d11", "level": "note", "message": {"text": "Legacy-named symbol `_move_to_restore_backup` in tools/skills_sync.py:276"}, "properties": {"repobilityId": "a34253680a6e705b", "scanner": "scanner-primary", "fingerprint": "899e51a64ef60d11", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-669d1e6c1e65a5c7", "level": "none", "message": {"text": "Commented-code block (7 lines) in tools/skills_sync.py:43"}, "properties": {"repobilityId": "b58308fdc3803346", "scanner": "scanner-primary", "fingerprint": "669d1e6c1e65a5c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f9c7b0ee9cb2319", "level": "note", "message": {"text": "Legacy-named symbol `clear_legacy` in tools/checkpoint_manager.py:1797"}, "properties": {"repobilityId": "2b034f0c6bffad5a", "scanner": "scanner-primary", "fingerprint": "3f9c7b0ee9cb2319", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-508da9198b67319d", "level": "none", "message": {"text": "Commented-code block (8 lines) in tools/file_tools.py:98"}, "properties": {"repobilityId": "b23e1d72f80bf5b7", "scanner": "scanner-primary", "fingerprint": "508da9198b67319d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6bfc58a41c85f622", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/patch_parser.py:435"}, "properties": {"repobilityId": "19f467e6c34638de", "scanner": "scanner-primary", "fingerprint": "6bfc58a41c85f622", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d60803ee2d6ef5b", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/send_message_tool.py:25"}, "properties": {"repobilityId": "d80f312cfe7eff36", "scanner": "scanner-primary", "fingerprint": "4d60803ee2d6ef5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9ca3642c2421302", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/delegate_tool.py:2552"}, "properties": {"repobilityId": "d69587b61981caf7", "scanner": "scanner-primary", "fingerprint": "d9ca3642c2421302", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be7978f162276d98", "level": "none", "message": {"text": "Commented-code block (10 lines) in tools/fuzzy_match.py:107"}, "properties": {"repobilityId": "03260e8933ff3509", "scanner": "scanner-primary", "fingerprint": "be7978f162276d98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ad8bb911b3917de", "level": "note", "message": {"text": "Legacy-named symbol `snapshot_copy` in tools/browser_supervisor.py:699"}, "properties": {"repobilityId": "7c47817a0e7f92de", "scanner": "scanner-primary", "fingerprint": "8ad8bb911b3917de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3f14a1eacb0736ef", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/skills_guard.py:232"}, "properties": {"repobilityId": "04b13f96ecf46fd7", "scanner": "scanner-primary", "fingerprint": "3f14a1eacb0736ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-285a5ecb498732d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/browser_tool.py:87"}, "properties": {"repobilityId": "92c85b8ce518e3b8", "scanner": "scanner-primary", "fingerprint": "285a5ecb498732d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d725c18e88905087", "level": "none", "message": {"text": "Commented-code block (8 lines) in tools/skill_usage.py:58"}, "properties": {"repobilityId": "52854d252111d511", "scanner": "scanner-primary", "fingerprint": "d725c18e88905087", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f7d42809beb534b", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/skill_manager_tool.py:965"}, "properties": {"repobilityId": "f7d9050983813cdf", "scanner": "scanner-primary", "fingerprint": "3f7d42809beb534b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55ae91e2460713a5", "level": "note", "message": {"text": "Legacy-named symbol `skills_sh_sitemap_v1` in tools/skills_hub.py:1552"}, "properties": {"repobilityId": "d0f6ffc9fcc58571", "scanner": "scanner-primary", "fingerprint": "55ae91e2460713a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a23c4a8685c74bc8", "level": "none", "message": {"text": "Commented-code block (7 lines) in tools/skills_hub.py:424"}, "properties": {"repobilityId": "deca764c4b077d74", "scanner": "scanner-primary", "fingerprint": "a23c4a8685c74bc8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e58ec9fcb33d74d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/code_execution_tool.py:82"}, "properties": {"repobilityId": "22b0d472ed5c436b", "scanner": "scanner-primary", "fingerprint": "7e58ec9fcb33d74d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ded2984e0ecf326c", "level": "none", "message": {"text": "Commented-code block (7 lines) in tools/homeassistant_tool.py:44"}, "properties": {"repobilityId": "884c0bc576b85edc", "scanner": "scanner-primary", "fingerprint": "ded2984e0ecf326c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b40612d6a0799058", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in tools/tts_tool.py:171"}, "properties": {"repobilityId": "50b378c3d84e6748", "scanner": "scanner-primary", "fingerprint": "b40612d6a0799058", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8a97841aa93da814", "level": "none", "message": {"text": "Commented-code block (7 lines) in tools/tts_tool.py:354"}, "properties": {"repobilityId": "05b107ef1e60349d", "scanner": "scanner-primary", "fingerprint": "8a97841aa93da814", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b830d12b9c9d0ec", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/skills_tool.py:347"}, "properties": {"repobilityId": "6fd3b70c19d31524", "scanner": "scanner-primary", "fingerprint": "9b830d12b9c9d0ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3bbe68c823cfcc6", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/lazy_deps.py:185"}, "properties": {"repobilityId": "f2c3406c41d00077", "scanner": "scanner-primary", "fingerprint": "e3bbe68c823cfcc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfb6bf734a3066ed", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/threat_patterns.py:142"}, "properties": {"repobilityId": "bc08a56405e3d31d", "scanner": "scanner-primary", "fingerprint": "dfb6bf734a3066ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-930d0fb968985d9f", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/image_generation_tool.py:36"}, "properties": {"repobilityId": "a5e5331d5609180c", "scanner": "scanner-primary", "fingerprint": "930d0fb968985d9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-656fda60d6a42e48", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/file_operations.py:2249"}, "properties": {"repobilityId": "34b4af1a8c6cab9b", "scanner": "scanner-primary", "fingerprint": "656fda60d6a42e48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9211d9038532d28", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/osv_check.py:85"}, "properties": {"repobilityId": "ac368435e52218b3", "scanner": "scanner-primary", "fingerprint": "f9211d9038532d28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26977da0e8777576", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/process_registry.py:62"}, "properties": {"repobilityId": "45460ce6e6700094", "scanner": "scanner-primary", "fingerprint": "26977da0e8777576", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17f3f5d3fefd7469", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/video_generation_tool.py:109"}, "properties": {"repobilityId": "619dc8cd325148a1", "scanner": "scanner-primary", "fingerprint": "17f3f5d3fefd7469", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-97300317957c660c", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/approval.py:643"}, "properties": {"repobilityId": "ca1112894c2de6fb", "scanner": "scanner-primary", "fingerprint": "97300317957c660c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-168618614bf3207f", "level": "none", "message": {"text": "Commented-code block (7 lines) in tools/todo_tool.py:24"}, "properties": {"repobilityId": "0084f80970b4b11c", "scanner": "scanner-primary", "fingerprint": "168618614bf3207f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cde35ff92f4f0da7", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/terminal_tool.py:1778"}, "properties": {"repobilityId": "971b772902aef378", "scanner": "scanner-primary", "fingerprint": "cde35ff92f4f0da7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72e4be9afa6ffd39", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/write_approval.py:62"}, "properties": {"repobilityId": "af31f2b12b98bd56", "scanner": "scanner-primary", "fingerprint": "72e4be9afa6ffd39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e60d24bae8bf5b59", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/computer_use/cua_backend.py:460"}, "properties": {"repobilityId": "12f17afa628f308c", "scanner": "scanner-primary", "fingerprint": "e60d24bae8bf5b59", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-807423a41d744a5e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tools/computer_use/tool.py:541"}, "properties": {"repobilityId": "72f8918812dbe74a", "scanner": "scanner-primary", "fingerprint": "807423a41d744a5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1709ad7b008d2198", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/upstream/sync.py:124"}, "properties": {"repobilityId": "4609145eae032e96", "scanner": "scanner-primary", "fingerprint": "1709ad7b008d2198", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63632794895108a7", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/upstream/sync.py:141"}, "properties": {"repobilityId": "5121113563f132a6", "scanner": "scanner-primary", "fingerprint": "63632794895108a7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-216ece2b6aef1cf5", "level": "none", "message": {"text": "Commented-code block (6 lines) in tools/environments/local.py:78"}, "properties": {"repobilityId": "5792a9c1ce52c48f", "scanner": "scanner-primary", "fingerprint": "216ece2b6aef1cf5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b9a0e30a917131f", "level": "none", "message": {"text": "Commented-code block (11 lines) in ui-tui/packages/clawk-ink/src/utils/env.ts:43"}, "properties": {"repobilityId": "2b7aaa41fbbf0d4e", "scanner": "scanner-primary", "fingerprint": "4b9a0e30a917131f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0282353e07aab1d2", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/utils/sliceAnsi.ts:14"}, "properties": {"repobilityId": "3e600346debc8ee6", "scanner": "scanner-primary", "fingerprint": "0282353e07aab1d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7831ccbd1f7ee09", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/log-update.test.ts:111"}, "properties": {"repobilityId": "6b2867c9440786c7", "scanner": "scanner-primary", "fingerprint": "f7831ccbd1f7ee09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b85ae7bd9c8f091c", "level": "none", "message": {"text": "Commented-code block (8 lines) in ui-tui/packages/clawk-ink/src/ink/log-update.ts:155"}, "properties": {"repobilityId": "0a7d169c0c89ef02", "scanner": "scanner-primary", "fingerprint": "b85ae7bd9c8f091c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31ff38ffbf3b9a72", "level": "none", "message": {"text": "Commented-code block (12 lines) in ui-tui/packages/clawk-ink/src/ink/searchHighlight.ts:36"}, "properties": {"repobilityId": "a55f095766dc1484", "scanner": "scanner-primary", "fingerprint": "31ff38ffbf3b9a72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05bac4e9c2f4124f", "level": "none", "message": {"text": "Commented-code block (8 lines) in ui-tui/packages/clawk-ink/src/ink/ink-cursor-advance.test.ts:48"}, "properties": {"repobilityId": "b9ad59fe5e3a3469", "scanner": "scanner-primary", "fingerprint": "05bac4e9c2f4124f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cdae6f7e890e4a02", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/selection.ts:101"}, "properties": {"repobilityId": "5fafebbca93e86f8", "scanner": "scanner-primary", "fingerprint": "cdae6f7e890e4a02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26182767c02b9d8b", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/output.ts:290"}, "properties": {"repobilityId": "43e7488fb292d0af", "scanner": "scanner-primary", "fingerprint": "26182767c02b9d8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ab4de0f0618cfb6", "level": "none", "message": {"text": "Commented-code block (11 lines) in ui-tui/packages/clawk-ink/src/ink/renderer.ts:77"}, "properties": {"repobilityId": "085315e4ab0bcd7a", "scanner": "scanner-primary", "fingerprint": "1ab4de0f0618cfb6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5fcdcc6b830bd03", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/cache-eviction.ts:1"}, "properties": {"repobilityId": "07822943eefd4081", "scanner": "scanner-primary", "fingerprint": "d5fcdcc6b830bd03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f760fe0daec60001", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/terminal.ts:140"}, "properties": {"repobilityId": "17bf2771239c4bfc", "scanner": "scanner-primary", "fingerprint": "f760fe0daec60001", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ac9993c7193c2bdc", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/optimizer.ts:66"}, "properties": {"repobilityId": "b5d11c85dcb72de7", "scanner": "scanner-primary", "fingerprint": "ac9993c7193c2bdc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3812a099653c54fb", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/ink.tsx:199"}, "properties": {"repobilityId": "506269a2b5f60e62", "scanner": "scanner-primary", "fingerprint": "3812a099653c54fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-329a4a5c300e0758", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/screen.ts:103"}, "properties": {"repobilityId": "c88822763e3264be", "scanner": "scanner-primary", "fingerprint": "329a4a5c300e0758", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ff9c25d32c974c1", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/dom.ts:62"}, "properties": {"repobilityId": "9f863d6865f4d48c", "scanner": "scanner-primary", "fingerprint": "8ff9c25d32c974c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-777a2d39075cb93e", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/parse-keypress.ts:25"}, "properties": {"repobilityId": "96fe2189a49dac3b", "scanner": "scanner-primary", "fingerprint": "777a2d39075cb93e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4af25da9334c9f6f", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/terminal-focus-state.ts:1"}, "properties": {"repobilityId": "d56e50af7bb6e29c", "scanner": "scanner-primary", "fingerprint": "4af25da9334c9f6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53a7b68e0c50da95", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/render-to-screen.ts:150"}, "properties": {"repobilityId": "8896538adb1b907b", "scanner": "scanner-primary", "fingerprint": "53a7b68e0c50da95", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43f57d0bb2769344", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/stringWidth.ts:263"}, "properties": {"repobilityId": "ac1aa7147771e14b", "scanner": "scanner-primary", "fingerprint": "43f57d0bb2769344", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7eed036a82817531", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/wrap-text.ts:10"}, "properties": {"repobilityId": "1439e9c75f64f840", "scanner": "scanner-primary", "fingerprint": "7eed036a82817531", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ce06f52e9d24d99", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui-tui/packages/clawk-ink/src/ink/render-node-to-output.ts:25"}, "properties": {"repobilityId": "e997543525274112", "scanner": "scanner-primary", "fingerprint": "1ce06f52e9d24d99", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-954c7825f50d6086", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/events/input-event.ts:77"}, "properties": {"repobilityId": "e6d0716178769301", "scanner": "scanner-primary", "fingerprint": "954c7825f50d6086", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87fea8ac9888bfd3", "level": "none", "message": {"text": "Commented-code block (8 lines) in ui-tui/packages/clawk-ink/src/ink/components/ScrollBox.tsx:88"}, "properties": {"repobilityId": "976f276d4233a759", "scanner": "scanner-primary", "fingerprint": "87fea8ac9888bfd3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2202f4846f705c4f", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/components/Link.tsx:8"}, "properties": {"repobilityId": "fdd7efbef0d1acf0", "scanner": "scanner-primary", "fingerprint": "2202f4846f705c4f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a1650415656cf81", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/components/AlternateScreen.tsx:70"}, "properties": {"repobilityId": "fa8885f1a0cf5241", "scanner": "scanner-primary", "fingerprint": "2a1650415656cf81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b88c8a5ac43ebb87", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/components/App.tsx:47"}, "properties": {"repobilityId": "aeb3a852b05681c6", "scanner": "scanner-primary", "fingerprint": "b88c8a5ac43ebb87", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4a304aae5adcb102", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/packages/clawk-ink/src/ink/hooks/use-input.ts:47"}, "properties": {"repobilityId": "cb62b9beb13c9ffc", "scanner": "scanner-primary", "fingerprint": "4a304aae5adcb102", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7d8c98cee0ca6b4", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/hooks/use-terminal-viewport.ts:54"}, "properties": {"repobilityId": "bb1d67bf7bc43994", "scanner": "scanner-primary", "fingerprint": "e7d8c98cee0ca6b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8c2f3de9134b5c6", "level": "none", "message": {"text": "Commented-code block (13 lines) in ui-tui/packages/clawk-ink/src/ink/hooks/use-declared-cursor.ts:42"}, "properties": {"repobilityId": "3f55738cddd6b714", "scanner": "scanner-primary", "fingerprint": "f8c2f3de9134b5c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b734a3b5a43eae7", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/packages/clawk-ink/src/ink/termio/tokenize.ts:220"}, "properties": {"repobilityId": "e1d9d5b04300a57a", "scanner": "scanner-primary", "fingerprint": "7b734a3b5a43eae7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa951115844dd94b", "level": "none", "message": {"text": "Commented-code block (9 lines) in ui-tui/packages/clawk-ink/src/ink/termio/dec.ts:52"}, "properties": {"repobilityId": "0579b6c856034a4d", "scanner": "scanner-primary", "fingerprint": "aa951115844dd94b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d66c303d97452671", "level": "none", "message": {"text": "Commented-code block (12 lines) in ui-tui/src/entry.tsx:26"}, "properties": {"repobilityId": "0fa0502cabe34799", "scanner": "scanner-primary", "fingerprint": "d66c303d97452671", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93c279ceb42b1da7", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui-tui/src/gatewayClient.ts:194"}, "properties": {"repobilityId": "0fd417a14eec45a1", "scanner": "scanner-primary", "fingerprint": "93c279ceb42b1da7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a24d07cd93031af9", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/types.ts:133"}, "properties": {"repobilityId": "17b4ccb214ac117c", "scanner": "scanner-primary", "fingerprint": "a24d07cd93031af9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d1c052c5b5a2e32", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui-tui/src/__tests__/terminalModes.test.ts:40"}, "properties": {"repobilityId": "d23fe7d6ec89e885", "scanner": "scanner-primary", "fingerprint": "4d1c052c5b5a2e32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-257bdc3acfe343bb", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/src/__tests__/appChromeStatusRuleDevCredits.test.tsx:7"}, "properties": {"repobilityId": "71c03a64656bc041", "scanner": "scanner-primary", "fingerprint": "257bdc3acfe343bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8eef0223d1e42167", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/mathUnicode.test.ts:79"}, "properties": {"repobilityId": "8cc0330a9a22c990", "scanner": "scanner-primary", "fingerprint": "8eef0223d1e42167", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16a4193e38a8ec9f", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/useConfigSync.test.ts:239"}, "properties": {"repobilityId": "9859d993f17b886c", "scanner": "scanner-primary", "fingerprint": "16a4193e38a8ec9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a015d21c99c6207", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/createSlashHandler.test.ts:301"}, "properties": {"repobilityId": "c17a55b5ffb71b74", "scanner": "scanner-primary", "fingerprint": "3a015d21c99c6207", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9b37aeefc6528c1", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/virtualHeights.test.ts:91"}, "properties": {"repobilityId": "ba80871a0dbc210c", "scanner": "scanner-primary", "fingerprint": "d9b37aeefc6528c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-734b0d8da3cbea05", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/src/__tests__/reasoning.test.ts:32"}, "properties": {"repobilityId": "73d442bf555d2987", "scanner": "scanner-primary", "fingerprint": "734b0d8da3cbea05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9880c3f82e199646", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/src/__tests__/gatewayClient.test.ts:347"}, "properties": {"repobilityId": "c06bbc988126b60b", "scanner": "scanner-primary", "fingerprint": "9880c3f82e199646", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18dd9f0ae7446c54", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/__tests__/createGatewayEventHandler.test.ts:1413"}, "properties": {"repobilityId": "554625ced84f61f9", "scanner": "scanner-primary", "fingerprint": "18dd9f0ae7446c54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3d4427ebcb4a334", "level": "none", "message": {"text": "Commented-code block (8 lines) in ui-tui/src/__tests__/textInputCursorSourceOfTruth.test.ts:12"}, "properties": {"repobilityId": "05208b715660fce9", "scanner": "scanner-primary", "fingerprint": "a3d4427ebcb4a334", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a455dfc2f7e8f900", "level": "none", "message": {"text": "Commented-code block (10 lines) in ui-tui/src/config/limits.ts:6"}, "properties": {"repobilityId": "24569db34662e6d4", "scanner": "scanner-primary", "fingerprint": "a455dfc2f7e8f900", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2e3884fba99faea", "level": "note", "message": {"text": "Legacy-named symbol `mouseTrackingDisabledLegacy` in ui-tui/src/config/env.ts:45"}, "properties": {"repobilityId": "e9d8543b17394b73", "scanner": "scanner-primary", "fingerprint": "b2e3884fba99faea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a8a329eb0ff32d8b", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui-tui/src/config/env.ts:37"}, "properties": {"repobilityId": "b92d6ac23c40089c", "scanner": "scanner-primary", "fingerprint": "a8a329eb0ff32d8b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81a9ae479bc08d0c", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/components/appChrome.tsx:105"}, "properties": {"repobilityId": "e1a02b3ba9fd8225", "scanner": "scanner-primary", "fingerprint": "81a9ae479bc08d0c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e0979b72a707351", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/components/streamingAssistant.tsx:44"}, "properties": {"repobilityId": "8b0a058d596730af", "scanner": "scanner-primary", "fingerprint": "0e0979b72a707351", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24d740ba6d91fa50", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/app/turnController.ts:138"}, "properties": {"repobilityId": "9ba5068247f5e76d", "scanner": "scanner-primary", "fingerprint": "24d740ba6d91fa50", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dca8c1424de9aaa5", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/src/app/gatewayRecovery.ts:1"}, "properties": {"repobilityId": "564be02eca7a456f", "scanner": "scanner-primary", "fingerprint": "dca8c1424de9aaa5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7b816d6d54daa79", "level": "none", "message": {"text": "Commented-code block (8 lines) in ui-tui/src/app/useInputHandlers.ts:220"}, "properties": {"repobilityId": "7ad9610bf4387194", "scanner": "scanner-primary", "fingerprint": "b7b816d6d54daa79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63a1dec5c10e995d", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui-tui/src/app/delegationStore.ts:33"}, "properties": {"repobilityId": "3fb93a5b4e732f7e", "scanner": "scanner-primary", "fingerprint": "63a1dec5c10e995d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66ca2c0167c412e3", "level": "none", "message": {"text": "Commented-code block (8 lines) in ui-tui/src/app/useSubmission.ts:218"}, "properties": {"repobilityId": "41d172679379148e", "scanner": "scanner-primary", "fingerprint": "66ca2c0167c412e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eea6ca01703df16b", "level": "none", "message": {"text": "Commented-code block (9 lines) in ui-tui/src/app/createGatewayEventHandler.ts:95"}, "properties": {"repobilityId": "8c36d9d5ed9fe0c0", "scanner": "scanner-primary", "fingerprint": "eea6ca01703df16b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb9f0274a3d0736a", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/src/app/useMainApp.ts:305"}, "properties": {"repobilityId": "de5d1a185feed7a5", "scanner": "scanner-primary", "fingerprint": "fb9f0274a3d0736a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4a1cb7a7d03965f1", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/app/interfaces.ts:35"}, "properties": {"repobilityId": "1c12bd348c5cee33", "scanner": "scanner-primary", "fingerprint": "4a1cb7a7d03965f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0310477a4da8676b", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/app/slash/commands/session.ts:275"}, "properties": {"repobilityId": "0befb08e050ee7b2", "scanner": "scanner-primary", "fingerprint": "0310477a4da8676b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84e4124c245de8d4", "level": "none", "message": {"text": "Commented-code block (9 lines) in ui-tui/src/lib/openExternalUrl.ts:58"}, "properties": {"repobilityId": "ebe0aa6231907cd2", "scanner": "scanner-primary", "fingerprint": "84e4124c245de8d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e02633b3c35eaf14", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/lib/fuzzy.ts:8"}, "properties": {"repobilityId": "9360ff881cef13b7", "scanner": "scanner-primary", "fingerprint": "e02633b3c35eaf14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f3ff74202dcd9513", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/src/lib/emoji.ts:38"}, "properties": {"repobilityId": "5c77cc99c3fd52f3", "scanner": "scanner-primary", "fingerprint": "f3ff74202dcd9513", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc07044ba790fe3f", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/lib/mathUnicode.ts:1"}, "properties": {"repobilityId": "e5c7cc9fcb218b1b", "scanner": "scanner-primary", "fingerprint": "dc07044ba790fe3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b763fb05ba35a0c", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/src/lib/memoryMonitor.ts:19"}, "properties": {"repobilityId": "a7e00f73f95fbda5", "scanner": "scanner-primary", "fingerprint": "2b763fb05ba35a0c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-408ef1298f9a59cb", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/lib/reasoning.ts:24"}, "properties": {"repobilityId": "6133a70c60d47631", "scanner": "scanner-primary", "fingerprint": "408ef1298f9a59cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f87e60c491e25214", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/src/lib/clipboard.ts:94"}, "properties": {"repobilityId": "6f631ec962cea57f", "scanner": "scanner-primary", "fingerprint": "f87e60c491e25214", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8a1a81fe175bcad", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui-tui/src/lib/virtualHeights.ts:33"}, "properties": {"repobilityId": "01d94fda6607f05d", "scanner": "scanner-primary", "fingerprint": "a8a1a81fe175bcad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-63e86d1dd35fda1e", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui-tui/src/domain/blockLayout.ts:45"}, "properties": {"repobilityId": "278a47f3e738359b", "scanner": "scanner-primary", "fingerprint": "63e86d1dd35fda1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9d66d229323ef93", "level": "none", "message": {"text": "Commented-code block (10 lines) in ui-tui/src/domain/details.ts:10"}, "properties": {"repobilityId": "1c9b342b0240dc32", "scanner": "scanner-primary", "fingerprint": "b9d66d229323ef93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4a6a7234b114317", "level": "none", "message": {"text": "Commented-code block (9 lines) in gateway/slash_access.py:41"}, "properties": {"repobilityId": "7968a3e1ac8ee36c", "scanner": "scanner-primary", "fingerprint": "c4a6a7234b114317", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db08358036ba521f", "level": "none", "message": {"text": "Commented-code block (5 lines) in gateway/display_config.py:43"}, "properties": {"repobilityId": "bebc718c049390fe", "scanner": "scanner-primary", "fingerprint": "db08358036ba521f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6f34a1604a7d6fd", "level": "none", "message": {"text": "Commented-code block (16 lines) in gateway/kanban_watchers.py:80"}, "properties": {"repobilityId": "d0d729890121567c", "scanner": "scanner-primary", "fingerprint": "e6f34a1604a7d6fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d01efaca2afb121", "level": "none", "message": {"text": "Commented-code block (5 lines) in gateway/slash_commands.py:71"}, "properties": {"repobilityId": "365285e3ff331da0", "scanner": "scanner-primary", "fingerprint": "7d01efaca2afb121", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4702caa3eb3e5afe", "level": "none", "message": {"text": "Commented-code block (5 lines) in gateway/config.py:331"}, "properties": {"repobilityId": "770789a978d03f16", "scanner": "scanner-primary", "fingerprint": "4702caa3eb3e5afe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d06eb3c1523bb58", "level": "note", "message": {"text": "Legacy-named symbol `_warned_telegram_group_users_legacy` in gateway/authz_mixin.py:392"}, "properties": {"repobilityId": "94154be50ff00df3", "scanner": "scanner-primary", "fingerprint": "2d06eb3c1523bb58", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-12a50e8f4a71ab85", "level": "none", "message": {"text": "Commented-code block (5 lines) in gateway/authz_mixin.py:188"}, "properties": {"repobilityId": "ad7175ec6b151d12", "scanner": "scanner-primary", "fingerprint": "12a50e8f4a71ab85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b301f41f9f41df7e", "level": "none", "message": {"text": "Commented-code block (7 lines) in gateway/stream_consumer.py:58"}, "properties": {"repobilityId": "cc91dfff93f20903", "scanner": "scanner-primary", "fingerprint": "b301f41f9f41df7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe909871c8f79c1f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 gateway/shutdown_forensics.py:389"}, "properties": {"repobilityId": "013f28d2bac8f4ab", "scanner": "scanner-primary", "fingerprint": "fe909871c8f79c1f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7330de1f0123b26", "level": "none", "message": {"text": "Commented-code block (7 lines) in gateway/session.py:313"}, "properties": {"repobilityId": "88f9113ac7a705b6", "scanner": "scanner-primary", "fingerprint": "b7330de1f0123b26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37b429de39a9e3fb", "level": "note", "message": {"text": "Legacy-named symbol `_warned_telegram_group_users_legacy` in gateway/run.py:11108"}, "properties": {"repobilityId": "974677724f21a1e2", "scanner": "scanner-primary", "fingerprint": "37b429de39a9e3fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6c116f60f402b828", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 gateway/run.py:6273"}, "properties": {"repobilityId": "8c7c6270044b44a4", "scanner": "scanner-primary", "fingerprint": "6c116f60f402b828", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8975fd37e9094a30", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def _launch_detached_restart_command` \u2014 gateway/run.py:6172"}, "properties": {"repobilityId": "d16338f2a66a94d2", "scanner": "scanner-primary", "fingerprint": "8975fd37e9094a30", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gateway/run.py"}, "region": {"startLine": 6172}}}]}, {"ruleId": "scanner-97ee5004fee8d933", "level": "none", "message": {"text": "Commented-code block (7 lines) in gateway/hooks.py:118"}, "properties": {"repobilityId": "f67866410cee9903", "scanner": "scanner-primary", "fingerprint": "97ee5004fee8d933", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b913b3bb5b9e4a5", "level": "none", "message": {"text": "Commented-code block (7 lines) in gateway/platform_registry.py:113"}, "properties": {"repobilityId": "84289fcfdcf18150", "scanner": "scanner-primary", "fingerprint": "0b913b3bb5b9e4a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b6826ad2d743848", "level": "note", "message": {"text": "Legacy-named symbol `comment_add_v1` in gateway/platforms/feishu_comment.py:4"}, "properties": {"repobilityId": "0915b69003e7ebb2", "scanner": "scanner-primary", "fingerprint": "4b6826ad2d743848", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0f98d8deff49351c", "level": "none", "message": {"text": "Commented-code block (7 lines) in gateway/platforms/__init__.py:13"}, "properties": {"repobilityId": "cb4463b22c373d25", "scanner": "scanner-primary", "fingerprint": "0f98d8deff49351c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47bd18ba9f4869c2", "level": "none", "message": {"text": "Commented-code block (8 lines) in gateway/platforms/matrix.py:849"}, "properties": {"repobilityId": "40c669cda4e68a16", "scanner": "scanner-primary", "fingerprint": "47bd18ba9f4869c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c15b1df481939d6", "level": "note", "message": {"text": "Legacy-named symbol `meeting_invited_v1` in gateway/platforms/feishu_meeting_invite.py:7"}, "properties": {"repobilityId": "47975c7ee0be92bf", "scanner": "scanner-primary", "fingerprint": "2c15b1df481939d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f35b294e76a27760", "level": "none", "message": {"text": "Commented-code block (5 lines) in gateway/platforms/api_server.py:417"}, "properties": {"repobilityId": "aadf089188b5c932", "scanner": "scanner-primary", "fingerprint": "f35b294e76a27760", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-71f85e721edcd8f9", "level": "none", "message": {"text": "Commented-code block (5 lines) in gateway/platforms/whatsapp_cloud.py:127"}, "properties": {"repobilityId": "0fe7f8e7ba67427b", "scanner": "scanner-primary", "fingerprint": "71f85e721edcd8f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b229f16269937fc7", "level": "none", "message": {"text": "Commented-code block (6 lines) in gateway/platforms/whatsapp.py:287"}, "properties": {"repobilityId": "7693352331aa38a4", "scanner": "scanner-primary", "fingerprint": "b229f16269937fc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-771f7a7529ede238", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 gateway/platforms/whatsapp.py:509"}, "properties": {"repobilityId": "55a24bcfd49a2220", "scanner": "scanner-primary", "fingerprint": "771f7a7529ede238", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-15b5c513fc498a3e", "level": "none", "message": {"text": "Commented-code block (5 lines) in gateway/platforms/telegram.py:363"}, "properties": {"repobilityId": "0caffd4c25e9db1c", "scanner": "scanner-primary", "fingerprint": "15b5c513fc498a3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-637556cdadfab0db", "level": "none", "message": {"text": "Commented-code block (6 lines) in gateway/platforms/base.py:881"}, "properties": {"repobilityId": "0e53d87b7f67aabf", "scanner": "scanner-primary", "fingerprint": "637556cdadfab0db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5890e162839e8f04", "level": "note", "message": {"text": "Legacy-named symbol `receive_v1` in gateway/platforms/feishu.py:443"}, "properties": {"repobilityId": "058fe06809adbbee", "scanner": "scanner-primary", "fingerprint": "5890e162839e8f04", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c71bcb92c18564b5", "level": "none", "message": {"text": "Commented-code block (8 lines) in gateway/platforms/yuanbao.py:128"}, "properties": {"repobilityId": "4c42b64953ae6622", "scanner": "scanner-primary", "fingerprint": "c71bcb92c18564b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-962942f160ffe2e5", "level": "none", "message": {"text": "Commented-code block (8 lines) in gateway/platforms/weixin.py:1211"}, "properties": {"repobilityId": "ba5deffddc3238ea", "scanner": "scanner-primary", "fingerprint": "962942f160ffe2e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7fe5ce8360151412", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in gateway/platforms/slack.py:1391"}, "properties": {"repobilityId": "30ebd2a2bf5f04bb", "scanner": "scanner-primary", "fingerprint": "7fe5ce8360151412", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dd232a0c09dde74d", "level": "none", "message": {"text": "Commented-code block (6 lines) in gateway/platforms/slack.py:59"}, "properties": {"repobilityId": "5524e926fb9ef6f4", "scanner": "scanner-primary", "fingerprint": "dd232a0c09dde74d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81c31f998804125c", "level": "note", "message": {"text": "Stub function `handle_file_created` (body is just `pass`/`return`) \u2014 gateway/platforms/slack.py:888"}, "properties": {"repobilityId": "c7c94b6f3625da01", "scanner": "scanner-primary", "fingerprint": "81c31f998804125c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-e4f18140d60ee64f", "level": "none", "message": {"text": "Commented-code block (7 lines) in gateway/platforms/webhook.py:118"}, "properties": {"repobilityId": "0adf62ffa479ed4f", "scanner": "scanner-primary", "fingerprint": "e4f18140d60ee64f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4bae4f1996428a27", "level": "none", "message": {"text": "Commented-code block (10 lines) in gateway/platforms/yuanbao_proto.py:276"}, "properties": {"repobilityId": "450f58e2d89e841d", "scanner": "scanner-primary", "fingerprint": "4bae4f1996428a27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c405e99eb93661d", "level": "none", "message": {"text": "Commented-code block (5 lines) in gateway/platforms/email.py:578"}, "properties": {"repobilityId": "e16b1921d46c89c0", "scanner": "scanner-primary", "fingerprint": "1c405e99eb93661d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3b87270317759df0", "level": "none", "message": {"text": "Commented-code block (6 lines) in gateway/platforms/msgraph_webhook.py:278"}, "properties": {"repobilityId": "e8344d926ed8ea20", "scanner": "scanner-primary", "fingerprint": "3b87270317759df0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-913dd40b4e1786ca", "level": "note", "message": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/tests/test_common.py:55"}, "properties": {"repobilityId": "2d0847810b3132cb", "scanner": "scanner-primary", "fingerprint": "913dd40b4e1786ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-32e2c7c99c5acc29", "level": "note", "message": {"text": "Legacy-named symbol `test_history_renamed_to_v2` in skills/creative/comfyui/tests/test_cloud_integration.py:46"}, "properties": {"repobilityId": "ec74a3186f0657d7", "scanner": "scanner-primary", "fingerprint": "32e2c7c99c5acc29", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bfa0cea82e874006", "level": "note", "message": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/tests/test_run_workflow.py:280"}, "properties": {"repobilityId": "d2c0cc16fa8144d3", "scanner": "scanner-primary", "fingerprint": "bfa0cea82e874006", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-833f182f7487e208", "level": "note", "message": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/scripts/run_workflow.py:7"}, "properties": {"repobilityId": "8c942781f15c63c2", "scanner": "scanner-primary", "fingerprint": "833f182f7487e208", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0d616afffc89c5ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in skills/creative/comfyui/scripts/run_workflow.py:467"}, "properties": {"repobilityId": "1c49ef3738609751", "scanner": "scanner-primary", "fingerprint": "0d616afffc89c5ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02498a5950643c9e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/creative/comfyui/scripts/auto_fix_deps.py:58"}, "properties": {"repobilityId": "1e1271a4589bd49e", "scanner": "scanner-primary", "fingerprint": "02498a5950643c9e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-535cf1a3e4147b89", "level": "note", "message": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/scripts/_common.py:464"}, "properties": {"repobilityId": "3f49b6cc81f82f50", "scanner": "scanner-primary", "fingerprint": "535cf1a3e4147b89", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-543220bd8b45d4af", "level": "note", "message": {"text": "Legacy-named symbol `history_v2` in skills/creative/comfyui/scripts/fetch_logs.py:45"}, "properties": {"repobilityId": "f30e97dcf38e7017", "scanner": "scanner-primary", "fingerprint": "543220bd8b45d4af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6f0fed009fe230f2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/productivity/google-workspace/scripts/gws_bridge.py:159"}, "properties": {"repobilityId": "16071fc1737fe2e3", "scanner": "scanner-primary", "fingerprint": "6f0fed009fe230f2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-91f1c18a846b99aa", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/productivity/google-workspace/scripts/google_api.py:166"}, "properties": {"repobilityId": "674fb2527d0617ee", "scanner": "scanner-primary", "fingerprint": "91f1c18a846b99aa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c710d95507b15cf5", "level": "none", "message": {"text": "Commented-code block (6 lines) in acp_adapter/server.py:983"}, "properties": {"repobilityId": "4b784e801d95f4e3", "scanner": "scanner-primary", "fingerprint": "c710d95507b15cf5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb397efaadcff185", "level": "note", "message": {"text": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 plugins/context_engine/__init__.py:291"}, "properties": {"repobilityId": "35178d549495c784", "scanner": "scanner-primary", "fingerprint": "eb397efaadcff185", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-ec5a412279a75f02", "level": "none", "message": {"text": "Commented-code block (8 lines) in plugins/platforms/teams/adapter.py:33"}, "properties": {"repobilityId": "bcd5021c6c9e8fd4", "scanner": "scanner-primary", "fingerprint": "ec5a412279a75f02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b239936aeef6f37", "level": "note", "message": {"text": "Stub function `clear_cache` (body is just `pass`/`return`) \u2014 plugins/platforms/teams/adapter.py:139"}, "properties": {"repobilityId": "b1c521b9b1caa0b1", "scanner": "scanner-primary", "fingerprint": "9b239936aeef6f37", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-578ed660c9fcfee1", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/platforms/photon/auth.py:63"}, "properties": {"repobilityId": "67118019bf9d465c", "scanner": "scanner-primary", "fingerprint": "578ed660c9fcfee1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcc78cbfe3e7da1a", "level": "none", "message": {"text": "Commented-code block (7 lines) in plugins/platforms/photon/cli.py:379"}, "properties": {"repobilityId": "c8390a2d547e44d9", "scanner": "scanner-primary", "fingerprint": "fcc78cbfe3e7da1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b79f3b767c5fc1eb", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/platforms/photon/cli.py:387"}, "properties": {"repobilityId": "ccf85a3afe5f87b1", "scanner": "scanner-primary", "fingerprint": "b79f3b767c5fc1eb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4c85102189377c56", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/platforms/photon/adapter.py:842"}, "properties": {"repobilityId": "7e89b7fd39d818ec", "scanner": "scanner-primary", "fingerprint": "4c85102189377c56", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-893e83d48bed65e4", "level": "none", "message": {"text": "Commented-code block (8 lines) in plugins/platforms/photon/sidecar/index.mjs:8"}, "properties": {"repobilityId": "caf7efdf482e8ae6", "scanner": "scanner-primary", "fingerprint": "893e83d48bed65e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73f59e651384b7bf", "level": "none", "message": {"text": "Commented-code block (7 lines) in plugins/platforms/discord/adapter.py:9801"}, "properties": {"repobilityId": "4ceeace3e2500712", "scanner": "scanner-primary", "fingerprint": "73f59e651384b7bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6015a655845f421a", "level": "note", "message": {"text": "Legacy-named symbol `pubsub_v1` in plugins/platforms/google_chat/adapter.py:65"}, "properties": {"repobilityId": "6b0d89ee6450e0bd", "scanner": "scanner-primary", "fingerprint": "6015a655845f421a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-81cd8d667b85058d", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/platforms/google_chat/adapter.py:49"}, "properties": {"repobilityId": "7ed7321e560e99e9", "scanner": "scanner-primary", "fingerprint": "81cd8d667b85058d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-45df84e9f5966d4f", "level": "note", "message": {"text": "Legacy-named symbol `chat_v1` in plugins/platforms/google_chat/oauth.py:49"}, "properties": {"repobilityId": "0b4e321356888bd8", "scanner": "scanner-primary", "fingerprint": "45df84e9f5966d4f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f88629b4ac0f9b4d", "level": "none", "message": {"text": "Commented-code block (6 lines) in plugins/platforms/mattermost/adapter.py:1685"}, "properties": {"repobilityId": "c666c047aa7fabf2", "scanner": "scanner-primary", "fingerprint": "f88629b4ac0f9b4d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb946b67394f342c", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/model-providers/opencode-zen/__init__.py:37"}, "properties": {"repobilityId": "e0540a7c5301b627", "scanner": "scanner-primary", "fingerprint": "cb946b67394f342c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70b6c89d31508c69", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/security-guidance/patterns.py:265"}, "properties": {"repobilityId": "2642f36d6965f3de", "scanner": "scanner-primary", "fingerprint": "70b6c89d31508c69", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8dc6060f18a123ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/kanban/dashboard/plugin_api.py:145"}, "properties": {"repobilityId": "0a6905a303621106", "scanner": "scanner-primary", "fingerprint": "8dc6060f18a123ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4b4c813d7e053df", "level": "none", "message": {"text": "Commented-code block (6 lines) in plugins/google_meet/meet_bot.py:369"}, "properties": {"repobilityId": "57a0b74688ef6ae3", "scanner": "scanner-primary", "fingerprint": "b4b4c813d7e053df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c050b87063f71e98", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/google_meet/audio_bridge.py:144"}, "properties": {"repobilityId": "b2e247e201b861c6", "scanner": "scanner-primary", "fingerprint": "c050b87063f71e98", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-afd0bfad55af8154", "level": "none", "message": {"text": "Commented-code block (6 lines) in plugins/observability/nemo_relay/__init__.py:295"}, "properties": {"repobilityId": "99dfc292b50a94ff", "scanner": "scanner-primary", "fingerprint": "afd0bfad55af8154", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c53637586becf7c", "level": "none", "message": {"text": "Commented-code block (6 lines) in plugins/observability/langfuse/__init__.py:62"}, "properties": {"repobilityId": "60660a602c8c7951", "scanner": "scanner-primary", "fingerprint": "4c53637586becf7c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2657759fbf800130", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/web/parallel/provider.py:39"}, "properties": {"repobilityId": "ad3ae698bbca186d", "scanner": "scanner-primary", "fingerprint": "2657759fbf800130", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-025443d8122329d0", "level": "note", "message": {"text": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 plugins/memory/__init__.py:515"}, "properties": {"repobilityId": "c8fa8760dd699c9d", "scanner": "scanner-primary", "fingerprint": "025443d8122329d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-bb5c7a0080cf7954", "level": "none", "message": {"text": "Commented-code block (6 lines) in plugins/memory/honcho/client.py:209"}, "properties": {"repobilityId": "f97b3bdb5d444dfb", "scanner": "scanner-primary", "fingerprint": "bb5c7a0080cf7954", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-684a5e62163532e0", "level": "none", "message": {"text": "Commented-code block (7 lines) in plugins/memory/honcho/cli.py:43"}, "properties": {"repobilityId": "d3663f7c97de9c19", "scanner": "scanner-primary", "fingerprint": "684a5e62163532e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3166ab129991b42", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/memory/honcho/cli.py:415"}, "properties": {"repobilityId": "e51b26c47fee7bda", "scanner": "scanner-primary", "fingerprint": "a3166ab129991b42", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-55d6424ab4635ca0", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/memory/hindsight/__init__.py:55"}, "properties": {"repobilityId": "5808710e9f041509", "scanner": "scanner-primary", "fingerprint": "55d6424ab4635ca0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-876825bb90b33502", "level": "none", "message": {"text": "Commented-code block (7 lines) in plugins/video_gen/fal/__init__.py:59"}, "properties": {"repobilityId": "2ddc0d86d4eaec4b", "scanner": "scanner-primary", "fingerprint": "876825bb90b33502", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ece8caacc454278", "level": "note", "message": {"text": "905 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "fbdf6da3f1097d80", "scanner": "scanner-primary", "fingerprint": "0ece8caacc454278", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "73cbef03b0a37de1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "518ca42370045e5c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "6db797662d8fcdf0", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "deba3b46ac020cef", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "eeb79678533781a8", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "0c52ffed1649a482", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "336c1e0bcc6f320c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "8c91797bf3404f46", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "82974ec8343f8419", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "879898ae75a587cd", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "5657afd3e137139c", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "00ad531e16ac31d6", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "75fb83f92ea05d60", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "8ace3a8a0c32d498", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "c499aa28710bbb22", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "e6a4dd36d1898d7e", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "34b7243b41fea517", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "f702d8bd63257311", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "a3ac2d6eef5aaa70", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "86ea0dc23a6f3317", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-1ec8d502686cc2a0", "level": "warning", "message": {"text": "Frontend route `:sessionId` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "properties": {"repobilityId": "760f88139671c61b", "scanner": "scanner-primary", "fingerprint": "1ec8d502686cc2a0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-fa115f64c2991387", "level": "warning", "message": {"text": "Frontend route `cron` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "properties": {"repobilityId": "b7d8222459ebb7a7", "scanner": "scanner-primary", "fingerprint": "fa115f64c2991387", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-783817527841e966", "level": "warning", "message": {"text": "Frontend route `profiles` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "properties": {"repobilityId": "7f944f469548f470", "scanner": "scanner-primary", "fingerprint": "783817527841e966", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-5f7176383daeec85", "level": "warning", "message": {"text": "Frontend route `settings` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "properties": {"repobilityId": "e1851e28f0651798", "scanner": "scanner-primary", "fingerprint": "5f7176383daeec85", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-13f05a273754c42f", "level": "warning", "message": {"text": "Frontend route `command-center` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "properties": {"repobilityId": "69dcd93a8aed2205", "scanner": "scanner-primary", "fingerprint": "13f05a273754c42f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-84fb29d7c5cf1774", "level": "warning", "message": {"text": "Frontend route `agents` has no Link/navigate to it \u2014 apps/desktop/src/app/desktop-controller.tsx"}, "properties": {"repobilityId": "a0fbe808a1e3efc9", "scanner": "scanner-primary", "fingerprint": "84fb29d7c5cf1774", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-95a8709e8b2f50fd", "level": "error", "message": {"text": "FastAPI POST `auth_password_login` without auth dependency \u2014 clawk_cli/dashboard_auth/routes.py:646"}, "properties": {"repobilityId": "6a422dc15be90da8", "scanner": "scanner-primary", "fingerprint": "95a8709e8b2f50fd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_cli/dashboard_auth/routes.py"}, "region": {"startLine": 646}}}]}, {"ruleId": "scanner-b330a1f726445ab2", "level": "error", "message": {"text": "FastAPI POST `auth_logout` without auth dependency \u2014 clawk_cli/dashboard_auth/routes.py:770"}, "properties": {"repobilityId": "04b6733220d4b9aa", "scanner": "scanner-primary", "fingerprint": "b330a1f726445ab2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_cli/dashboard_auth/routes.py"}, "region": {"startLine": 770}}}]}, {"ruleId": "scanner-c85c9f5d4357e459", "level": "error", "message": {"text": "FastAPI POST `api_auth_ws_ticket` without auth dependency \u2014 clawk_cli/dashboard_auth/routes.py:846"}, "properties": {"repobilityId": "daaf239f2ce662ef", "scanner": "scanner-primary", "fingerprint": "c85c9f5d4357e459", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "clawk_cli/dashboard_auth/routes.py"}, "region": {"startLine": 846}}}]}, {"ruleId": "scanner-dccd0018bd9cf734", "level": "error", "message": {"text": "FastAPI POST `create_task` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:597"}, "properties": {"repobilityId": "86d049f54db300c4", "scanner": "scanner-primary", "fingerprint": "dccd0018bd9cf734", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 597}}}]}, {"ruleId": "scanner-462e6437cc8f9419", "level": "error", "message": {"text": "FastAPI POST `upload_task_attachment` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:687"}, "properties": {"repobilityId": "4853fa45c4307139", "scanner": "scanner-primary", "fingerprint": "462e6437cc8f9419", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 687}}}]}, {"ruleId": "scanner-598d9d875d48a1ff", "level": "error", "message": {"text": "FastAPI DELETE `remove_attachment` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:789"}, "properties": {"repobilityId": "c92818481b626bd4", "scanner": "scanner-primary", "fingerprint": "598d9d875d48a1ff", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 789}}}]}, {"ruleId": "scanner-dacc03ca6b7f4586", "level": "error", "message": {"text": "FastAPI PATCH `update_task` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:821"}, "properties": {"repobilityId": "005496b99bc2e950", "scanner": "scanner-primary", "fingerprint": "dacc03ca6b7f4586", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 821}}}]}, {"ruleId": "scanner-ea8d1cc569e65f6b", "level": "error", "message": {"text": "FastAPI DELETE `delete_task` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:944"}, "properties": {"repobilityId": "31ab04e67915ea3f", "scanner": "scanner-primary", "fingerprint": "ea8d1cc569e65f6b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 944}}}]}, {"ruleId": "scanner-8414161347c75887", "level": "error", "message": {"text": "FastAPI POST `add_comment` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1091"}, "properties": {"repobilityId": "772d7b855721226c", "scanner": "scanner-primary", "fingerprint": "8414161347c75887", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1091}}}]}, {"ruleId": "scanner-bae021734a2111ac", "level": "error", "message": {"text": "FastAPI POST `add_link` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1117"}, "properties": {"repobilityId": "9c67113f15d154e0", "scanner": "scanner-primary", "fingerprint": "bae021734a2111ac", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1117}}}]}, {"ruleId": "scanner-7e9b8430fc4b8327", "level": "error", "message": {"text": "FastAPI DELETE `delete_link` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1130"}, "properties": {"repobilityId": "2a7396f6b7980617", "scanner": "scanner-primary", "fingerprint": "7e9b8430fc4b8327", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1130}}}]}, {"ruleId": "scanner-89d00857566a153a", "level": "error", "message": {"text": "FastAPI POST `bulk_update` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1161"}, "properties": {"repobilityId": "402ee485dc069a8b", "scanner": "scanner-primary", "fingerprint": "89d00857566a153a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1161}}}]}, {"ruleId": "scanner-320d0c4ee8bc36d8", "level": "error", "message": {"text": "FastAPI POST `terminate_run_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1507"}, "properties": {"repobilityId": "68bc28eda0a0f30b", "scanner": "scanner-primary", "fingerprint": "320d0c4ee8bc36d8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1507}}}]}, {"ruleId": "scanner-ba9a244c568af5d4", "level": "error", "message": {"text": "FastAPI POST `reclaim_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1563"}, "properties": {"repobilityId": "e56a7f2f3d69931c", "scanner": "scanner-primary", "fingerprint": "ba9a244c568af5d4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1563}}}]}, {"ruleId": "scanner-41e0cacab7a0f91e", "level": "error", "message": {"text": "FastAPI POST `specify_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1601"}, "properties": {"repobilityId": "56c1c38aef275fa2", "scanner": "scanner-primary", "fingerprint": "41e0cacab7a0f91e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1601}}}]}, {"ruleId": "scanner-f69fb8140cf67eed", "level": "error", "message": {"text": "FastAPI POST `reassign_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1651"}, "properties": {"repobilityId": "ed21c6fa40800d97", "scanner": "scanner-primary", "fingerprint": "f69fb8140cf67eed", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1651}}}]}, {"ruleId": "scanner-609c6c999d1048f7", "level": "error", "message": {"text": "FastAPI POST `subscribe_home` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1813"}, "properties": {"repobilityId": "ae78b654864f21bf", "scanner": "scanner-primary", "fingerprint": "609c6c999d1048f7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1813}}}]}, {"ruleId": "scanner-1d17481ebcffa7ce", "level": "error", "message": {"text": "FastAPI DELETE `unsubscribe_home` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1848"}, "properties": {"repobilityId": "b32486595fac6906", "scanner": "scanner-primary", "fingerprint": "1d17481ebcffa7ce", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1848}}}]}, {"ruleId": "scanner-3a942387f1fccf8f", "level": "error", "message": {"text": "FastAPI POST `dispatch` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:1954"}, "properties": {"repobilityId": "8eb4396cc1e73e73", "scanner": "scanner-primary", "fingerprint": "3a942387f1fccf8f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1954}}}]}, {"ruleId": "scanner-76a4ecc0a96c9a97", "level": "error", "message": {"text": "FastAPI POST `create_board_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2025"}, "properties": {"repobilityId": "ee04998e2350bce4", "scanner": "scanner-primary", "fingerprint": "76a4ecc0a96c9a97", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 2025}}}]}, {"ruleId": "scanner-96636ed0b9b6b886", "level": "error", "message": {"text": "FastAPI PATCH `rename_board` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2046"}, "properties": {"repobilityId": "a48acf167c2c1854", "scanner": "scanner-primary", "fingerprint": "96636ed0b9b6b886", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 2046}}}]}, {"ruleId": "scanner-5e675ebb42a4f17e", "level": "error", "message": {"text": "FastAPI DELETE `delete_board` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2065"}, "properties": {"repobilityId": "7ee206b3aa2053a8", "scanner": "scanner-primary", "fingerprint": "5e675ebb42a4f17e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 2065}}}]}, {"ruleId": "scanner-0af28e54cb3a2f5e", "level": "error", "message": {"text": "FastAPI POST `switch_board` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2075"}, "properties": {"repobilityId": "c4291aff610191fd", "scanner": "scanner-primary", "fingerprint": "0af28e54cb3a2f5e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 2075}}}]}, {"ruleId": "scanner-8db1eac896ec2d87", "level": "error", "message": {"text": "FastAPI PATCH `update_profile_description` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2145"}, "properties": {"repobilityId": "39dcb38e51adbe50", "scanner": "scanner-primary", "fingerprint": "8db1eac896ec2d87", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 2145}}}]}, {"ruleId": "scanner-0c37ad0f6da656f6", "level": "error", "message": {"text": "FastAPI POST `auto_describe_profile` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2178"}, "properties": {"repobilityId": "ef6e11109f541bf0", "scanner": "scanner-primary", "fingerprint": "0c37ad0f6da656f6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 2178}}}]}, {"ruleId": "scanner-7de0e60e9ec722b8", "level": "error", "message": {"text": "FastAPI POST `decompose_task_endpoint` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2214"}, "properties": {"repobilityId": "3756782de619b23a", "scanner": "scanner-primary", "fingerprint": "7de0e60e9ec722b8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 2214}}}]}, {"ruleId": "scanner-8c6b7f994bcd7eff", "level": "error", "message": {"text": "FastAPI PUT `set_orchestration_settings` without auth dependency \u2014 plugins/kanban/dashboard/plugin_api.py:2308"}, "properties": {"repobilityId": "257f3de35a7d54fa", "scanner": "scanner-primary", "fingerprint": "8c6b7f994bcd7eff", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 2308}}}]}, {"ruleId": "scanner-54ac159dcbfd1706", "level": "error", "message": {"text": "FastAPI POST `rescan` without auth dependency \u2014 plugins/clawk-achievements/dashboard/plugin_api.py:2378"}, "properties": {"repobilityId": "d69af18969e1b0aa", "scanner": "scanner-primary", "fingerprint": "54ac159dcbfd1706", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/clawk-achievements/dashboard/plugin_api.py"}, "region": {"startLine": 2378}}}]}, {"ruleId": "scanner-f16d5f6f9e501c47", "level": "error", "message": {"text": "FastAPI POST `reset_state` without auth dependency \u2014 plugins/clawk-achievements/dashboard/plugin_api.py:2384"}, "properties": {"repobilityId": "40fb78a0a8d8bf7b", "scanner": "scanner-primary", "fingerprint": "f16d5f6f9e501c47", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/clawk-achievements/dashboard/plugin_api.py"}, "region": {"startLine": 2384}}}]}, {"ruleId": "scanner-2c2133e1713a28bd", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/click-session.mjs:2)"}, "properties": {"repobilityId": "eadf66fd0df8cc8f", "scanner": "scanner-primary", "fingerprint": "2c2133e1713a28bd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d3fa0f786822c45", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/probe-renderer.mjs:2)"}, "properties": {"repobilityId": "92276781b33c06c9", "scanner": "scanner-primary", "fingerprint": "6d3fa0f786822c45", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4b907794ea8d5ad7", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/measure-latency.mjs:63)"}, "properties": {"repobilityId": "2e68bde703ef2b41", "scanner": "scanner-primary", "fingerprint": "4b907794ea8d5ad7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2a4c14b0ade92a14", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/diag-scroll-reset.mjs:33)"}, "properties": {"repobilityId": "9ebcbd70304fd0e0", "scanner": "scanner-primary", "fingerprint": "2a4c14b0ade92a14", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-035098ff12a67886", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/profile-typing.mjs:85)"}, "properties": {"repobilityId": "226c2eb786b23427", "scanner": "scanner-primary", "fingerprint": "035098ff12a67886", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d47da1aa0f374adc", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/reload-renderer.mjs:2)"}, "properties": {"repobilityId": "5dc7822645497bb6", "scanner": "scanner-primary", "fingerprint": "d47da1aa0f374adc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b95d7c1bb53a3dee", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/diag-jump.mjs:3)"}, "properties": {"repobilityId": "e7f736fc126ae83d", "scanner": "scanner-primary", "fingerprint": "b95d7c1bb53a3dee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ee106b86147ecb4c", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json (apps/desktop/scripts/reload.mjs:3)"}, "properties": {"repobilityId": "97f78c9f025ef2d6", "scanner": "scanner-primary", "fingerprint": "ee106b86147ecb4c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-61bd91ce2ae3283f", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json (apps/desktop/scripts/eval.mjs:2)"}, "properties": {"repobilityId": "3e28fb16c6827031", "scanner": "scanner-primary", "fingerprint": "61bd91ce2ae3283f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-331f4cbbca7b1585", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/leak-typing.mjs:59)"}, "properties": {"repobilityId": "146f82b09cc66eaf", "scanner": "scanner-primary", "fingerprint": "331f4cbbca7b1585", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-910840e7a16b6ea2", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/measure-jump.mjs:14)"}, "properties": {"repobilityId": "eb59de811126f05a", "scanner": "scanner-primary", "fingerprint": "910840e7a16b6ea2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1d6559bef82ac5c7", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/profile-long-stream.mjs:37)"}, "properties": {"repobilityId": "e982e35232182639", "scanner": "scanner-primary", "fingerprint": "1d6559bef82ac5c7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-98c1b151b9ecb842", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:9222/json/list (apps/desktop/scripts/probe-thread.mjs:3)"}, "properties": {"repobilityId": "e221434e35ad4a43", "scanner": "scanner-primary", "fingerprint": "98c1b151b9ecb842", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-feee6e2a946106f0", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${PORT}/json/list (apps/desktop/scripts/measure-submit.mjs:57)"}, "properties": {"repobilityId": "3fc0dcfd3351c019", "scanner": "scanner-primary", "fingerprint": "feee6e2a946106f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-963710f42a2c8219", "level": "note", "message": {"text": "Unused endpoint: GET /api/status"}, "properties": {"repobilityId": "c83535e8271a50c5", "scanner": "scanner-primary", "fingerprint": "963710f42a2c8219", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-24919a1b3038764e", "level": "note", "message": {"text": "Unused endpoint: GET /api/system/stats"}, "properties": {"repobilityId": "99a733e95534dfc5", "scanner": "scanner-primary", "fingerprint": "24919a1b3038764e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-463eb32070621b84", "level": "note", "message": {"text": "Unused endpoint: GET /api/curator"}, "properties": {"repobilityId": "466b0c21045d150a", "scanner": "scanner-primary", "fingerprint": "463eb32070621b84", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fad7dee227cf621d", "level": "note", "message": {"text": "Unused endpoint: PUT /api/curator/paused"}, "properties": {"repobilityId": "76a933807b11c874", "scanner": "scanner-primary", "fingerprint": "fad7dee227cf621d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bc362b0c7948b0d0", "level": "note", "message": {"text": "Unused endpoint: POST /api/curator/run"}, "properties": {"repobilityId": "37fe394450a5df70", "scanner": "scanner-primary", "fingerprint": "bc362b0c7948b0d0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c61bcf74cf014cd9", "level": "note", "message": {"text": "Unused endpoint: GET /api/portal"}, "properties": {"repobilityId": "9563a647c9668722", "scanner": "scanner-primary", "fingerprint": "c61bcf74cf014cd9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-809d30ab09df385e", "level": "note", "message": {"text": "Unused endpoint: POST /api/ops/prompt-size"}, "properties": {"repobilityId": "13129c8337a5c8fc", "scanner": "scanner-primary", "fingerprint": "809d30ab09df385e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c76340a087ad91aa", "level": "note", "message": {"text": "Unused endpoint: POST /api/ops/dump"}, "properties": {"repobilityId": "6c4076581722ff5c", "scanner": "scanner-primary", "fingerprint": "c76340a087ad91aa", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-de6b0ad9ccc68ddf", "level": "note", "message": {"text": "Unused endpoint: POST /api/ops/config-migrate"}, "properties": {"repobilityId": "8ba827f59a697fe9", "scanner": "scanner-primary", "fingerprint": "de6b0ad9ccc68ddf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7a65364c3e7fe8b1", "level": "note", "message": {"text": "Unused endpoint: POST /api/ops/debug-share"}, "properties": {"repobilityId": "619abe8b6be152ab", "scanner": "scanner-primary", "fingerprint": "7a65364c3e7fe8b1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4083768260d4a820", "level": "note", "message": {"text": "Unused endpoint: POST /api/gateway/restart"}, "properties": {"repobilityId": "8f89b90fe666a6b6", "scanner": "scanner-primary", "fingerprint": "4083768260d4a820", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ffa8b0558507990f", "level": "note", "message": {"text": "Unused endpoint: POST /api/clawksis/update"}, "properties": {"repobilityId": "4acfaa1e76097aed", "scanner": "scanner-primary", "fingerprint": "ffa8b0558507990f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1c7d8129af0e5588", "level": "note", "message": {"text": "Unused endpoint: GET /api/clawksis/update/check"}, "properties": {"repobilityId": "1eb60dc9d270fecd", "scanner": "scanner-primary", "fingerprint": "1c7d8129af0e5588", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8a20d4e70ef50ff5", "level": "note", "message": {"text": "Unused endpoint: POST /api/audio/transcribe"}, "properties": {"repobilityId": "6f1145de77fc715c", "scanner": "scanner-primary", "fingerprint": "8a20d4e70ef50ff5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a92e1173487efc9c", "level": "note", "message": {"text": "Unused endpoint: GET /api/audio/elevenlabs/voices"}, "properties": {"repobilityId": "f0516b16928bb571", "scanner": "scanner-primary", "fingerprint": "a92e1173487efc9c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-da9ff52f041fe2ff", "level": "note", "message": {"text": "Unused endpoint: POST /api/audio/speak"}, "properties": {"repobilityId": "69b8dbf538d8f0ca", "scanner": "scanner-primary", "fingerprint": "da9ff52f041fe2ff", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dc2a64713e3ba710", "level": "note", "message": {"text": "Unused endpoint: GET /api/actions/{name}/status"}, "properties": {"repobilityId": "e3c40da1cd483dfd", "scanner": "scanner-primary", "fingerprint": "dc2a64713e3ba710", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bf2e6e2188a510ee", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions"}, "properties": {"repobilityId": "5079109479cb2f28", "scanner": "scanner-primary", "fingerprint": "bf2e6e2188a510ee", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1ae0da226f234c4e", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/search"}, "properties": {"repobilityId": "a00f28f6ff3238b8", "scanner": "scanner-primary", "fingerprint": "1ae0da226f234c4e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7aa4b2518cbbbfa2", "level": "note", "message": {"text": "Unused endpoint: GET /api/config"}, "properties": {"repobilityId": "cafe35b75f6f386b", "scanner": "scanner-primary", "fingerprint": "7aa4b2518cbbbfa2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f265efee78815c9c", "level": "note", "message": {"text": "Unused endpoint: GET /api/config/defaults"}, "properties": {"repobilityId": "4ec95b379c180b47", "scanner": "scanner-primary", "fingerprint": "f265efee78815c9c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b3df459b886bf814", "level": "note", "message": {"text": "Unused endpoint: GET /api/config/schema"}, "properties": {"repobilityId": "1b7134e589c90c0b", "scanner": "scanner-primary", "fingerprint": "b3df459b886bf814", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-def8762309fb2ecd", "level": "note", "message": {"text": "Unused endpoint: GET /api/model/info"}, "properties": {"repobilityId": "e706d480433868a0", "scanner": "scanner-primary", "fingerprint": "def8762309fb2ecd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c67c08ec8c4b0435", "level": "note", "message": {"text": "Unused endpoint: GET /api/model/options"}, "properties": {"repobilityId": "971bb85ccfa1efd8", "scanner": "scanner-primary", "fingerprint": "c67c08ec8c4b0435", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-90083828053b20bb", "level": "note", "message": {"text": "Unused endpoint: GET /api/model/recommended-default"}, "properties": {"repobilityId": "6dc1653d6b78bc8d", "scanner": "scanner-primary", "fingerprint": "90083828053b20bb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c14c182c37ec7d11", "level": "note", "message": {"text": "Unused endpoint: GET /api/model/auxiliary"}, "properties": {"repobilityId": "a5df37e536c39056", "scanner": "scanner-primary", "fingerprint": "c14c182c37ec7d11", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-35745d4371415ca4", "level": "note", "message": {"text": "Unused endpoint: POST /api/model/set"}, "properties": {"repobilityId": "55e50dcddb44598b", "scanner": "scanner-primary", "fingerprint": "35745d4371415ca4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-22923df0fba6d7e8", "level": "note", "message": {"text": "Unused endpoint: PUT /api/config"}, "properties": {"repobilityId": "680e458bd90ab3c0", "scanner": "scanner-primary", "fingerprint": "22923df0fba6d7e8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c7565b3d2505e70e", "level": "note", "message": {"text": "Unused endpoint: GET /api/env"}, "properties": {"repobilityId": "c5ac2d990c97a2b9", "scanner": "scanner-primary", "fingerprint": "c7565b3d2505e70e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4627a78bce493dad", "level": "note", "message": {"text": "Unused endpoint: PUT /api/env"}, "properties": {"repobilityId": "d4b07e2f681f292e", "scanner": "scanner-primary", "fingerprint": "4627a78bce493dad", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b905b5d312ba28a3", "level": "note", "message": {"text": "Unused endpoint: POST /api/providers/validate"}, "properties": {"repobilityId": "4d427451ecd13e71", "scanner": "scanner-primary", "fingerprint": "b905b5d312ba28a3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-60740ae29f26a801", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/env"}, "properties": {"repobilityId": "5150cae643c58bed", "scanner": "scanner-primary", "fingerprint": "60740ae29f26a801", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9396e8dc7a5e36ce", "level": "note", "message": {"text": "Unused endpoint: POST /api/env/reveal"}, "properties": {"repobilityId": "69e097d9b92fa698", "scanner": "scanner-primary", "fingerprint": "9396e8dc7a5e36ce", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ee36712eb55b0960", "level": "note", "message": {"text": "Unused endpoint: GET /api/messaging/platforms"}, "properties": {"repobilityId": "00470d4f4064b942", "scanner": "scanner-primary", "fingerprint": "ee36712eb55b0960", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ac75a17ad64f5c87", "level": "note", "message": {"text": "Unused endpoint: PUT /api/messaging/platforms/{platform_id}"}, "properties": {"repobilityId": "d7232fdb60efcc95", "scanner": "scanner-primary", "fingerprint": "ac75a17ad64f5c87", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a240bc9b06bf46a9", "level": "note", "message": {"text": "Unused endpoint: POST /api/messaging/platforms/{platform_id}/test"}, "properties": {"repobilityId": "67f8243afba69a3b", "scanner": "scanner-primary", "fingerprint": "a240bc9b06bf46a9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-65e17379ca9ada31", "level": "note", "message": {"text": "Unused endpoint: GET /api/providers/oauth"}, "properties": {"repobilityId": "8c833cda18998222", "scanner": "scanner-primary", "fingerprint": "65e17379ca9ada31", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bbd2f0eaa1a58b5a", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/providers/oauth/{provider_id}"}, "properties": {"repobilityId": "a913c54d63501d53", "scanner": "scanner-primary", "fingerprint": "bbd2f0eaa1a58b5a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-796c2da313969aed", "level": "note", "message": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/start"}, "properties": {"repobilityId": "949de69d65742a68", "scanner": "scanner-primary", "fingerprint": "796c2da313969aed", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6d3c1410ce59a120", "level": "note", "message": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/submit"}, "properties": {"repobilityId": "262f87975b2c5a95", "scanner": "scanner-primary", "fingerprint": "6d3c1410ce59a120", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-42dcf4e222d9eb9a", "level": "note", "message": {"text": "Unused endpoint: GET /api/providers/oauth/{provider_id}/poll/{session_id}"}, "properties": {"repobilityId": "bac127e2b11b5e2f", "scanner": "scanner-primary", "fingerprint": "42dcf4e222d9eb9a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e82e4f8bdc25ea20", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/providers/oauth/sessions/{session_id}"}, "properties": {"repobilityId": "e9e8de39c3d2de21", "scanner": "scanner-primary", "fingerprint": "e82e4f8bdc25ea20", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-13a1198c49bcc853", "level": "note", "message": {"text": "Unused endpoint: POST /api/sessions/bulk-delete"}, "properties": {"repobilityId": "f08ad500afe3c592", "scanner": "scanner-primary", "fingerprint": "13a1198c49bcc853", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7d6f74c347439793", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/empty/count"}, "properties": {"repobilityId": "5a5d4e7d26479d3c", "scanner": "scanner-primary", "fingerprint": "7d6f74c347439793", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-26de36877ee6f3b9", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/sessions/empty"}, "properties": {"repobilityId": "6db0937331dafc54", "scanner": "scanner-primary", "fingerprint": "26de36877ee6f3b9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-69c08686cd5b9f77", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/stats"}, "properties": {"repobilityId": "620df06acd01edac", "scanner": "scanner-primary", "fingerprint": "69c08686cd5b9f77", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-47dfa881a4926912", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/{session_id}"}, "properties": {"repobilityId": "f810bc502023a03b", "scanner": "scanner-primary", "fingerprint": "47dfa881a4926912", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-02e60e6ccdf9a1c1", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/{session_id}/latest-descendant"}, "properties": {"repobilityId": "811a3d9294b7aa74", "scanner": "scanner-primary", "fingerprint": "02e60e6ccdf9a1c1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-587d4512fde14873", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/{session_id}/messages"}, "properties": {"repobilityId": "9c7f936993259584", "scanner": "scanner-primary", "fingerprint": "587d4512fde14873", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-710e260b0cccd592", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/sessions/{session_id}"}, "properties": {"repobilityId": "7aac5223e76126ea", "scanner": "scanner-primary", "fingerprint": "710e260b0cccd592", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}