{"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-bd270db6b01c5053", "name": "Possibly dead Python function: play_audio_sync", "shortDescription": {"text": "Possibly dead Python function: play_audio_sync"}, "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-581700b04bdb6cee", "name": "Possibly dead Python function: list_personalities", "shortDescription": {"text": "Possibly dead Python function: list_personalities"}, "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-6656003b10502390", "name": "Possibly dead Python function: search_domain", "shortDescription": {"text": "Possibly dead Python function: search_domain"}, "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-60ef0ea13a13ebd1", "name": "Possibly dead Python function: search_phone", "shortDescription": {"text": "Possibly dead Python function: search_phone"}, "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-e4bed5154e58ea78", "name": "Possibly dead Python function: handle_console_message", "shortDescription": {"text": "Possibly dead Python function: handle_console_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-648b635bef35e99a", "name": "Possibly dead Python function: patched_get_inherited", "shortDescription": {"text": "Possibly dead Python function: patched_get_inherited"}, "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-5957e60bda4c6ac3", "name": "Possibly dead Python function: sort_key", "shortDescription": {"text": "Possibly dead Python function: sort_key"}, "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-8708f6ed976369fd", "name": "Possibly dead Python function: check_duplicate_keys", "shortDescription": {"text": "Possibly dead Python function: check_duplicate_keys"}, "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-b05fd62d1dd254ba", "name": "Possibly dead Python function: revert_insertion", "shortDescription": {"text": "Possibly dead Python function: revert_insertion"}, "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-e96e8c6ed6b755b0", "name": "Possibly dead Python function: revert_deletion", "shortDescription": {"text": "Possibly dead Python function: revert_deletion"}, "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-df1cac12153e840f", "name": "Possibly dead Python function: suggest_deletion", "shortDescription": {"text": "Possibly dead Python function: suggest_deletion"}, "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-5456f98169da066c", "name": "Possibly dead Python function: add_comment", "shortDescription": {"text": "Possibly dead Python function: add_comment"}, "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-91dcfdccfbc79e3f", "name": "Possibly dead Python function: reply_to_comment", "shortDescription": {"text": "Possibly dead Python function: reply_to_comment"}, "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-85f2684c64617991", "name": "Possibly dead Python function: startElementNS", "shortDescription": {"text": "Possibly dead Python function: startElementNS"}, "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-f5bdbed74c247c4d", "name": "Stray `console.log` in TS/JS \u2014 INSTALL.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 INSTALL.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ac19e2e2abe5950", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/App.vue:256", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/App.vue:256"}, "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-eaebe16b730d2721", "name": "TODO/FIXME marker in shipping code \u2014 Observability/apps/client/src/types.ts:1", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 Observability/apps/client/src/types.ts:1"}, "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-38ab2299b4dc3d03", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useThemes.ts:756", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useThemes.ts:756"}, "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-be50f2e8199f41b3", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useBackgroundTasks.ts:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useBackgroundTasks.ts:111"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a4f6582aef18a2d", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useChartData.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useChartData.ts:68"}, "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-33d354fd4ebacd33", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useWebSocket.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useWebSocket.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-a9471d52afc2ed2e", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useAdvancedMetrics.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useAdvancedMetrics.ts:114"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-65e4b1db98a6b346", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/__tests__/useAdvancedMetrics.example.ts:96", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/__tests__/useAdvancedMetrics.example.ts:96"}, "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-72c09b284d1724d0", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/utils/chartRenderer.ts:367", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/utils/chartRenderer.ts:367"}, "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-2acb7c27087b3dcb", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/index.ts:466", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/index.ts:466"}, "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-275d787ddf2f7ca0", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/ulwork-watcher.ts:142", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/ulwork-watcher.ts:142"}, "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-81c07cca76a3a2cf", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/task-watcher.ts:136", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/task-watcher.ts:136"}, "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-72a391151cc888c6", "name": "TODO/FIXME marker in shipping code \u2014 Observability/apps/server/src/types.ts:1", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 Observability/apps/server/src/types.ts:1"}, "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-115e4cfa4516ba3c", "name": "TODO/FIXME marker in shipping code \u2014 Observability/apps/server/src/file-ingest.ts:33", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 Observability/apps/server/src/file-ingest.ts:33"}, "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-784ff0c77f7f0954", "name": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/file-ingest.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/file-ingest.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e659db5ccd0d6244", "name": "Stray `console.log` in TS/JS \u2014 Observability/Tools/ManageServer.ts:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Observability/Tools/ManageServer.ts:73"}, "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-0e11fee2f2e4c357", "name": "Stray `console.log` in TS/JS \u2014 hooks/AgentOutputCapture.hook.ts:539", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hooks/AgentOutputCapture.hook.ts:539"}, "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-10dcf1dc7ac15d1e", "name": "Stray `console.log` in TS/JS \u2014 hooks/LoadContext.hook.ts:439", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hooks/LoadContext.hook.ts:439"}, "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-cd976e663585b155", "name": "Stray `console.log` in TS/JS \u2014 hooks/SessionResumeLookup.hook.ts:193", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hooks/SessionResumeLookup.hook.ts:193"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dfbf2d18360a6c29", "name": "Stray `console.log` in TS/JS \u2014 hooks/StartupGreeting.hook.ts:84", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hooks/StartupGreeting.hook.ts:84"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-094d8cfb80e9ff14", "name": "Stray `console.log` in TS/JS \u2014 hooks/StopOrchestrator.hook.ts:153", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hooks/StopOrchestrator.hook.ts:153"}, "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-5807f17d9900d252", "name": "Stray `console.log` in TS/JS \u2014 hooks/SessionRecall.hook.ts:788", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hooks/SessionRecall.hook.ts:788"}, "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-4da9402822c28c59", "name": "Stray `console.log` in TS/JS \u2014 hooks/FormatReminder.hook.ts:245", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hooks/FormatReminder.hook.ts:245"}, "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-1b69cf8c4fc2315d", "name": "Stray `console.log` in TS/JS \u2014 hooks/SecurityValidator.hook.ts:377", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hooks/SecurityValidator.hook.ts:377"}, "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-c866d864dcce1e3c", "name": "Stray `console.log` in TS/JS \u2014 hooks/handlers/ResponseCapture.ts:311", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hooks/handlers/ResponseCapture.ts:311"}, "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-8ec1220ff67aef54", "name": "Stray `console.log` in TS/JS \u2014 skills/Browser/examples/screenshot.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/examples/screenshot.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a135b12448d22fd", "name": "Stray `console.log` in TS/JS \u2014 skills/Browser/examples/verify-page.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/examples/verify-page.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0f8c196727939c98", "name": "Stray `console.log` in TS/JS \u2014 skills/Browser/examples/comprehensive-test.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/examples/comprehensive-test.ts:25"}, "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-72d448a4d12b82ad", "name": "Stray `console.log` in TS/JS \u2014 skills/Browser/Tools/BrowserSession.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/Tools/BrowserSession.ts:68"}, "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-e9a7ebedbec8c52e", "name": "Stray `console.log` in TS/JS \u2014 skills/Browser/Tools/Browse.ts:328", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/Tools/Browse.ts:328"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7bcd54d2627fd086", "name": "`truncate` class without `title=` for hover reveal \u2014 skills/Telos/DashboardTemplate/Components/sidebar.tsx:142", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 skills/Telos/DashboardTemplate/Components/sidebar.tsx:142"}, "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-ddb5c475b841b6cc", "name": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/Lib/data.ts:18", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/Lib/data.ts:18"}, "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-6c69a0a35fd19c12", "name": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/page.tsx:5", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/page.tsx:5"}, "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-2c6950852b5741f8", "name": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/vulnerabilities/page.tsx:7", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/vulnerabilities/page.tsx:7"}, "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-5cebce4101204700", "name": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/teams/page.tsx:6", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/teams/page.tsx:6"}, "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-fdda2ceeddbe6505", "name": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/progress/page.tsx:6", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/progress/page.tsx:6"}, "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-8abd8652edd11f6a", "name": "Stray `console.log` in TS/JS \u2014 skills/Telos/Tools/UpdateTelos.ts:119", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Telos/Tools/UpdateTelos.ts:119"}, "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-a26e7b68fd633531", "name": "Stray `console.log` in TS/JS \u2014 skills/_PORTALVERIFY/Tools/VerifyPortal.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_PORTALVERIFY/Tools/VerifyPortal.ts:46"}, "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-080bfb395988b6da", "name": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/SuiteManager.ts:270", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/SuiteManager.ts:270"}, "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-7c16b02d4dbd8770", "name": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/FailureToTask.ts:213", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/FailureToTask.ts:213"}, "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-0443becb3b4c7481", "name": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/TrialRunner.ts:254", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/TrialRunner.ts:254"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-66e4142516d4488a", "name": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/TranscriptCapture.ts:211", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/TranscriptCapture.ts:211"}, "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-23b70acfea00d5e9", "name": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/AlgorithmBridge.ts:84", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/AlgorithmBridge.ts:84"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc095bdaebbf1f06", "name": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Config/ConvertChecklists.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Config/ConvertChecklists.ts:76"}, "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-36778313fc85d85c", "name": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/Overdue.ts:201", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/Overdue.ts:201"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ea255ff2d7645dd", "name": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/ConvertChecklists.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/ConvertChecklists.ts:76"}, "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-cd41b8709fc0af5b", "name": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/Closure.ts:254", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/Closure.ts:254"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee7d1ce2488e726c", "name": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/Recon.ts:273", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/Recon.ts:273"}, "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-d9c9ba63cc5b877e", "name": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/WeeklyReport.ts:136", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/WeeklyReport.ts:136"}, "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-b7a30dd08d36c413", "name": "Stray `console.log` in TS/JS \u2014 skills/Agents/Tools/LoadAgentContext.ts:101", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Agents/Tools/LoadAgentContext.ts:101"}, "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-fad164984c8c27e2", "name": "Stray `console.log` in TS/JS \u2014 skills/Agents/Tools/ComposeAgent.ts:442", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Agents/Tools/ComposeAgent.ts:442"}, "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-d48442c46b476d6e", "name": "Stray `console.log` in TS/JS \u2014 skills/Agents/Tools/SpawnAgentWithProfile.ts:62", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Agents/Tools/SpawnAgentWithProfile.ts:62"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3193d4a6054f4540", "name": "Stray `console.log` in TS/JS \u2014 skills/_CLICKAUDIT/Tools/AuditClicks.ts:152", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_CLICKAUDIT/Tools/AuditClicks.ts:152"}, "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-79eb2efbf3f20d00", "name": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/update.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/update.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24138ee6a5a35de8", "name": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/show.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/show.ts:37"}, "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-1660b76d4f167fc0", "name": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/recon.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/recon.ts:37"}, "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-d2776505d47e5794", "name": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/tracker.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/tracker.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a204f525ecdc57a", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/WhoisParser.ts:404", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/WhoisParser.ts:404"}, "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-10080e496c8f0d85", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/IpinfoClient.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/IpinfoClient.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-52eda6f9a11b772c", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/BountyPrograms.ts:255", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/BountyPrograms.ts:255"}, "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-a3c08f8d56efd299", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/PathDiscovery.ts:330", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/PathDiscovery.ts:330"}, "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-4c63c8c8b2929bbe", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/EndpointDiscovery.ts:433", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/EndpointDiscovery.ts:433"}, "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-85fbc088465095b2", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/SubdomainEnum.ts:106", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/SubdomainEnum.ts:106"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35fbaf2a056c96e8", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/CidrUtils.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/CidrUtils.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c42967fd844e4b49", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/CorporateStructure.ts:468", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/CorporateStructure.ts:468"}, "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-39f52298785b775f", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/MassScan.ts:284", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/MassScan.ts:284"}, "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-63f9289d93a5f7d6", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/PortScan.ts:264", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/PortScan.ts:264"}, "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-0cf9a4f926e07d01", "name": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/DnsUtils.ts:458", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/DnsUtils.ts:458"}, "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-1230ee58c232c565", "name": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Templates/Tools/ValidateTemplate.ts:252", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Templates/Tools/ValidateTemplate.ts:252"}, "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-d5eed6c23645c877", "name": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Templates/Tools/index.ts:1", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Templates/Tools/index.ts: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-2e1d600ba72955d4", "name": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Templates/Tools/RenderTemplate.ts:209", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Templates/Tools/RenderTemplate.ts:209"}, "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-46535e2e0a9e4a50", "name": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Tools/ValidateTemplate.ts:252", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Tools/ValidateTemplate.ts:252"}, "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-4798d9479c0ec8da", "name": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Tools/index.ts:1", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Tools/index.ts: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-d15c0d39b288a6c2", "name": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Tools/RenderTemplate.ts:209", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Tools/RenderTemplate.ts:209"}, "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-360f928e08ae6e85", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PipelineOrchestrator.ts:138", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PipelineOrchestrator.ts:138"}, "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-feb94822a11b8939", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/LearningPatternSynthesis.ts:312", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/LearningPatternSynthesis.ts:312"}, "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-c79ea080fb2c265b", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/ExtractTranscript.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/ExtractTranscript.ts:53"}, "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-088b37b470c7279b", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/FailureCapture.ts:525", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/FailureCapture.ts:525"}, "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-8a7164cc368d51c9", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/RelationshipReflect.ts:411", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/RelationshipReflect.ts:411"}, "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-1d787e8fc460e7ee", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/TranscriptParser.ts:322", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/TranscriptParser.ts:322"}, "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-c1cbc03267496ac6", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/AddBg.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/AddBg.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04dabea92527ae23", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/pai.ts:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/pai.ts:75"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7f0bbf2481ad836", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/GetTranscript.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/GetTranscript.ts:46"}, "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-32bf51dac6ae6faf", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/Banner.ts:863", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/Banner.ts:863"}, "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-05f897b5d79cdd91", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerMatrix.ts:681", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerMatrix.ts:681"}, "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-26505daf4bbb3aee", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PreviewMarkdown.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PreviewMarkdown.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0cc87627017d1798", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/Inference.ts:236", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/Inference.ts:236"}, "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-3c6ced823ebc73f2", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/FeatureRegistry.ts:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/FeatureRegistry.ts:104"}, "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-261f0f933e6c8fa0", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerTokyo.ts:148", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerTokyo.ts:148"}, "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-8148a67bf6befcd4", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SessionHarvester.ts:321", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SessionHarvester.ts:321"}, "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-4e0e2e01149085c2", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/CreateDynamicCore.ts:132", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/CreateDynamicCore.ts:132"}, "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-cdc4e8be597fd8cb", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/GetCounts.ts:187", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/GetCounts.ts:187"}, "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-f4efc233f4fd09ad", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SessionProgress.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SessionProgress.ts:69"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c466d73c5cf674ce", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/OpinionTracker.ts:255", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/OpinionTracker.ts:255"}, "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-9992cbd64405933a", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/YouTubeApi.ts:101", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/YouTubeApi.ts:101"}, "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-4c2ea91092fc5d5d", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/LoadSkillConfig.ts:244", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/LoadSkillConfig.ts:244"}, "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-491ea367106ee1b7", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PAILogo.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PAILogo.ts:37"}, "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-f50e5c042742e46c", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerNeofetch.ts:579", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerNeofetch.ts:579"}, "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-b81e32da83eb19f6", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SessionLookup.ts:100", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SessionLookup.ts:100"}, "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-a4a3e780b4dd680e", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/RemoveBg.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/RemoveBg.ts:56"}, "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-7cb1fefa6afc83e7", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/ActivityParser.ts:665", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/ActivityParser.ts:665"}, "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-821e118a3609b14b", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/NeofetchBanner.ts:711", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/NeofetchBanner.ts:711"}, "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-85e8845cac2436a7", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerPrototypes.ts:141", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerPrototypes.ts:141"}, "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-209962b3cdbeaf4b", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/RecallSession.ts:606", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/RecallSession.ts:606"}, "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-30b6cc16ba0c9692", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SkillSearch.ts:125", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SkillSearch.ts:125"}, "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-47847e6c68cf65e2", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SplitAndTranscribe.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SplitAndTranscribe.ts:37"}, "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-133b7b62f530b510", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SecretScan.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SecretScan.ts:57"}, "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-f49d2328793161b2", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/GenerateSkillIndex.ts:190", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/GenerateSkillIndex.ts:190"}, "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-c48f53c1c5686952", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerRetro.ts:716", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerRetro.ts:716"}, "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-7cd10644bcda4e64", "name": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PipelineMonitor.ts:588", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PipelineMonitor.ts:588"}, "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-a9ba3b46f78848ce", "name": "Stray `console.log` in TS/JS \u2014 skills/_CNKB/Tools/PatchMinecraftFraming.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_CNKB/Tools/PatchMinecraftFraming.ts:71"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f69a831c1e87958", "name": "Stray `console.log` in TS/JS \u2014 skills/_CNKB/Tools/SyncPrompt.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_CNKB/Tools/SyncPrompt.ts:66"}, "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-a090fe9e4ecf929a", "name": "Stray `console.log` in TS/JS \u2014 skills/_CNKB/Tools/SweepRecoveryRules.ts:207", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_CNKB/Tools/SweepRecoveryRules.ts:207"}, "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-8109a1826f3b4099", "name": "Stray `console.log` in TS/JS \u2014 skills/_OFFBOARDCENTRE/Tools/Offboard.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_OFFBOARDCENTRE/Tools/Offboard.ts:79"}, "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-582c8f9820e182a8", "name": "Stray `console.log` in TS/JS \u2014 skills/VoiceServer/Tools/VoiceServerManager.ts:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/VoiceServer/Tools/VoiceServerManager.ts:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-51e74b21d0822d7d", "name": "Stray `console.log` in TS/JS \u2014 skills/AnnualReports/Tools/ListSources.ts:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/AnnualReports/Tools/ListSources.ts:48"}, "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-419fb28edbe79ee2", "name": "Stray `console.log` in TS/JS \u2014 skills/AnnualReports/Tools/FetchReport.ts:78", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/AnnualReports/Tools/FetchReport.ts:78"}, "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-b22308f33ef6050e", "name": "Stray `console.log` in TS/JS \u2014 skills/AnnualReports/Tools/UpdateSources.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/AnnualReports/Tools/UpdateSources.ts:36"}, "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-069b2cb5f33ad6cb", "name": "Stray `console.log` in TS/JS \u2014 skills/PAIUpgrade/Tools/Anthropic.ts:683", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAIUpgrade/Tools/Anthropic.ts:683"}, "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-0a20a60abcc4d850", "name": "Stray `console.log` in TS/JS \u2014 skills/_TESTCASES/Tools/TestCaseManager.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_TESTCASES/Tools/TestCaseManager.ts:53"}, "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-047b44068f887b11", "name": "Stray `console.log` in TS/JS \u2014 skills/SecurityAudit/Tools/MoltbotSecurityCheck.ts:322", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/SecurityAudit/Tools/MoltbotSecurityCheck.ts:322"}, "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-0e8b4da597c2d4b4", "name": "Stray `console.log` in TS/JS \u2014 skills/_SOWCONTRACTS/Tools/SOWGenerator.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_SOWCONTRACTS/Tools/SOWGenerator.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b24284d4bf1335b", "name": "Stray `console.log` in TS/JS \u2014 skills/Art/Lib/discord-bot.ts:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Lib/discord-bot.ts:74"}, "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-146b18a7e1079f09", "name": "Stray `console.log` in TS/JS \u2014 skills/Art/Lib/midjourney-client.ts:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Lib/midjourney-client.ts:97"}, "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-cf634ffeb5dc7803", "name": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/Generate.ts:132", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/Generate.ts:132"}, "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-4111175f8665b526", "name": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/ComposeThumbnail.ts:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/ComposeThumbnail.ts:104"}, "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-274df8ec85484b0f", "name": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/GenerateMidjourneyImage.ts:130", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/GenerateMidjourneyImage.ts:130"}, "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-78b43042d6dd6c52", "name": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/GeneratePrompt.ts:448", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/GeneratePrompt.ts:448"}, "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-9571a801044a702b", "name": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/web/web-scraper.ts:192", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/web/web-scraper.ts:192"}, "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-f0fcb6b5c2a6f0ff", "name": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/ecommerce/amazon.ts:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/ecommerce/amazon.ts:104"}, "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-9f714777fec11786", "name": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/social-media/linkedin.ts:143", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/social-media/linkedin.ts:143"}, "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-006d4967247ff949", "name": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/social-media/twitter.ts:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/social-media/twitter.ts:107"}, "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-0c16559fa480b833", "name": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/social-media/instagram.ts:116", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/social-media/instagram.ts:116"}, "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-7a81d3132d523ae4", "name": "Stray `console.log` in TS/JS \u2014 skills/Apify/examples/smoke-test.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/examples/smoke-test.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-427ff96f0b673a60", "name": "Stray `console.log` in TS/JS \u2014 skills/Apify/examples/comparison-test.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/examples/comparison-test.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ba316dd97e981a9", "name": "Stray `console.log` in TS/JS \u2014 skills/Apify/examples/instagram-scraper.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/examples/instagram-scraper.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ac01ef244480883", "name": "Stray `console.log` in TS/JS \u2014 skills/Apify/skills/get-user-tweets.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/skills/get-user-tweets.ts:19"}, "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-76cfcc4bec8831ef", "name": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/PricingCalculator.ts:238", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/PricingCalculator.ts:238"}, "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-003d5c4563077414", "name": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/FeedbackTracker.ts:158", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/FeedbackTracker.ts:158"}, "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-0819aaf9d5962301", "name": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/PromptBuilder.ts:436", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/PromptBuilder.ts:436"}, "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-a8ddf18d805c1839", "name": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/AgentAudit.ts:160", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/AgentAudit.ts:160"}, "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-38539e966bbc57e4", "name": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/ClientTracker.ts:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/ClientTracker.ts:99"}, "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-77b177c590049046", "name": "Stray `console.log` in TS/JS \u2014 skills/Documents/Pptx/Scripts/html2pptx.js:921", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/Documents/Pptx/Scripts/html2pptx.js:921"}, "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-a126a13ec1ce4cfe", "name": "Stray `console.log` in TS/JS \u2014 Tools/PipelineOrchestrator.ts:138", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/PipelineOrchestrator.ts:138"}, "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-83d8f4741a99b1c9", "name": "Stray `console.log` in TS/JS \u2014 Tools/LearningPatternSynthesis.ts:312", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/LearningPatternSynthesis.ts:312"}, "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-a5bba1134e9543bc", "name": "Stray `console.log` in TS/JS \u2014 Tools/ExtractTranscript.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/ExtractTranscript.ts:53"}, "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-f9a2df2eb6b26bfd", "name": "Stray `console.log` in TS/JS \u2014 Tools/FailureCapture.ts:525", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/FailureCapture.ts:525"}, "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-2c04b653970e0a75", "name": "Stray `console.log` in TS/JS \u2014 Tools/RelationshipReflect.ts:411", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/RelationshipReflect.ts:411"}, "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-dca441841eba0345", "name": "Stray `console.log` in TS/JS \u2014 Tools/TranscriptParser.ts:322", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/TranscriptParser.ts:322"}, "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-5547bd5825b13f73", "name": "Stray `console.log` in TS/JS \u2014 Tools/AddBg.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/AddBg.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c77c78cb1ab7d1e", "name": "Stray `console.log` in TS/JS \u2014 Tools/pai.ts:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/pai.ts:75"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3dbb86e9f11d42e9", "name": "Stray `console.log` in TS/JS \u2014 Tools/GetTranscript.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/GetTranscript.ts:46"}, "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-81c84a8701a68ddb", "name": "Stray `console.log` in TS/JS \u2014 Tools/Banner.ts:863", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/Banner.ts:863"}, "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-d1cce4d48ecc69d6", "name": "Stray `console.log` in TS/JS \u2014 Tools/BannerMatrix.ts:681", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerMatrix.ts:681"}, "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-3ced43dafa10554b", "name": "Stray `console.log` in TS/JS \u2014 Tools/PreviewMarkdown.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/PreviewMarkdown.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f318606fb6e0488d", "name": "Stray `console.log` in TS/JS \u2014 Tools/Inference.ts:236", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/Inference.ts:236"}, "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-97d9e1332688e45e", "name": "Stray `console.log` in TS/JS \u2014 Tools/FeatureRegistry.ts:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/FeatureRegistry.ts:104"}, "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-54c69a24c69e3bb2", "name": "Stray `console.log` in TS/JS \u2014 Tools/BannerTokyo.ts:148", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerTokyo.ts:148"}, "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-830e98831285168e", "name": "Stray `console.log` in TS/JS \u2014 Tools/SessionHarvester.ts:321", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SessionHarvester.ts:321"}, "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-dc5052bca8e6542f", "name": "Stray `console.log` in TS/JS \u2014 Tools/CreateDynamicCore.ts:132", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/CreateDynamicCore.ts:132"}, "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-e506bf1b669cb178", "name": "Stray `console.log` in TS/JS \u2014 Tools/GetCounts.ts:187", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/GetCounts.ts:187"}, "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-d29cd918d98da814", "name": "Stray `console.log` in TS/JS \u2014 Tools/SessionProgress.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SessionProgress.ts:69"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27364d9954db76bf", "name": "Stray `console.log` in TS/JS \u2014 Tools/OpinionTracker.ts:255", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/OpinionTracker.ts:255"}, "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-42a3e6e866742a86", "name": "Stray `console.log` in TS/JS \u2014 Tools/YouTubeApi.ts:101", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/YouTubeApi.ts:101"}, "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-829b369027258356", "name": "Stray `console.log` in TS/JS \u2014 Tools/LoadSkillConfig.ts:244", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/LoadSkillConfig.ts:244"}, "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-71fd6110aef2ad7d", "name": "Stray `console.log` in TS/JS \u2014 Tools/PAILogo.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/PAILogo.ts:37"}, "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-38c666866f91cbec", "name": "Stray `console.log` in TS/JS \u2014 Tools/BannerNeofetch.ts:579", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerNeofetch.ts:579"}, "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-1453d17e692cce21", "name": "Stray `console.log` in TS/JS \u2014 Tools/SessionLookup.ts:100", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SessionLookup.ts:100"}, "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-b856e890fb30b81a", "name": "Stray `console.log` in TS/JS \u2014 Tools/RemoveBg.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/RemoveBg.ts:56"}, "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-0c0725df5afecf27", "name": "Stray `console.log` in TS/JS \u2014 Tools/ActivityParser.ts:665", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/ActivityParser.ts:665"}, "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-b4abc043efbed422", "name": "Stray `console.log` in TS/JS \u2014 Tools/NeofetchBanner.ts:711", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/NeofetchBanner.ts:711"}, "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-2d449374b5427dc6", "name": "Stray `console.log` in TS/JS \u2014 Tools/BannerPrototypes.ts:141", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerPrototypes.ts:141"}, "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-0335dbdcd653955b", "name": "Stray `console.log` in TS/JS \u2014 Tools/RecallSession.ts:606", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/RecallSession.ts:606"}, "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-6b00c0e4a6f70c5e", "name": "Stray `console.log` in TS/JS \u2014 Tools/SkillSearch.ts:125", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SkillSearch.ts:125"}, "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-15b175b27bcdd88c", "name": "Stray `console.log` in TS/JS \u2014 Tools/SplitAndTranscribe.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SplitAndTranscribe.ts:37"}, "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-578235de626ec77f", "name": "Stray `console.log` in TS/JS \u2014 Tools/SecretScan.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SecretScan.ts:57"}, "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-f43cf5719162fb57", "name": "Stray `console.log` in TS/JS \u2014 Tools/GenerateSkillIndex.ts:190", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/GenerateSkillIndex.ts:190"}, "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-2f8a3ba6384da64c", "name": "Stray `console.log` in TS/JS \u2014 Tools/BannerRetro.ts:716", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerRetro.ts:716"}, "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-53a9d705e94f475e", "name": "Stray `console.log` in TS/JS \u2014 Tools/PipelineMonitor.ts:588", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 Tools/PipelineMonitor.ts:588"}, "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-6fbf9d107595d8e9", "name": "Privileged port 21 in use", "shortDescription": {"text": "Privileged port 21 in use"}, "fullDescription": {"text": "Port 21 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-0e1117977e589d30", "name": "Privileged port 50 in use", "shortDescription": {"text": "Privileged port 50 in use"}, "fullDescription": {"text": "Port 50 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-0ac67576a2b65ed8", "name": "Privileged port 39 in use", "shortDescription": {"text": "Privileged port 39 in use"}, "fullDescription": {"text": "Port 39 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-ae3e4eced6ccc901", "name": "Privileged port 28 in use", "shortDescription": {"text": "Privileged port 28 in use"}, "fullDescription": {"text": "Port 28 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-8c6e10a0ba087b8d", "name": "Privileged port 16 in use", "shortDescription": {"text": "Privileged port 16 in use"}, "fullDescription": {"text": "Port 16 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-6a8914b3b1d040a6", "name": "Privileged port 41 in use", "shortDescription": {"text": "Privileged port 41 in use"}, "fullDescription": {"text": "Port 41 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-44a4063ff0cf5cc7", "name": "Privileged port 23 in use", "shortDescription": {"text": "Privileged port 23 in use"}, "fullDescription": {"text": "Port 23 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-9e0f6d077d389ab5", "name": "Privileged port 45 in use", "shortDescription": {"text": "Privileged port 45 in use"}, "fullDescription": {"text": "Port 45 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-55ba09bcef972dba", "name": "Privileged port 54 in use", "shortDescription": {"text": "Privileged port 54 in use"}, "fullDescription": {"text": "Port 54 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-a07a6261a6d57df6", "name": "Privileged port 57 in use", "shortDescription": {"text": "Privileged port 57 in use"}, "fullDescription": {"text": "Port 57 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-8cd65d3d6bf9934b", "name": "Privileged port 24 in use", "shortDescription": {"text": "Privileged port 24 in use"}, "fullDescription": {"text": "Port 24 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-99a969878f908a4e", "name": "Privileged port 15 in use", "shortDescription": {"text": "Privileged port 15 in use"}, "fullDescription": {"text": "Port 15 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-b343d746417a2870", "name": "Privileged port 37 in use", "shortDescription": {"text": "Privileged port 37 in use"}, "fullDescription": {"text": "Port 37 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-f43b578309d6d7eb", "name": "Privileged port 30 in use", "shortDescription": {"text": "Privileged port 30 in use"}, "fullDescription": {"text": "Port 30 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-2cb36c50a0c09c5c", "name": "Privileged port 19 in use", "shortDescription": {"text": "Privileged port 19 in use"}, "fullDescription": {"text": "Port 19 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-6225e64efb681ce6", "name": "Privileged port 29 in use", "shortDescription": {"text": "Privileged port 29 in use"}, "fullDescription": {"text": "Port 29 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-9056c3bb0dd39fd9", "name": "Privileged port 17 in use", "shortDescription": {"text": "Privileged port 17 in use"}, "fullDescription": {"text": "Port 17 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-e402ee31d3a7f2ff", "name": "Privileged port 48 in use", "shortDescription": {"text": "Privileged port 48 in use"}, "fullDescription": {"text": "Port 48 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-b703a9e17ffb0e4b", "name": "Privileged port 18 in use", "shortDescription": {"text": "Privileged port 18 in use"}, "fullDescription": {"text": "Port 18 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-35a6e57d504119a0", "name": "Privileged port 14 in use", "shortDescription": {"text": "Privileged port 14 in use"}, "fullDescription": {"text": "Port 14 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-101ac879264b9fea", "name": "Privileged port 55 in use", "shortDescription": {"text": "Privileged port 55 in use"}, "fullDescription": {"text": "Port 55 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-73303064c3e19ada", "name": "Privileged port 34 in use", "shortDescription": {"text": "Privileged port 34 in use"}, "fullDescription": {"text": "Port 34 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-753ca8dd6db359f0", "name": "Privileged port 36 in use", "shortDescription": {"text": "Privileged port 36 in use"}, "fullDescription": {"text": "Port 36 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-1c7b7cbb0812f5a2", "name": "Privileged port 11 in use", "shortDescription": {"text": "Privileged port 11 in use"}, "fullDescription": {"text": "Port 11 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-2da9944d1927022b", "name": "Privileged port 13 in use", "shortDescription": {"text": "Privileged port 13 in use"}, "fullDescription": {"text": "Port 13 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-36742105511be709", "name": "Privileged port 46 in use", "shortDescription": {"text": "Privileged port 46 in use"}, "fullDescription": {"text": "Port 46 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-1f2682a1bd30fed4", "name": "Privileged port 40 in use", "shortDescription": {"text": "Privileged port 40 in use"}, "fullDescription": {"text": "Port 40 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-c2c95b84ac8ff0fd", "name": "Privileged port 42 in use", "shortDescription": {"text": "Privileged port 42 in use"}, "fullDescription": {"text": "Port 42 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-e08c9b1c120993b6", "name": "Privileged port 56 in use", "shortDescription": {"text": "Privileged port 56 in use"}, "fullDescription": {"text": "Port 56 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-83ba336926ccd573", "name": "Privileged port 51 in use", "shortDescription": {"text": "Privileged port 51 in use"}, "fullDescription": {"text": "Port 51 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-7ffb9d6bb43e4197", "name": "Privileged port 59 in use", "shortDescription": {"text": "Privileged port 59 in use"}, "fullDescription": {"text": "Port 59 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-8442ed23606d783a", "name": "Privileged port 32 in use", "shortDescription": {"text": "Privileged port 32 in use"}, "fullDescription": {"text": "Port 32 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-25372c18c1d402d5", "name": "Privileged port 27 in use", "shortDescription": {"text": "Privileged port 27 in use"}, "fullDescription": {"text": "Port 27 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-f91efcba9dac31ac", "name": "Privileged port 31 in use", "shortDescription": {"text": "Privileged port 31 in use"}, "fullDescription": {"text": "Port 31 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-d6af906098f61fe6", "name": "Privileged port 20 in use", "shortDescription": {"text": "Privileged port 20 in use"}, "fullDescription": {"text": "Port 20 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-ec4a48f84f535515", "name": "Privileged port 35 in use", "shortDescription": {"text": "Privileged port 35 in use"}, "fullDescription": {"text": "Port 35 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-ddbfad2b81e8ca4a", "name": "Privileged port 26 in use", "shortDescription": {"text": "Privileged port 26 in use"}, "fullDescription": {"text": "Port 26 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-8516238c9d25ed5b", "name": "Privileged port 43 in use", "shortDescription": {"text": "Privileged port 43 in use"}, "fullDescription": {"text": "Port 43 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-70ef718c86a3846c", "name": "Privileged port 38 in use", "shortDescription": {"text": "Privileged port 38 in use"}, "fullDescription": {"text": "Port 38 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-ddc52feca01a9fa7", "name": "Privileged port 44 in use", "shortDescription": {"text": "Privileged port 44 in use"}, "fullDescription": {"text": "Port 44 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-19f3915e1dce4ac8", "name": "Privileged port 58 in use", "shortDescription": {"text": "Privileged port 58 in use"}, "fullDescription": {"text": "Port 58 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-51a6de6c4143ade6", "name": "Privileged port 12 in use", "shortDescription": {"text": "Privileged port 12 in use"}, "fullDescription": {"text": "Port 12 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-fe04a495ea94b68f", "name": "Privileged port 52 in use", "shortDescription": {"text": "Privileged port 52 in use"}, "fullDescription": {"text": "Port 52 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-cf7cc46ee411234e", "name": "Privileged port 49 in use", "shortDescription": {"text": "Privileged port 49 in use"}, "fullDescription": {"text": "Port 49 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-fc7617a1ff048f4f", "name": "Privileged port 47 in use", "shortDescription": {"text": "Privileged port 47 in use"}, "fullDescription": {"text": "Port 47 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-887248f85bbc792a", "name": "Privileged port 10 in use", "shortDescription": {"text": "Privileged port 10 in use"}, "fullDescription": {"text": "Port 10 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-66b45b51ac3653ab", "name": "Privileged port 33 in use", "shortDescription": {"text": "Privileged port 33 in use"}, "fullDescription": {"text": "Port 33 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-84f5b2c82b9b68b0", "name": "Insecure pattern 'node_child_process' in INSTALL.ts:18", "shortDescription": {"text": "Insecure pattern 'node_child_process' in INSTALL.ts:18"}, "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-bbcb2f5d198f625b", "name": "Insecure pattern 'node_child_process' in lib/migration/validator.ts:9", "shortDescription": {"text": "Insecure pattern 'node_child_process' in lib/migration/validator.ts:9"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-80cae7388cf9e38e", "name": "Insecure pattern 'cors_wildcard' in Observability/apps/server/src/index.ts:70", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in Observability/apps/server/src/index.ts:70"}, "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-7f21a1667f7e5f5b", "name": "Insecure pattern 'node_child_process' in hooks/LoadContext.hook.ts:43", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hooks/LoadContext.hook.ts:43"}, "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-f8d3c0c8bb2438db", "name": "Insecure pattern 'node_child_process' in hooks/StartupGreeting.hook.ts:50", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hooks/StartupGreeting.hook.ts:50"}, "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-021d9e6e2b8a4cb5", "name": "Insecure pattern 'node_child_process' in hooks/UpdateTabTitle.hook.ts:74", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hooks/UpdateTabTitle.hook.ts:74"}, "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-e61ef74c7465fb65", "name": "Insecure pattern 'node_child_process' in hooks/SoulEvolution.hook.ts:30", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hooks/SoulEvolution.hook.ts:30"}, "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-4035834d3cec2840", "name": "Insecure pattern 'node_child_process' in hooks/handlers/RebuildSkill.ts:24", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hooks/handlers/RebuildSkill.ts:24"}, "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-76df9f8e54a2b6ab", "name": "Insecure pattern 'node_child_process' in hooks/handlers/SystemIntegrity.ts:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hooks/handlers/SystemIntegrity.ts:20"}, "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-fa6debdb41309bdb", "name": "Insecure pattern 'cors_wildcard' in skills/Browser/Tools/BrowserSession.ts:108", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in skills/Browser/Tools/BrowserSession.ts:108"}, "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-323867a3f796f671", "name": "Insecure pattern 'local_storage_auth_token' in skills/_CLICKAUDIT/Tools/AuditClicks.ts:194", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in skills/_CLICKAUDIT/Tools/AuditClicks.ts:194"}, "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-219ea16b15069e5c", "name": "Insecure pattern 'subprocess_shell_true' in skills/WebAssessment/WebappScripts/with_server.py:71", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in skills/WebAssessment/WebappScripts/with_server.py:71"}, "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-fe4ad0677bcbaa67", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/RelationshipReflect.ts:30", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/RelationshipReflect.ts:30"}, "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-c07cbc46e21f3f8d", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/AddBg.ts:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/AddBg.ts:17"}, "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-33dc77b0baf97d0b", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/GetTranscript.ts:18", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/GetTranscript.ts:18"}, "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-826d275d5c3b669f", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/Banner.ts:13", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/Banner.ts:13"}, "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-20b41970efd9a70c", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/BannerMatrix.ts:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/BannerMatrix.ts:22"}, "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-d610beaef2e83910", "name": "Insecure pattern 'direct_innerhtml_assignment' in skills/PAI/Tools/PreviewMarkdown.ts:53", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/PAI/Tools/PreviewMarkdown.ts: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-4e298db31ef47a1a", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/Inference.ts:34", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/Inference.ts:34"}, "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-66c2099e93f93fd5", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/IntegrityMaintenance.ts:21", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/IntegrityMaintenance.ts:21"}, "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-9e8d5b1643de0cb0", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/BannerNeofetch.ts:15", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/BannerNeofetch.ts:15"}, "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-2a01e369d031206c", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/NeofetchBanner.ts:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/NeofetchBanner.ts:20"}, "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-a9a12864bd9f788f", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/RecallSession.ts:38", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/RecallSession.ts:38"}, "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-7992e000ab32bed7", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/SplitAndTranscribe.ts:9", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/SplitAndTranscribe.ts:9"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-065108f07b3d8541", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/SecretScan.ts:32", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/SecretScan.ts:32"}, "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-87a8f4bb51314089", "name": "Insecure pattern 'node_child_process' in skills/PAI/Tools/BannerRetro.ts:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/BannerRetro.ts:20"}, "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-0ff6940a6c62bff3", "name": "Insecure pattern 'direct_innerhtml_assignment' in skills/PAI/Tools/PipelineMonitor.ts:397", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/PAI/Tools/PipelineMonitor.ts:397"}, "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-63b6a6d762358ee0", "name": "Insecure pattern 'node_child_process' in skills/Art/Tools/Generate.ts:389", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/Art/Tools/Generate.ts:389"}, "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-6582cd7ab4c55dac", "name": "Insecure pattern 'node_child_process' in skills/Art/Tools/ComposeThumbnail.ts:16", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/Art/Tools/ComposeThumbnail.ts:16"}, "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-40ae1c2f02a1e2f6", "name": "Insecure pattern 'node_child_process' in Tools/RelationshipReflect.ts:30", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/RelationshipReflect.ts:30"}, "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-0b67289bd9669c5a", "name": "Insecure pattern 'node_child_process' in Tools/AddBg.ts:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/AddBg.ts:17"}, "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-ce00241a2ef685c4", "name": "Insecure pattern 'node_child_process' in Tools/GetTranscript.ts:18", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/GetTranscript.ts:18"}, "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-6283b27c0be7eabf", "name": "Insecure pattern 'node_child_process' in Tools/Banner.ts:13", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/Banner.ts:13"}, "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-101f26ccde432651", "name": "Insecure pattern 'node_child_process' in Tools/BannerMatrix.ts:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/BannerMatrix.ts:22"}, "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-58da9a581ab9783b", "name": "Insecure pattern 'direct_innerhtml_assignment' in Tools/PreviewMarkdown.ts:53", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in Tools/PreviewMarkdown.ts: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-b008e9f467496dfe", "name": "Insecure pattern 'node_child_process' in Tools/Inference.ts:34", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/Inference.ts:34"}, "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-5a093acb571d0a34", "name": "Insecure pattern 'node_child_process' in Tools/IntegrityMaintenance.ts:21", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/IntegrityMaintenance.ts:21"}, "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-66a5ce0a20fd7679", "name": "Insecure pattern 'node_child_process' in Tools/BannerNeofetch.ts:15", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/BannerNeofetch.ts:15"}, "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-bf46abc520b0c4a0", "name": "Insecure pattern 'node_child_process' in Tools/NeofetchBanner.ts:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/NeofetchBanner.ts:20"}, "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-b9f35f1cd100014d", "name": "Insecure pattern 'node_child_process' in Tools/RecallSession.ts:38", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/RecallSession.ts:38"}, "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-f668fff4128b8255", "name": "Insecure pattern 'node_child_process' in Tools/SplitAndTranscribe.ts:9", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/SplitAndTranscribe.ts:9"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cad162b0b64b04e8", "name": "Insecure pattern 'node_child_process' in Tools/SecretScan.ts:32", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/SecretScan.ts:32"}, "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-716b4e244371bad2", "name": "Insecure pattern 'node_child_process' in Tools/BannerRetro.ts:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in Tools/BannerRetro.ts:20"}, "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-f74c0d77e9529be3", "name": "Insecure pattern 'direct_innerhtml_assignment' in Tools/PipelineMonitor.ts:397", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in Tools/PipelineMonitor.ts:397"}, "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-acbb6d8996305e40", "name": "Possible secret in MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-cal", "shortDescription": {"text": "Possible secret in MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-calls.json"}, "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-895fed6f17b66d86", "name": "Insecure pattern 'local_storage_auth_token' in MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-w", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-calls.json:783"}, "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-7d209dc50aca3c8d", "name": "Insecure pattern 'cors_wildcard' in MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-calls.json:863"}, "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-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f7e8729c767dd1a5", "name": "Very large file: statusline-command.sh (1065 lines)", "shortDescription": {"text": "Very large file: statusline-command.sh (1065 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-54e93ca1e09690be", "name": "Very large file: skills/Documents/Docx/Scripts/document.py (1276 lines)", "shortDescription": {"text": "Very large file: skills/Documents/Docx/Scripts/document.py (1276 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "8 test file(s) for 344 source file(s) (ratio 0.02). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-097f397fee304667", "name": "65 TODO/FIXME markers", "shortDescription": {"text": "65 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-5b1f57b23287de81", "name": "Node manifest has dependencies but no lockfile: skills/Telos/ReportTemplate/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: skills/Telos/ReportTemplate/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 2525 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 62 placeholder/mock markers across 23 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: ci, lockfile. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing ci, 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-e355d3eb018835a3", "name": "Agent authority lacks a verifier contract: skills/_KBCRAWLER/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/_KBCRAWLER/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-9638dc18c8d46f85", "name": "Agent authority lacks a verifier contract: skills/ClickUpAudit/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/ClickUpAudit/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-0b26bc16850b4c08", "name": "Agent authority lacks a verifier contract: skills/SECUpdates/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/SECUpdates/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-6aaf39426865235e", "name": "Agent authority lacks a verifier contract: skills/Agents/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/Agents/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-70afc107cafffbc3", "name": "Agent authority lacks a verifier contract: skills/Recon/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/Recon/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-30c74046e06d347e", "name": "Agent authority lacks a verifier contract: skills/_OFFBOARDCENTRE/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/_OFFBOARDCENTRE/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-a79159b6b66c47c2", "name": "Agent authority lacks a verifier contract: skills/VoiceServer/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/VoiceServer/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-7179361c4705d033", "name": "Agent authority lacks a verifier contract: skills/Council/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/Council/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-33139774c11ddc07", "name": "Agent authority lacks a verifier contract: skills/AnnualReports/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/AnnualReports/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-7db06e49e871a38b", "name": "Agent authority lacks a verifier contract: skills/Fabric/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/Fabric/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-d8799ed4258a4278", "name": "Agent authority lacks a verifier contract: skills/BeCreative/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/BeCreative/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-bff98d637b7e753d", "name": "Agent authority lacks a verifier contract: skills/CreateSkill/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/CreateSkill/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-b86231fefdbd9c24", "name": "Agent authority lacks a verifier contract: skills/SecurityAudit/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/SecurityAudit/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-ce45556fdb33f6c6", "name": "Agent authority lacks a verifier contract: skills/_SOWCONTRACTS/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/_SOWCONTRACTS/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-c8962396c7ff7385", "name": "Agent authority lacks a verifier contract: skills/Art/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/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-2a677d845c7b4dfc", "name": "Agent instruction/config may expose a secret: skills/Apify/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/Apify/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-4e8db5741eff13a3", "name": "Agent authority lacks a verifier contract: skills/BrightData/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/BrightData/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-d460bb0384aa3533", "name": "Agent instruction contains unpinned remote install: skills/Documents/Pptx/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/Documents/Pptx/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-16c897e300b02cb9", "name": "Agent instruction contains unpinned remote install: skills/Documents/Docx/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/Documents/Docx/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-d70a588de63848f7", "name": "Agent authority lacks a verifier contract: skills/Issues/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/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-b11daa319dd336ff", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Observability/apps/client/src/utils/haiku.ts:71", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Observability/apps/client/src/utils/haiku.ts:71"}, "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-fd44fade01fef367", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Observability/apps/server/src/index.ts:65", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Observability/apps/server/src/index.ts:65"}, "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-46301034b4c8d5e6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/StartupGreeting.hook.ts:95", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/StartupGreeting.hook.ts:95"}, "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-44922e1c4540cda8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/lib/notifications.ts:234", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/lib/notifications.ts:234"}, "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-24cdb96960e63a02", "name": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/handlers/SystemIntegrity.ts:65", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/handlers/SystemIntegrity.ts:65"}, "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-cdea24d7588d11ea", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Browser/Tools/BrowserSession.ts:145", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Browser/Tools/BrowserSession.ts:145"}, "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-fa0df247c8aabdfd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Browser/Tools/Browse.ts:234", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Browser/Tools/Browse.ts:234"}, "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-4d96ef3a4cac6b5d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Telos/DashboardTemplate/Components/sidebar.tsx:30", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Telos/DashboardTemplate/Components/sidebar.tsx:30"}, "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-2cb52bec3333cf1b", "name": "Commented-code block (6 lines) in skills/Telos/DashboardTemplate/App/page.tsx:5", "shortDescription": {"text": "Commented-code block (6 lines) in skills/Telos/DashboardTemplate/App/page.tsx:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5664896bc32ae422", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:22"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-40244a2e1e80d5a8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_PORTALVERIFY/Tools/VerifyPortal.ts:103", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_PORTALVERIFY/Tools/VerifyPortal.ts:103"}, "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-4089b54f64f3b236", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Config/ConvertChecklists.ts:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Config/ConvertChecklists.ts:47"}, "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-512b8492e8172e51", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/Overdue.ts:81", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/Overdue.ts:81"}, "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-0000326ecd2489cc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/ConvertChecklists.ts:47", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/ConvertChecklists.ts:47"}, "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-9c535674aca8f686", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/Closure.ts:74", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/Closure.ts:74"}, "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-4cc95b40cc54ea88", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/Recon.ts:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/Recon.ts:73"}, "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-20fa5ac766ecb785", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/WeeklyReport.ts:151", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/WeeklyReport.ts:151"}, "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-fb27bb957b0171e7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CLICKAUDIT/Manifests/tourforce.ts:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CLICKAUDIT/Manifests/tourforce.ts:11"}, "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-36b71f557fb5d37a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/YouTubeApi.ts:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/YouTubeApi.ts:73"}, "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-e8f725f96fea0fea", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/IntegrityMaintenance.ts:794", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/IntegrityMaintenance.ts:794"}, "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-6d866a9b3468d40b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/RemoveBg.ts:119", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/RemoveBg.ts:119"}, "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-db2bb60f3cad0610", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/PipelineMonitor.ts:493", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/PipelineMonitor.ts:493"}, "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-69e834bc1f7105ae", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CNKB/Tools/PatchMinecraftFraming.ts:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CNKB/Tools/PatchMinecraftFraming.ts:41"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eebd1abc8fe9695e", "name": "Commented-code block (7 lines) in skills/_CNKB/Tools/SyncPrompt.ts:38", "shortDescription": {"text": "Commented-code block (7 lines) in skills/_CNKB/Tools/SyncPrompt.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-a653048d299fca6c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CNKB/Tools/SyncPrompt.ts:113", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CNKB/Tools/SyncPrompt.ts:113"}, "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-417797625e6dc35b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CNKB/Tools/SweepRecoveryRules.ts:165", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CNKB/Tools/SweepRecoveryRules.ts:165"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e10fcf97c3f79340", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_OFFBOARDCENTRE/Tools/Offboard.ts:117", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_OFFBOARDCENTRE/Tools/Offboard.ts:117"}, "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-88d5d727226d7dd8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/AnnualReports/Tools/UpdateSources.ts:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/AnnualReports/Tools/UpdateSources.ts:37"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2dd0132831d1abdb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAIUpgrade/Tools/Anthropic.ts:237", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAIUpgrade/Tools/Anthropic.ts:237"}, "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-092ce8bd0fac3984", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Art/Lib/discord-bot.ts:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Art/Lib/discord-bot.ts:96"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-49e99dfc46969c98", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Art/Tools/Generate.ts:430", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Art/Tools/Generate.ts:430"}, "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-7eb91325f4e9bae5", "name": "Commented-code block (5 lines) in skills/Apify/examples/instagram-scraper.ts:55", "shortDescription": {"text": "Commented-code block (5 lines) in skills/Apify/examples/instagram-scraper.ts:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2b2db9097f9e25f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_VOICEAIAGENCY/MCP/src/tools/calls.ts:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_VOICEAIAGENCY/MCP/src/tools/calls.ts:28"}, "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-83a465e1b72ab6ab", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_VOICEAIAGENCY/MCP/src/tools/analysis.ts:414", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_VOICEAIAGENCY/MCP/src/tools/analysis.ts:414"}, "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-98b3e9263394611d", "name": "Commented-code block (5 lines) in skills/Documents/Pdf/Scripts/extract_form_field_info.py:56", "shortDescription": {"text": "Commented-code block (5 lines) in skills/Documents/Pdf/Scripts/extract_form_field_info.py:56"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6440d5af29da38d2", "name": "Commented-code block (6 lines) in skills/Documents/Pptx/Scripts/thumbnail.py:32", "shortDescription": {"text": "Commented-code block (6 lines) in skills/Documents/Pptx/Scripts/thumbnail.py: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-6fe1c4395def26f1", "name": "Network/subprocess call without timeout or try/except \u2014 skills/Documents/Pptx/Scripts/thumbnail.py:219", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/Documents/Pptx/Scripts/thumbnail.py:219"}, "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-7fe780dae095d085", "name": "Network/subprocess call without timeout or try/except \u2014 skills/Documents/Xlsx/recalc.py:92", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/Documents/Xlsx/recalc.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-79a945c8073edd05", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/YouTubeApi.ts:73", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/YouTubeApi.ts:73"}, "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-e01e1ef10f41f1c5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/IntegrityMaintenance.ts:794", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/IntegrityMaintenance.ts:794"}, "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-815cc0d61b037396", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/RemoveBg.ts:119", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/RemoveBg.ts:119"}, "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-82d0f8ff48d45806", "name": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/PipelineMonitor.ts:493", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/PipelineMonitor.ts:493"}, "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-a5417a5f0affce13", "name": "52 env vars used in code but missing from .env.example", "shortDescription": {"text": "52 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `APIFY_API_KEY`, `APIFY_TOKEN`, `BROWSER_HEADLESS`, `BROWSER_HEIGHT`, `BROWSER_PORT`, `BROWSER_WIDTH`, `CLAUDE_AGENT_TYPE`, `CLAUDE_PROJECT_DIR` + 44 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:\nVoiceServer/personality.py:get_personality_emotion_expression, VoiceServer/personality.py:get_personality\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:\nskills/WebAssessment/OsintTools/osint-api-tools.py:search, skills/WebAssessment/OsintTools/osint-api-tools.py:search, skills/WebAssessment/OsintTools/osint-api-tools.py:search\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-cbdbd10170528425", "name": "FastAPI POST `voice_test` without auth dependency \u2014 VoiceServer/server.py:151", "shortDescription": {"text": "FastAPI POST `voice_test` without auth dependency \u2014 VoiceServer/server.py:151"}, "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-616343c259f6c290", "name": "FastAPI POST `voice_design` without auth dependency \u2014 VoiceServer/server.py:195", "shortDescription": {"text": "FastAPI POST `voice_design` without auth dependency \u2014 VoiceServer/server.py:195"}, "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-9a389dca987f9dca", "name": "FastAPI POST `voice_clone` without auth dependency \u2014 VoiceServer/server.py:258", "shortDescription": {"text": "FastAPI POST `voice_clone` without auth dependency \u2014 VoiceServer/server.py:258"}, "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-d474cb2650cd05e8", "name": "FastAPI DELETE `delete_voice` without auth dependency \u2014 VoiceServer/server.py:354", "shortDescription": {"text": "FastAPI DELETE `delete_voice` without auth dependency \u2014 VoiceServer/server.py:354"}, "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-e64631df263a537f", "name": "FastAPI POST `preview_voice` without auth dependency \u2014 VoiceServer/server.py:366", "shortDescription": {"text": "FastAPI POST `preview_voice` without auth dependency \u2014 VoiceServer/server.py:366"}, "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-6d6678e543a7d9ec", "name": "FastAPI POST `notify` without auth dependency \u2014 VoiceServer/server.py:396", "shortDescription": {"text": "FastAPI POST `notify` without auth dependency \u2014 VoiceServer/server.py:396"}, "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-76e3e5f2e4d96ce7", "name": "FastAPI POST `pai_notify` without auth dependency \u2014 VoiceServer/server.py:449", "shortDescription": {"text": "FastAPI POST `pai_notify` without auth dependency \u2014 VoiceServer/server.py:449"}, "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-97ac2e342d5c4b18", "name": "FastAPI POST `emotional_notify` without auth dependency \u2014 VoiceServer/server.py:465", "shortDescription": {"text": "FastAPI POST `emotional_notify` without auth dependency \u2014 VoiceServer/server.py:465"}, "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-747d6a48c49d558f", "name": "FastAPI POST `preview_emotional_inference` without auth dependency \u2014 VoiceServer/server.py:541", "shortDescription": {"text": "FastAPI POST `preview_emotional_inference` without auth dependency \u2014 VoiceServer/server.py:541"}, "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-f28b442837c781a0", "name": "FastAPI POST `personality_notify` without auth dependency \u2014 VoiceServer/server.py:569", "shortDescription": {"text": "FastAPI POST `personality_notify` without auth dependency \u2014 VoiceServer/server.py:569"}, "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-d20b1cad9ed94894", "name": "FastAPI POST `preview_personality_expression` without auth dependency \u2014 VoiceServer/server.py:676", "shortDescription": {"text": "FastAPI POST `preview_personality_expression` without auth dependency \u2014 VoiceServer/server.py:676"}, "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-c4908a08b2f4e71a", "name": "Dangling fetch: POST http://localhost:${VOICE_SERVER_PORT}/notify (INSTALL.ts:203)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${VOICE_SERVER_PORT}/notify (INSTALL.ts:203)"}, "fullDescription": {"text": "`INSTALL.ts:203` calls `POST http://localhost:${VOICE_SERVER_PORT}/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/notify`\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-c353f281ff26555e", "name": "Dangling fetch: POST http://localhost:4000/api/themes (Observability/apps/client/src/composables/useThemes.ts:670)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:4000/api/themes (Observability/apps/client/src/composables/useThemes.ts:670)"}, "fullDescription": {"text": "`Observability/apps/client/src/composables/useThemes.ts:670` calls `POST http://localhost:4000/api/themes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:4000/api/themes`\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-9f68e8f1c185f5fb", "name": "Dangling fetch: GET http://localhost:4000/api/themes?isPublic=true (Observability/apps/client/src/composables/useThemes.", "shortDescription": {"text": "Dangling fetch: GET http://localhost:4000/api/themes?isPublic=true (Observability/apps/client/src/composables/useThemes.ts:684)"}, "fullDescription": {"text": "`Observability/apps/client/src/composables/useThemes.ts:684` calls `GET http://localhost:4000/api/themes?isPublic=true` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:4000/api/themes`\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-1cbf806e9d6b34b0", "name": "Dangling fetch: GET http://localhost:4000/api/ulwork (Observability/apps/client/src/composables/useULWork.ts:64)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:4000/api/ulwork (Observability/apps/client/src/composables/useULWork.ts:64)"}, "fullDescription": {"text": "`Observability/apps/client/src/composables/useULWork.ts:64` calls `GET http://localhost:4000/api/ulwork` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:4000/api/ulwork`\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-6d8147fe88c673c5", "name": "Dangling fetch: GET http://localhost:4000/api/agent/context (Observability/apps/client/src/composables/useAgentContext.t", "shortDescription": {"text": "Dangling fetch: GET http://localhost:4000/api/agent/context (Observability/apps/client/src/composables/useAgentContext.ts:27)"}, "fullDescription": {"text": "`Observability/apps/client/src/composables/useAgentContext.ts:27` calls `GET http://localhost:4000/api/agent/context` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:4000/api/agent/context`\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-3b808b48a7bbd2fd", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (Observability/apps/server/src/task-watcher.ts:106)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (Observability/apps/server/src/task-watcher.ts:106)"}, "fullDescription": {"text": "`Observability/apps/server/src/task-watcher.ts:106` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\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-f36ceb50bd517414", "name": "Dangling fetch: GET http://localhost:${CONFIG.serverPort}/events/filter-options (Observability/Tools/ManageServer.ts:52)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${CONFIG.serverPort}/events/filter-options (Observability/Tools/ManageServer.ts:52)"}, "fullDescription": {"text": "`Observability/Tools/ManageServer.ts:52` calls `GET http://localhost:${CONFIG.serverPort}/events/filter-options` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/events/filter-options`\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-d7a599aad969e60c", "name": "Dangling fetch: GET http://localhost:${CONFIG.clientPort} (Observability/Tools/ManageServer.ts:61)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${CONFIG.clientPort} (Observability/Tools/ManageServer.ts:61)"}, "fullDescription": {"text": "`Observability/Tools/ManageServer.ts:61` calls `GET http://localhost:${CONFIG.clientPort}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>`\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-cddb283b8948166b", "name": "Dangling fetch: POST http://localhost:8888/notify (hooks/StartupGreeting.hook.ts:95)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify (hooks/StartupGreeting.hook.ts:95)"}, "fullDescription": {"text": "`hooks/StartupGreeting.hook.ts:95` calls `POST http://localhost:8888/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify`\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-a79d7e809241edc4", "name": "Dangling fetch: POST http://localhost:8888/notify (hooks/UpdateTabTitle.hook.ts:327)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify (hooks/UpdateTabTitle.hook.ts:327)"}, "fullDescription": {"text": "`hooks/UpdateTabTitle.hook.ts:327` calls `POST http://localhost:8888/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify`\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-f08c17f5544ede5c", "name": "Dangling fetch: POST http://localhost:4000/events (hooks/lib/observability.ts:31)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:4000/events (hooks/lib/observability.ts:31)"}, "fullDescription": {"text": "`hooks/lib/observability.ts:31` calls `POST http://localhost:4000/events` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:4000/events`\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-19c76bd9d84597eb", "name": "Dangling fetch: POST http://localhost:8888/notify (hooks/handlers/SystemIntegrity.ts:65)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify (hooks/handlers/SystemIntegrity.ts:65)"}, "fullDescription": {"text": "`hooks/handlers/SystemIntegrity.ts:65` calls `POST http://localhost:8888/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify`\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-82b7056e4d528d8d", "name": "Dangling fetch: POST http://localhost:8888/notify (hooks/handlers/VoiceNotification.ts:105)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify (hooks/handlers/VoiceNotification.ts:105)"}, "fullDescription": {"text": "`hooks/handlers/VoiceNotification.ts:105` calls `POST http://localhost:8888/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify`\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-37d6b94ea2a42551", "name": "Dangling fetch: GET http://localhost:${state.port}/health (skills/Browser/Tools/Browse.ts:139)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${state.port}/health (skills/Browser/Tools/Browse.ts:139)"}, "fullDescription": {"text": "`skills/Browser/Tools/Browse.ts:139` calls `GET http://localhost:${state.port}/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/health`\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-7477f0aa93583e08", "name": "Dangling fetch: GET http://localhost:${state.port}/health (skills/Browser/Tools/Browse.ts:158)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${state.port}/health (skills/Browser/Tools/Browse.ts:158)"}, "fullDescription": {"text": "`skills/Browser/Tools/Browse.ts:158` calls `GET http://localhost:${state.port}/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/health`\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-7fa56efd228d97b2", "name": "Dangling fetch: GET http://localhost:${port}/health (skills/Browser/Tools/Browse.ts:172)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/health (skills/Browser/Tools/Browse.ts:172)"}, "fullDescription": {"text": "`skills/Browser/Tools/Browse.ts:172` calls `GET http://localhost:${port}/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/health`\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-45ddbb3cbe43cd29", "name": "Dangling fetch: GET http://localhost:${port}/health (skills/Browser/Tools/Browse.ts:201)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/health (skills/Browser/Tools/Browse.ts:201)"}, "fullDescription": {"text": "`skills/Browser/Tools/Browse.ts:201` calls `GET http://localhost:${port}/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/health`\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-43481eefcbbe77ee", "name": "Dangling fetch: POST http://localhost:${state.port}/stop (skills/Browser/Tools/Browse.ts:483)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${state.port}/stop (skills/Browser/Tools/Browse.ts:483)"}, "fullDescription": {"text": "`skills/Browser/Tools/Browse.ts:483` calls `POST http://localhost:${state.port}/stop` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/stop`\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-1e92b9dccaa2a153", "name": "Dangling fetch: POST http://localhost:${state.port}/stop (skills/Browser/Tools/Browse.ts:510)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${state.port}/stop (skills/Browser/Tools/Browse.ts:510)"}, "fullDescription": {"text": "`skills/Browser/Tools/Browse.ts:510` calls `POST http://localhost:${state.port}/stop` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/stop`\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-b29c11b75874bc74", "name": "Dangling fetch: GET /api/files/count (skills/Telos/DashboardTemplate/Components/sidebar.tsx:30)", "shortDescription": {"text": "Dangling fetch: GET /api/files/count (skills/Telos/DashboardTemplate/Components/sidebar.tsx:30)"}, "fullDescription": {"text": "`skills/Telos/DashboardTemplate/Components/sidebar.tsx:30` calls `GET /api/files/count` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/files/count`\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-81da5c0a5bdfeaa7", "name": "Dangling fetch: POST /api/upload (skills/Telos/DashboardTemplate/App/add-file/page.tsx:67)", "shortDescription": {"text": "Dangling fetch: POST /api/upload (skills/Telos/DashboardTemplate/App/add-file/page.tsx:67)"}, "fullDescription": {"text": "`skills/Telos/DashboardTemplate/App/add-file/page.tsx:67` calls `POST /api/upload` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/upload`\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-e4f2b2be9f59befe", "name": "Dangling fetch: POST /api/chat (skills/Telos/DashboardTemplate/App/ask/page.tsx:34)", "shortDescription": {"text": "Dangling fetch: POST /api/chat (skills/Telos/DashboardTemplate/App/ask/page.tsx:34)"}, "fullDescription": {"text": "`skills/Telos/DashboardTemplate/App/ask/page.tsx:34` calls `POST /api/chat` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/chat`\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-3454971d59563d28", "name": "Dangling fetch: GET /api/files/count (skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:22)", "shortDescription": {"text": "Dangling fetch: GET /api/files/count (skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:22)"}, "fullDescription": {"text": "`skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:22` calls `GET /api/files/count` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/files/count`\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-8d461184f8ee2d4a", "name": "Dangling fetch: GET /api/file/get?filename=${encodeURIComponent(matchingFile)} (skills/Telos/DashboardTemplate/App/file/", "shortDescription": {"text": "Dangling fetch: GET /api/file/get?filename=${encodeURIComponent(matchingFile)} (skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:32)"}, "fullDescription": {"text": "`skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:32` calls `GET /api/file/get?filename=${encodeURIComponent(matchingFile)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/file/get`\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-7a19a1d7cdfae294", "name": "Dangling fetch: POST /api/file/save (skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:58)", "shortDescription": {"text": "Dangling fetch: POST /api/file/save (skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:58)"}, "fullDescription": {"text": "`skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:58` calls `POST /api/file/save` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/file/save`\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-18a9b0bd4747f9ed", "name": "Dangling fetch: POST http://localhost:8888/notify (skills/PAI/Tools/pai.ts:91)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify (skills/PAI/Tools/pai.ts:91)"}, "fullDescription": {"text": "`skills/PAI/Tools/pai.ts:91` calls `POST http://localhost:8888/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify`\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-95b5520b9c9c5684", "name": "Dangling fetch: POST http://localhost:8888/notify (skills/PAI/Tools/IntegrityMaintenance.ts:794)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify (skills/PAI/Tools/IntegrityMaintenance.ts:794)"}, "fullDescription": {"text": "`skills/PAI/Tools/IntegrityMaintenance.ts:794` calls `POST http://localhost:8888/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify`\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-05a5a9f5fdcd5b40", "name": "Dangling fetch: POST http://localhost:8888/notify/personality (skills/PAI/Tools/IntegrityMaintenance.ts:802)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify/personality (skills/PAI/Tools/IntegrityMaintenance.ts:802)"}, "fullDescription": {"text": "`skills/PAI/Tools/IntegrityMaintenance.ts:802` calls `POST http://localhost:8888/notify/personality` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify/personality`\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-4dd97cf5e51510b5", "name": "Dangling fetch: POST https://api.remove.bg/v1.0/removebg (skills/PAI/Tools/RemoveBg.ts:119)", "shortDescription": {"text": "Dangling fetch: POST https://api.remove.bg/v1.0/removebg (skills/PAI/Tools/RemoveBg.ts:119)"}, "fullDescription": {"text": "`skills/PAI/Tools/RemoveBg.ts:119` calls `POST https://api.remove.bg/v1.0/removebg` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.remove.bg/v1.0/removebg`\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-f708c17dd45f8ab0", "name": "Dangling fetch: GET https://api.retellai.com/get-agent/${agent_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:165)", "shortDescription": {"text": "Dangling fetch: GET https://api.retellai.com/get-agent/${agent_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:165)"}, "fullDescription": {"text": "`skills/_CNKB/Tools/SweepRecoveryRules.ts:165` calls `GET https://api.retellai.com/get-agent/${agent_id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.retellai.com/get-agent/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3fbd00a9128ddd57", "name": "Dangling fetch: GET https://api.retellai.com/get-retell-llm/${llm_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:173)", "shortDescription": {"text": "Dangling fetch: GET https://api.retellai.com/get-retell-llm/${llm_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:173)"}, "fullDescription": {"text": "`skills/_CNKB/Tools/SweepRecoveryRules.ts:173` calls `GET https://api.retellai.com/get-retell-llm/${llm_id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.retellai.com/get-retell-llm/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec51fda8a2ba1a97", "name": "Dangling fetch: PATCH https://api.retellai.com/update-agent/${agent_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:181)", "shortDescription": {"text": "Dangling fetch: PATCH https://api.retellai.com/update-agent/${agent_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:181)"}, "fullDescription": {"text": "`skills/_CNKB/Tools/SweepRecoveryRules.ts:181` calls `PATCH https://api.retellai.com/update-agent/${agent_id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.retellai.com/update-agent/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-df1bd8c274548009", "name": "Dangling fetch: PATCH https://api.retellai.com/update-retell-llm/${llm_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:194", "shortDescription": {"text": "Dangling fetch: PATCH https://api.retellai.com/update-retell-llm/${llm_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:194)"}, "fullDescription": {"text": "`skills/_CNKB/Tools/SweepRecoveryRules.ts:194` calls `PATCH https://api.retellai.com/update-retell-llm/${llm_id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.retellai.com/update-retell-llm/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6f709963b3aa13b6", "name": "Dangling fetch: GET https://api.clickup.com/api/v2/space/${CLICKUP_VOICE_AI_SPACE}/folder?archived=false (skills/_OFFBOA", "shortDescription": {"text": "Dangling fetch: GET https://api.clickup.com/api/v2/space/${CLICKUP_VOICE_AI_SPACE}/folder?archived=false (skills/_OFFBOARDCENTRE/Tools/Offboard.ts:375)"}, "fullDescription": {"text": "`skills/_OFFBOARDCENTRE/Tools/Offboard.ts:375` calls `GET https://api.clickup.com/api/v2/space/${CLICKUP_VOICE_AI_SPACE}/folder?archived=false` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.clickup.com/api/v2/space/<p>/folder`\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-d0f795e4609994c5", "name": "Dangling fetch: PUT https://api.clickup.com/api/v2/folder/${inv.clickup_folder.id} (skills/_OFFBOARDCENTRE/Tools/Offboar", "shortDescription": {"text": "Dangling fetch: PUT https://api.clickup.com/api/v2/folder/${inv.clickup_folder.id} (skills/_OFFBOARDCENTRE/Tools/Offboard.ts:518)"}, "fullDescription": {"text": "`skills/_OFFBOARDCENTRE/Tools/Offboard.ts:518` calls `PUT https://api.clickup.com/api/v2/folder/${inv.clickup_folder.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.clickup.com/api/v2/folder/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-163b87933ef951ef", "name": "Dangling fetch: POST https://api.resend.com/emails (skills/_OFFBOARDCENTRE/Tools/Offboard.ts:770)", "shortDescription": {"text": "Dangling fetch: POST https://api.resend.com/emails (skills/_OFFBOARDCENTRE/Tools/Offboard.ts:770)"}, "fullDescription": {"text": "`skills/_OFFBOARDCENTRE/Tools/Offboard.ts:770` calls `POST https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\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-b735bac9b1aab01f", "name": "Dangling fetch: GET http://localhost:${PORT}/health (skills/VoiceServer/Tools/VoiceServerManager.ts:98)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${PORT}/health (skills/VoiceServer/Tools/VoiceServerManager.ts:98)"}, "fullDescription": {"text": "`skills/VoiceServer/Tools/VoiceServerManager.ts:98` calls `GET http://localhost:${PORT}/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/health`\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-eb3fd7b1ce47dd15", "name": "Dangling fetch: POST http://localhost:${PORT}/notify (skills/VoiceServer/Tools/VoiceServerManager.ts:114)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${PORT}/notify (skills/VoiceServer/Tools/VoiceServerManager.ts:114)"}, "fullDescription": {"text": "`skills/VoiceServer/Tools/VoiceServerManager.ts:114` calls `POST http://localhost:${PORT}/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/notify`\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-53280b23e239bf80", "name": "Dangling fetch: POST https://api.remove.bg/v1.0/removebg (skills/Art/Tools/Generate.ts:430)", "shortDescription": {"text": "Dangling fetch: POST https://api.remove.bg/v1.0/removebg (skills/Art/Tools/Generate.ts:430)"}, "fullDescription": {"text": "`skills/Art/Tools/Generate.ts:430` calls `POST https://api.remove.bg/v1.0/removebg` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.remove.bg/v1.0/removebg`\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-151c3640dee33b64", "name": "Dangling fetch: POST https://api.retellai.com/v3/list-calls (skills/_VOICEAIAGENCY/MCP/src/tools/calls.ts:28)", "shortDescription": {"text": "Dangling fetch: POST https://api.retellai.com/v3/list-calls (skills/_VOICEAIAGENCY/MCP/src/tools/calls.ts:28)"}, "fullDescription": {"text": "`skills/_VOICEAIAGENCY/MCP/src/tools/calls.ts:28` calls `POST https://api.retellai.com/v3/list-calls` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.retellai.com/v3/list-calls`\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-137edc9d9a1919b3", "name": "Dangling fetch: POST https://api.retellai.com/v3/list-calls (skills/_VOICEAIAGENCY/MCP/src/tools/analysis.ts:414)", "shortDescription": {"text": "Dangling fetch: POST https://api.retellai.com/v3/list-calls (skills/_VOICEAIAGENCY/MCP/src/tools/analysis.ts:414)"}, "fullDescription": {"text": "`skills/_VOICEAIAGENCY/MCP/src/tools/analysis.ts:414` calls `POST https://api.retellai.com/v3/list-calls` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.retellai.com/v3/list-calls`\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-bf7abdadc393cbad", "name": "Dangling fetch: POST http://localhost:8888/notify (Tools/pai.ts:91)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify (Tools/pai.ts:91)"}, "fullDescription": {"text": "`Tools/pai.ts:91` calls `POST http://localhost:8888/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify`\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-566026182587016f", "name": "Dangling fetch: POST http://localhost:8888/notify (Tools/IntegrityMaintenance.ts:794)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify (Tools/IntegrityMaintenance.ts:794)"}, "fullDescription": {"text": "`Tools/IntegrityMaintenance.ts:794` calls `POST http://localhost:8888/notify` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify`\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-d5affd9bb7543077", "name": "Dangling fetch: POST http://localhost:8888/notify/personality (Tools/IntegrityMaintenance.ts:802)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:8888/notify/personality (Tools/IntegrityMaintenance.ts:802)"}, "fullDescription": {"text": "`Tools/IntegrityMaintenance.ts:802` calls `POST http://localhost:8888/notify/personality` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:8888/notify/personality`\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-7427373f5cfc4994", "name": "Dangling fetch: POST https://api.remove.bg/v1.0/removebg (Tools/RemoveBg.ts:119)", "shortDescription": {"text": "Dangling fetch: POST https://api.remove.bg/v1.0/removebg (Tools/RemoveBg.ts:119)"}, "fullDescription": {"text": "`Tools/RemoveBg.ts:119` calls `POST https://api.remove.bg/v1.0/removebg` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.remove.bg/v1.0/removebg`\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-3e10494e22e15969", "name": "Unused endpoint: POST /voice/test", "shortDescription": {"text": "Unused endpoint: POST /voice/test"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /voice/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-7365d1a042f97b8e", "name": "Unused endpoint: POST /voice/design", "shortDescription": {"text": "Unused endpoint: POST /voice/design"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /voice/design` 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-9541fe5bb2a3685b", "name": "Unused endpoint: POST /voice/clone", "shortDescription": {"text": "Unused endpoint: POST /voice/clone"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /voice/clone` 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-d37956fd71dde92a", "name": "Unused endpoint: GET /voices", "shortDescription": {"text": "Unused endpoint: GET /voices"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `GET /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-d670c16d6b8ca633", "name": "Unused endpoint: GET /voices/{name}", "shortDescription": {"text": "Unused endpoint: GET /voices/{name}"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `GET /voices/{name}` 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-da242f893c6383cd", "name": "Unused endpoint: DELETE /voices/{name}", "shortDescription": {"text": "Unused endpoint: DELETE /voices/{name}"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `DELETE /voices/{name}` 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-ffbdbf1b6172e8e3", "name": "Unused endpoint: POST /voices/{name}/preview", "shortDescription": {"text": "Unused endpoint: POST /voices/{name}/preview"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /voices/{name}/preview` 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-554de19801e8fb2d", "name": "Unused endpoint: POST /notify", "shortDescription": {"text": "Unused endpoint: POST /notify"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /notify` 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-ea7ee35aa4d9eca7", "name": "Unused endpoint: POST /pai", "shortDescription": {"text": "Unused endpoint: POST /pai"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /pai` 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-91ad81a3a4ccef90", "name": "Unused endpoint: POST /notify/emotional", "shortDescription": {"text": "Unused endpoint: POST /notify/emotional"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /notify/emotional` 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-04e710cf1436aa73", "name": "Unused endpoint: POST /notify/emotional/preview", "shortDescription": {"text": "Unused endpoint: POST /notify/emotional/preview"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /notify/emotional/preview` 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-e410c751949321a6", "name": "Unused endpoint: POST /notify/personality", "shortDescription": {"text": "Unused endpoint: POST /notify/personality"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /notify/personality` 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-54e76e41d86a7001", "name": "Unused endpoint: POST /notify/personality/preview", "shortDescription": {"text": "Unused endpoint: POST /notify/personality/preview"}, "fullDescription": {"text": "`VoiceServer/server.py` declares `POST /notify/personality/preview` 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/23075"}, "properties": {"repository": "XPrime17/Poseidon", "repoUrl": "https://github.com/XPrime17/Poseidon", "branch": "main"}, "results": [{"ruleId": "scanner-bd270db6b01c5053", "level": "note", "message": {"text": "Possibly dead Python function: play_audio_sync"}, "properties": {"repobilityId": "e59b63f52f15f63a", "scanner": "scanner-primary", "fingerprint": "bd270db6b01c5053", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/audio_player.py:72"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-581700b04bdb6cee", "level": "note", "message": {"text": "Possibly dead Python function: list_personalities"}, "properties": {"repobilityId": "bdcdb25ac2582790", "scanner": "scanner-primary", "fingerprint": "581700b04bdb6cee", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/personality.py:338"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6656003b10502390", "level": "note", "message": {"text": "Possibly dead Python function: search_domain"}, "properties": {"repobilityId": "2d0c474ccf2a49ff", "scanner": "scanner-primary", "fingerprint": "6656003b10502390", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/WebAssessment/OsintTools/osint-api-tools.py:556"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-60ef0ea13a13ebd1", "level": "note", "message": {"text": "Possibly dead Python function: search_phone"}, "properties": {"repobilityId": "012ec77947fcc888", "scanner": "scanner-primary", "fingerprint": "60ef0ea13a13ebd1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/WebAssessment/OsintTools/osint-api-tools.py:560"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e4bed5154e58ea78", "level": "note", "message": {"text": "Possibly dead Python function: handle_console_message"}, "properties": {"repobilityId": "42852f820c2e3cb7", "scanner": "scanner-primary", "fingerprint": "e4bed5154e58ea78", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/WebAssessment/WebappExamples/console_logging.py:14"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-648b635bef35e99a", "level": "note", "message": {"text": "Possibly dead Python function: patched_get_inherited"}, "properties": {"repobilityId": "8c99afa3f6ae758e", "scanner": "scanner-primary", "fingerprint": "648b635bef35e99a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Pdf/Scripts/fill_fillable_fields.py:96"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5957e60bda4c6ac3", "level": "note", "message": {"text": "Possibly dead Python function: sort_key"}, "properties": {"repobilityId": "ac2a4181eae38738", "scanner": "scanner-primary", "fingerprint": "5957e60bda4c6ac3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Pdf/Scripts/extract_form_field_info.py:126"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8708f6ed976369fd", "level": "note", "message": {"text": "Possibly dead Python function: check_duplicate_keys"}, "properties": {"repobilityId": "7203191a5a8e3176", "scanner": "scanner-primary", "fingerprint": "8708f6ed976369fd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Pptx/Scripts/replace.py:204"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b05fd62d1dd254ba", "level": "note", "message": {"text": "Possibly dead Python function: revert_insertion"}, "properties": {"repobilityId": "053a35872e3c8bda", "scanner": "scanner-primary", "fingerprint": "b05fd62d1dd254ba", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Docx/Scripts/document.py:264"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e96e8c6ed6b755b0", "level": "note", "message": {"text": "Possibly dead Python function: revert_deletion"}, "properties": {"repobilityId": "44c2de3893773498", "scanner": "scanner-primary", "fingerprint": "e96e8c6ed6b755b0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Docx/Scripts/document.py:342"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df1cac12153e840f", "level": "note", "message": {"text": "Possibly dead Python function: suggest_deletion"}, "properties": {"repobilityId": "01d444f9772fb3af", "scanner": "scanner-primary", "fingerprint": "df1cac12153e840f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Docx/Scripts/document.py:482"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5456f98169da066c", "level": "note", "message": {"text": "Possibly dead Python function: add_comment"}, "properties": {"repobilityId": "d1e20ac1265119b0", "scanner": "scanner-primary", "fingerprint": "5456f98169da066c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Docx/Scripts/document.py:713"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-91dcfdccfbc79e3f", "level": "note", "message": {"text": "Possibly dead Python function: reply_to_comment"}, "properties": {"repobilityId": "1e75c4364dbdcae3", "scanner": "scanner-primary", "fingerprint": "91dcfdccfbc79e3f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Docx/Scripts/document.py:765"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-85f2684c64617991", "level": "note", "message": {"text": "Possibly dead Python function: startElementNS"}, "properties": {"repobilityId": "47ca28a03dd5c0c7", "scanner": "scanner-primary", "fingerprint": "85f2684c64617991", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Docx/Scripts/utilities.py:359"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f5bdbed74c247c4d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 INSTALL.ts:63"}, "properties": {"repobilityId": "36f611c7ad3d063d", "scanner": "scanner-primary", "fingerprint": "f5bdbed74c247c4d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ac19e2e2abe5950", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/App.vue:256"}, "properties": {"repobilityId": "859dcd683a9f6d63", "scanner": "scanner-primary", "fingerprint": "2ac19e2e2abe5950", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eaebe16b730d2721", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 Observability/apps/client/src/types.ts:1"}, "properties": {"repobilityId": "3cf7da92e4888f83", "scanner": "scanner-primary", "fingerprint": "eaebe16b730d2721", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-38ab2299b4dc3d03", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useThemes.ts:756"}, "properties": {"repobilityId": "92a0ed609fafe1cb", "scanner": "scanner-primary", "fingerprint": "38ab2299b4dc3d03", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-be50f2e8199f41b3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useBackgroundTasks.ts:111"}, "properties": {"repobilityId": "cf67536657cb746c", "scanner": "scanner-primary", "fingerprint": "be50f2e8199f41b3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1a4f6582aef18a2d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useChartData.ts:68"}, "properties": {"repobilityId": "67ca0c58a69233e4", "scanner": "scanner-primary", "fingerprint": "1a4f6582aef18a2d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-33d354fd4ebacd33", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useWebSocket.ts:23"}, "properties": {"repobilityId": "3dc4e9367bc32542", "scanner": "scanner-primary", "fingerprint": "33d354fd4ebacd33", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a9471d52afc2ed2e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/useAdvancedMetrics.ts:114"}, "properties": {"repobilityId": "7a8ec706391a103b", "scanner": "scanner-primary", "fingerprint": "a9471d52afc2ed2e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-65e4b1db98a6b346", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/composables/__tests__/useAdvancedMetrics.example.ts:96"}, "properties": {"repobilityId": "ff89e52a0b7448c1", "scanner": "scanner-primary", "fingerprint": "65e4b1db98a6b346", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-72c09b284d1724d0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/client/src/utils/chartRenderer.ts:367"}, "properties": {"repobilityId": "f3c11318baeb953d", "scanner": "scanner-primary", "fingerprint": "72c09b284d1724d0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2acb7c27087b3dcb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/index.ts:466"}, "properties": {"repobilityId": "ff27e8eb4fe1ce6f", "scanner": "scanner-primary", "fingerprint": "2acb7c27087b3dcb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-275d787ddf2f7ca0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/ulwork-watcher.ts:142"}, "properties": {"repobilityId": "1148c6ffe32d77b8", "scanner": "scanner-primary", "fingerprint": "275d787ddf2f7ca0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-81c07cca76a3a2cf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/task-watcher.ts:136"}, "properties": {"repobilityId": "2782a8b3c44072b1", "scanner": "scanner-primary", "fingerprint": "81c07cca76a3a2cf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-72a391151cc888c6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 Observability/apps/server/src/types.ts:1"}, "properties": {"repobilityId": "5aa68628cf1293c3", "scanner": "scanner-primary", "fingerprint": "72a391151cc888c6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-115e4cfa4516ba3c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 Observability/apps/server/src/file-ingest.ts:33"}, "properties": {"repobilityId": "32996ff3116a36b0", "scanner": "scanner-primary", "fingerprint": "115e4cfa4516ba3c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-784ff0c77f7f0954", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/apps/server/src/file-ingest.ts:44"}, "properties": {"repobilityId": "0482fd839826f707", "scanner": "scanner-primary", "fingerprint": "784ff0c77f7f0954", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e659db5ccd0d6244", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Observability/Tools/ManageServer.ts:73"}, "properties": {"repobilityId": "4cdb50a791265ed4", "scanner": "scanner-primary", "fingerprint": "e659db5ccd0d6244", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0e11fee2f2e4c357", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hooks/AgentOutputCapture.hook.ts:539"}, "properties": {"repobilityId": "be7be5082b6abf13", "scanner": "scanner-primary", "fingerprint": "0e11fee2f2e4c357", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-10dcf1dc7ac15d1e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hooks/LoadContext.hook.ts:439"}, "properties": {"repobilityId": "93d8a356c48585a2", "scanner": "scanner-primary", "fingerprint": "10dcf1dc7ac15d1e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cd976e663585b155", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hooks/SessionResumeLookup.hook.ts:193"}, "properties": {"repobilityId": "50c00dc924c97fee", "scanner": "scanner-primary", "fingerprint": "cd976e663585b155", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dfbf2d18360a6c29", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hooks/StartupGreeting.hook.ts:84"}, "properties": {"repobilityId": "2e0d8bcade9cc0f8", "scanner": "scanner-primary", "fingerprint": "dfbf2d18360a6c29", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-094d8cfb80e9ff14", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hooks/StopOrchestrator.hook.ts:153"}, "properties": {"repobilityId": "75ebbea7c32c9a9c", "scanner": "scanner-primary", "fingerprint": "094d8cfb80e9ff14", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5807f17d9900d252", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hooks/SessionRecall.hook.ts:788"}, "properties": {"repobilityId": "8f138e045f879da1", "scanner": "scanner-primary", "fingerprint": "5807f17d9900d252", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4da9402822c28c59", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hooks/FormatReminder.hook.ts:245"}, "properties": {"repobilityId": "ba5e539834ef60d9", "scanner": "scanner-primary", "fingerprint": "4da9402822c28c59", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b69cf8c4fc2315d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hooks/SecurityValidator.hook.ts:377"}, "properties": {"repobilityId": "bd2b3aaafe5251a5", "scanner": "scanner-primary", "fingerprint": "1b69cf8c4fc2315d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c866d864dcce1e3c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hooks/handlers/ResponseCapture.ts:311"}, "properties": {"repobilityId": "329768cc0318b8a8", "scanner": "scanner-primary", "fingerprint": "c866d864dcce1e3c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8ec1220ff67aef54", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/examples/screenshot.ts:31"}, "properties": {"repobilityId": "f766f266c002f8dc", "scanner": "scanner-primary", "fingerprint": "8ec1220ff67aef54", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a135b12448d22fd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/examples/verify-page.ts:29"}, "properties": {"repobilityId": "d98eeabedc37acd1", "scanner": "scanner-primary", "fingerprint": "7a135b12448d22fd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0f8c196727939c98", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/examples/comprehensive-test.ts:25"}, "properties": {"repobilityId": "0d0314a303eeb7b4", "scanner": "scanner-primary", "fingerprint": "0f8c196727939c98", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-72d448a4d12b82ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/Tools/BrowserSession.ts:68"}, "properties": {"repobilityId": "daa5979ef31097b0", "scanner": "scanner-primary", "fingerprint": "72d448a4d12b82ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e9a7ebedbec8c52e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Browser/Tools/Browse.ts:328"}, "properties": {"repobilityId": "fa5370ba57a1b966", "scanner": "scanner-primary", "fingerprint": "e9a7ebedbec8c52e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7bcd54d2627fd086", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 skills/Telos/DashboardTemplate/Components/sidebar.tsx:142"}, "properties": {"repobilityId": "e1117d386c391840", "scanner": "scanner-primary", "fingerprint": "7bcd54d2627fd086", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ddb5c475b841b6cc", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/Lib/data.ts:18"}, "properties": {"repobilityId": "f353ea807df0fa57", "scanner": "scanner-primary", "fingerprint": "ddb5c475b841b6cc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6c69a0a35fd19c12", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/page.tsx:5"}, "properties": {"repobilityId": "caf57beb6659a0f3", "scanner": "scanner-primary", "fingerprint": "6c69a0a35fd19c12", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2c6950852b5741f8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/vulnerabilities/page.tsx:7"}, "properties": {"repobilityId": "d5a16f069802beb7", "scanner": "scanner-primary", "fingerprint": "2c6950852b5741f8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5cebce4101204700", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/teams/page.tsx:6"}, "properties": {"repobilityId": "3561124134cba6ce", "scanner": "scanner-primary", "fingerprint": "5cebce4101204700", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fdda2ceeddbe6505", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 skills/Telos/DashboardTemplate/App/progress/page.tsx:6"}, "properties": {"repobilityId": "9c68e39e68e0c1ba", "scanner": "scanner-primary", "fingerprint": "fdda2ceeddbe6505", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8abd8652edd11f6a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Telos/Tools/UpdateTelos.ts:119"}, "properties": {"repobilityId": "9519886ab85605c1", "scanner": "scanner-primary", "fingerprint": "8abd8652edd11f6a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a26e7b68fd633531", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_PORTALVERIFY/Tools/VerifyPortal.ts:46"}, "properties": {"repobilityId": "6d27938afcf6170b", "scanner": "scanner-primary", "fingerprint": "a26e7b68fd633531", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-080bfb395988b6da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/SuiteManager.ts:270"}, "properties": {"repobilityId": "542cc5d1b2b1490c", "scanner": "scanner-primary", "fingerprint": "080bfb395988b6da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c16b02d4dbd8770", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/FailureToTask.ts:213"}, "properties": {"repobilityId": "9afee7cf6c579f75", "scanner": "scanner-primary", "fingerprint": "7c16b02d4dbd8770", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0443becb3b4c7481", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/TrialRunner.ts:254"}, "properties": {"repobilityId": "7af7db5ec62fa490", "scanner": "scanner-primary", "fingerprint": "0443becb3b4c7481", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66e4142516d4488a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/TranscriptCapture.ts:211"}, "properties": {"repobilityId": "8a299f1db336068a", "scanner": "scanner-primary", "fingerprint": "66e4142516d4488a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-23b70acfea00d5e9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Evals/Tools/AlgorithmBridge.ts:84"}, "properties": {"repobilityId": "36f42639c1798569", "scanner": "scanner-primary", "fingerprint": "23b70acfea00d5e9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc095bdaebbf1f06", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Config/ConvertChecklists.ts:76"}, "properties": {"repobilityId": "b6f91acfc4c732b1", "scanner": "scanner-primary", "fingerprint": "dc095bdaebbf1f06", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-36778313fc85d85c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/Overdue.ts:201"}, "properties": {"repobilityId": "9559d29fd761b972", "scanner": "scanner-primary", "fingerprint": "36778313fc85d85c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ea255ff2d7645dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/ConvertChecklists.ts:76"}, "properties": {"repobilityId": "d74f5d39e6aff390", "scanner": "scanner-primary", "fingerprint": "2ea255ff2d7645dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cd41b8709fc0af5b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/Closure.ts:254"}, "properties": {"repobilityId": "9449dc7051d34b85", "scanner": "scanner-primary", "fingerprint": "cd41b8709fc0af5b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ee7d1ce2488e726c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/Recon.ts:273"}, "properties": {"repobilityId": "d5239c929aadea66", "scanner": "scanner-primary", "fingerprint": "ee7d1ce2488e726c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d9c9ba63cc5b877e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/ClickUpAudit/Tools/WeeklyReport.ts:136"}, "properties": {"repobilityId": "2f53ce67bf4006c8", "scanner": "scanner-primary", "fingerprint": "d9c9ba63cc5b877e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7a30dd08d36c413", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Agents/Tools/LoadAgentContext.ts:101"}, "properties": {"repobilityId": "98388c23aeb7d615", "scanner": "scanner-primary", "fingerprint": "b7a30dd08d36c413", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fad164984c8c27e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Agents/Tools/ComposeAgent.ts:442"}, "properties": {"repobilityId": "4e1e8520d2131ef8", "scanner": "scanner-primary", "fingerprint": "fad164984c8c27e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d48442c46b476d6e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Agents/Tools/SpawnAgentWithProfile.ts:62"}, "properties": {"repobilityId": "8535dad7a749689b", "scanner": "scanner-primary", "fingerprint": "d48442c46b476d6e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3193d4a6054f4540", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_CLICKAUDIT/Tools/AuditClicks.ts:152"}, "properties": {"repobilityId": "844b19806cf81623", "scanner": "scanner-primary", "fingerprint": "3193d4a6054f4540", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-79eb2efbf3f20d00", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/update.ts:12"}, "properties": {"repobilityId": "80323f3abca4d955", "scanner": "scanner-primary", "fingerprint": "79eb2efbf3f20d00", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24138ee6a5a35de8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/show.ts:37"}, "properties": {"repobilityId": "0d28a77ae886b078", "scanner": "scanner-primary", "fingerprint": "24138ee6a5a35de8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1660b76d4f167fc0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/recon.ts:37"}, "properties": {"repobilityId": "a83a30d9cf70f732", "scanner": "scanner-primary", "fingerprint": "1660b76d4f167fc0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2776505d47e5794", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/WebAssessment/BugBountyTool/src/tracker.ts:16"}, "properties": {"repobilityId": "fe7b93cfd441962d", "scanner": "scanner-primary", "fingerprint": "d2776505d47e5794", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1a204f525ecdc57a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/WhoisParser.ts:404"}, "properties": {"repobilityId": "b99967c20811ffbe", "scanner": "scanner-primary", "fingerprint": "1a204f525ecdc57a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-10080e496c8f0d85", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/IpinfoClient.ts:12"}, "properties": {"repobilityId": "8a4fdb0f4ebda126", "scanner": "scanner-primary", "fingerprint": "10080e496c8f0d85", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-52eda6f9a11b772c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/BountyPrograms.ts:255"}, "properties": {"repobilityId": "acfc2909497caed0", "scanner": "scanner-primary", "fingerprint": "52eda6f9a11b772c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3c08f8d56efd299", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/PathDiscovery.ts:330"}, "properties": {"repobilityId": "eccd8db4d28eebf9", "scanner": "scanner-primary", "fingerprint": "a3c08f8d56efd299", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c63c8c8b2929bbe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/EndpointDiscovery.ts:433"}, "properties": {"repobilityId": "39797f4a33aca0d4", "scanner": "scanner-primary", "fingerprint": "4c63c8c8b2929bbe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-85fbc088465095b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/SubdomainEnum.ts:106"}, "properties": {"repobilityId": "57782a924ad7e9e8", "scanner": "scanner-primary", "fingerprint": "85fbc088465095b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35fbaf2a056c96e8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/CidrUtils.ts:10"}, "properties": {"repobilityId": "1a7b1246bbd2713d", "scanner": "scanner-primary", "fingerprint": "35fbaf2a056c96e8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c42967fd844e4b49", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/CorporateStructure.ts:468"}, "properties": {"repobilityId": "b1380050ec05fd36", "scanner": "scanner-primary", "fingerprint": "c42967fd844e4b49", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-39f52298785b775f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/MassScan.ts:284"}, "properties": {"repobilityId": "bbb6da7f23439f93", "scanner": "scanner-primary", "fingerprint": "39f52298785b775f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-63f9289d93a5f7d6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/PortScan.ts:264"}, "properties": {"repobilityId": "afe5bc52114bd653", "scanner": "scanner-primary", "fingerprint": "63f9289d93a5f7d6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0cf9a4f926e07d01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Recon/Tools/DnsUtils.ts:458"}, "properties": {"repobilityId": "f2fafbb40189278f", "scanner": "scanner-primary", "fingerprint": "0cf9a4f926e07d01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1230ee58c232c565", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Templates/Tools/ValidateTemplate.ts:252"}, "properties": {"repobilityId": "db5f4f1f9e6d2435", "scanner": "scanner-primary", "fingerprint": "1230ee58c232c565", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5eed6c23645c877", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Templates/Tools/index.ts:1"}, "properties": {"repobilityId": "c4d5406cda873a64", "scanner": "scanner-primary", "fingerprint": "d5eed6c23645c877", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e1d600ba72955d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Templates/Tools/RenderTemplate.ts:209"}, "properties": {"repobilityId": "c49a2ed3bd1c7a01", "scanner": "scanner-primary", "fingerprint": "2e1d600ba72955d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46535e2e0a9e4a50", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Tools/ValidateTemplate.ts:252"}, "properties": {"repobilityId": "1e1a5cc3412c0dc0", "scanner": "scanner-primary", "fingerprint": "46535e2e0a9e4a50", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4798d9479c0ec8da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Tools/index.ts:1"}, "properties": {"repobilityId": "b542f127e14d2d88", "scanner": "scanner-primary", "fingerprint": "4798d9479c0ec8da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d15c0d39b288a6c2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Prompting/Tools/RenderTemplate.ts:209"}, "properties": {"repobilityId": "f94af6f88df539dd", "scanner": "scanner-primary", "fingerprint": "d15c0d39b288a6c2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-360f928e08ae6e85", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PipelineOrchestrator.ts:138"}, "properties": {"repobilityId": "036fc190175c0daa", "scanner": "scanner-primary", "fingerprint": "360f928e08ae6e85", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-feb94822a11b8939", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/LearningPatternSynthesis.ts:312"}, "properties": {"repobilityId": "a72048d8433907f4", "scanner": "scanner-primary", "fingerprint": "feb94822a11b8939", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c79ea080fb2c265b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/ExtractTranscript.ts:53"}, "properties": {"repobilityId": "54c12de733a02f67", "scanner": "scanner-primary", "fingerprint": "c79ea080fb2c265b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-088b37b470c7279b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/FailureCapture.ts:525"}, "properties": {"repobilityId": "4adc20b1ca334f53", "scanner": "scanner-primary", "fingerprint": "088b37b470c7279b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a7164cc368d51c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/RelationshipReflect.ts:411"}, "properties": {"repobilityId": "f850016480f04ee3", "scanner": "scanner-primary", "fingerprint": "8a7164cc368d51c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d787e8fc460e7ee", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/TranscriptParser.ts:322"}, "properties": {"repobilityId": "d9c96504f5b0b18b", "scanner": "scanner-primary", "fingerprint": "1d787e8fc460e7ee", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c1cbc03267496ac6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/AddBg.ts:30"}, "properties": {"repobilityId": "2a93172bb1ef7d4d", "scanner": "scanner-primary", "fingerprint": "c1cbc03267496ac6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04dabea92527ae23", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/pai.ts:75"}, "properties": {"repobilityId": "008cc0c9e6ef2f3f", "scanner": "scanner-primary", "fingerprint": "04dabea92527ae23", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7f0bbf2481ad836", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/GetTranscript.ts:46"}, "properties": {"repobilityId": "acd602d46d96878a", "scanner": "scanner-primary", "fingerprint": "b7f0bbf2481ad836", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-32bf51dac6ae6faf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/Banner.ts:863"}, "properties": {"repobilityId": "c83b4e63401067d6", "scanner": "scanner-primary", "fingerprint": "32bf51dac6ae6faf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-05f897b5d79cdd91", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerMatrix.ts:681"}, "properties": {"repobilityId": "1d4965b024600824", "scanner": "scanner-primary", "fingerprint": "05f897b5d79cdd91", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-26505daf4bbb3aee", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PreviewMarkdown.ts:61"}, "properties": {"repobilityId": "9576a82128a0c141", "scanner": "scanner-primary", "fingerprint": "26505daf4bbb3aee", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0cc87627017d1798", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/Inference.ts:236"}, "properties": {"repobilityId": "fca730bc7e4ba87b", "scanner": "scanner-primary", "fingerprint": "0cc87627017d1798", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c6ced823ebc73f2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/FeatureRegistry.ts:104"}, "properties": {"repobilityId": "b843bc6fe4b9bb91", "scanner": "scanner-primary", "fingerprint": "3c6ced823ebc73f2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-261f0f933e6c8fa0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerTokyo.ts:148"}, "properties": {"repobilityId": "a8a4fb27bd145f38", "scanner": "scanner-primary", "fingerprint": "261f0f933e6c8fa0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8148a67bf6befcd4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SessionHarvester.ts:321"}, "properties": {"repobilityId": "f32e0634939ec409", "scanner": "scanner-primary", "fingerprint": "8148a67bf6befcd4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e0e2e01149085c2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/CreateDynamicCore.ts:132"}, "properties": {"repobilityId": "823af21e678b09c1", "scanner": "scanner-primary", "fingerprint": "4e0e2e01149085c2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cdc4e8be597fd8cb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/GetCounts.ts:187"}, "properties": {"repobilityId": "19bc31167af20e6b", "scanner": "scanner-primary", "fingerprint": "cdc4e8be597fd8cb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f4efc233f4fd09ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SessionProgress.ts:69"}, "properties": {"repobilityId": "e1494ffb1e46cc64", "scanner": "scanner-primary", "fingerprint": "f4efc233f4fd09ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c466d73c5cf674ce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/OpinionTracker.ts:255"}, "properties": {"repobilityId": "6c87cdb5f64d7ed4", "scanner": "scanner-primary", "fingerprint": "c466d73c5cf674ce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9992cbd64405933a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/YouTubeApi.ts:101"}, "properties": {"repobilityId": "966ef4435b81ecd5", "scanner": "scanner-primary", "fingerprint": "9992cbd64405933a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c2ea91092fc5d5d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/LoadSkillConfig.ts:244"}, "properties": {"repobilityId": "dc06ecd842a37d26", "scanner": "scanner-primary", "fingerprint": "4c2ea91092fc5d5d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-491ea367106ee1b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PAILogo.ts:37"}, "properties": {"repobilityId": "1746c03becc69577", "scanner": "scanner-primary", "fingerprint": "491ea367106ee1b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f50e5c042742e46c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerNeofetch.ts:579"}, "properties": {"repobilityId": "f44f01e3b7852116", "scanner": "scanner-primary", "fingerprint": "f50e5c042742e46c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b81e32da83eb19f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SessionLookup.ts:100"}, "properties": {"repobilityId": "4c23c3426e2e4bb1", "scanner": "scanner-primary", "fingerprint": "b81e32da83eb19f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a4a3e780b4dd680e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/RemoveBg.ts:56"}, "properties": {"repobilityId": "65cafe83bb02f5b3", "scanner": "scanner-primary", "fingerprint": "a4a3e780b4dd680e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7cb1fefa6afc83e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/ActivityParser.ts:665"}, "properties": {"repobilityId": "aa42149060971149", "scanner": "scanner-primary", "fingerprint": "7cb1fefa6afc83e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-821e118a3609b14b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/NeofetchBanner.ts:711"}, "properties": {"repobilityId": "2ae14ad8ec02acd4", "scanner": "scanner-primary", "fingerprint": "821e118a3609b14b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-85e8845cac2436a7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerPrototypes.ts:141"}, "properties": {"repobilityId": "4c21f9d2ef31fc61", "scanner": "scanner-primary", "fingerprint": "85e8845cac2436a7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-209962b3cdbeaf4b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/RecallSession.ts:606"}, "properties": {"repobilityId": "ab5585d33b272e76", "scanner": "scanner-primary", "fingerprint": "209962b3cdbeaf4b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-30b6cc16ba0c9692", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SkillSearch.ts:125"}, "properties": {"repobilityId": "f1459814a5744650", "scanner": "scanner-primary", "fingerprint": "30b6cc16ba0c9692", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47847e6c68cf65e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SplitAndTranscribe.ts:37"}, "properties": {"repobilityId": "3ced0994f7bdeaf9", "scanner": "scanner-primary", "fingerprint": "47847e6c68cf65e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-133b7b62f530b510", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/SecretScan.ts:57"}, "properties": {"repobilityId": "d8a39bb86a137874", "scanner": "scanner-primary", "fingerprint": "133b7b62f530b510", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f49d2328793161b2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/GenerateSkillIndex.ts:190"}, "properties": {"repobilityId": "487c40cd38ea0944", "scanner": "scanner-primary", "fingerprint": "f49d2328793161b2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c48f53c1c5686952", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/BannerRetro.ts:716"}, "properties": {"repobilityId": "8a79d6c85e0387bb", "scanner": "scanner-primary", "fingerprint": "c48f53c1c5686952", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7cd10644bcda4e64", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAI/Tools/PipelineMonitor.ts:588"}, "properties": {"repobilityId": "0e8ebc4d395d070a", "scanner": "scanner-primary", "fingerprint": "7cd10644bcda4e64", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a9ba3b46f78848ce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_CNKB/Tools/PatchMinecraftFraming.ts:71"}, "properties": {"repobilityId": "9c930a2215fa3017", "scanner": "scanner-primary", "fingerprint": "a9ba3b46f78848ce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1f69a831c1e87958", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_CNKB/Tools/SyncPrompt.ts:66"}, "properties": {"repobilityId": "1787e25261ce1306", "scanner": "scanner-primary", "fingerprint": "1f69a831c1e87958", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a090fe9e4ecf929a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_CNKB/Tools/SweepRecoveryRules.ts:207"}, "properties": {"repobilityId": "fe87cc3c54ba8338", "scanner": "scanner-primary", "fingerprint": "a090fe9e4ecf929a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8109a1826f3b4099", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_OFFBOARDCENTRE/Tools/Offboard.ts:79"}, "properties": {"repobilityId": "ee6838f32e35b7bc", "scanner": "scanner-primary", "fingerprint": "8109a1826f3b4099", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-582c8f9820e182a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/VoiceServer/Tools/VoiceServerManager.ts:59"}, "properties": {"repobilityId": "9cac5781a8db916f", "scanner": "scanner-primary", "fingerprint": "582c8f9820e182a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-51e74b21d0822d7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/AnnualReports/Tools/ListSources.ts:48"}, "properties": {"repobilityId": "58e3e4c6fd190aa7", "scanner": "scanner-primary", "fingerprint": "51e74b21d0822d7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-419fb28edbe79ee2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/AnnualReports/Tools/FetchReport.ts:78"}, "properties": {"repobilityId": "67692d637aec49da", "scanner": "scanner-primary", "fingerprint": "419fb28edbe79ee2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b22308f33ef6050e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/AnnualReports/Tools/UpdateSources.ts:36"}, "properties": {"repobilityId": "e83d2c09fe945916", "scanner": "scanner-primary", "fingerprint": "b22308f33ef6050e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-069b2cb5f33ad6cb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/PAIUpgrade/Tools/Anthropic.ts:683"}, "properties": {"repobilityId": "36ec0b0d006e27a9", "scanner": "scanner-primary", "fingerprint": "069b2cb5f33ad6cb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0a20a60abcc4d850", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_TESTCASES/Tools/TestCaseManager.ts:53"}, "properties": {"repobilityId": "beab7cabc2f5936f", "scanner": "scanner-primary", "fingerprint": "0a20a60abcc4d850", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-047b44068f887b11", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/SecurityAudit/Tools/MoltbotSecurityCheck.ts:322"}, "properties": {"repobilityId": "87c7903ddb66706c", "scanner": "scanner-primary", "fingerprint": "047b44068f887b11", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0e8b4da597c2d4b4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_SOWCONTRACTS/Tools/SOWGenerator.ts:31"}, "properties": {"repobilityId": "8b6a997a46c834a1", "scanner": "scanner-primary", "fingerprint": "0e8b4da597c2d4b4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5b24284d4bf1335b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Lib/discord-bot.ts:74"}, "properties": {"repobilityId": "f298e6c66032cb0f", "scanner": "scanner-primary", "fingerprint": "5b24284d4bf1335b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-146b18a7e1079f09", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Lib/midjourney-client.ts:97"}, "properties": {"repobilityId": "f07b1ed411c6e413", "scanner": "scanner-primary", "fingerprint": "146b18a7e1079f09", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cf634ffeb5dc7803", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/Generate.ts:132"}, "properties": {"repobilityId": "913a1df6ca6cf634", "scanner": "scanner-primary", "fingerprint": "cf634ffeb5dc7803", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4111175f8665b526", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/ComposeThumbnail.ts:104"}, "properties": {"repobilityId": "09899b2ca686e6b8", "scanner": "scanner-primary", "fingerprint": "4111175f8665b526", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-274df8ec85484b0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/GenerateMidjourneyImage.ts:130"}, "properties": {"repobilityId": "de55bbf59bcd9e8d", "scanner": "scanner-primary", "fingerprint": "274df8ec85484b0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-78b43042d6dd6c52", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Art/Tools/GeneratePrompt.ts:448"}, "properties": {"repobilityId": "1a3e098a579c2222", "scanner": "scanner-primary", "fingerprint": "78b43042d6dd6c52", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9571a801044a702b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/web/web-scraper.ts:192"}, "properties": {"repobilityId": "13cbda4ef4663100", "scanner": "scanner-primary", "fingerprint": "9571a801044a702b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0fcb6b5c2a6f0ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/ecommerce/amazon.ts:104"}, "properties": {"repobilityId": "c7d7b1f077f83826", "scanner": "scanner-primary", "fingerprint": "f0fcb6b5c2a6f0ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9f714777fec11786", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/social-media/linkedin.ts:143"}, "properties": {"repobilityId": "318877284ed0c5ae", "scanner": "scanner-primary", "fingerprint": "9f714777fec11786", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-006d4967247ff949", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/social-media/twitter.ts:107"}, "properties": {"repobilityId": "3d475437b988dcb4", "scanner": "scanner-primary", "fingerprint": "006d4967247ff949", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0c16559fa480b833", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/actors/social-media/instagram.ts:116"}, "properties": {"repobilityId": "1a4824e4ca1ae0d6", "scanner": "scanner-primary", "fingerprint": "0c16559fa480b833", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a81d3132d523ae4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/examples/smoke-test.ts:12"}, "properties": {"repobilityId": "646a2f7a38999743", "scanner": "scanner-primary", "fingerprint": "7a81d3132d523ae4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-427ff96f0b673a60", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/examples/comparison-test.ts:20"}, "properties": {"repobilityId": "19bd675adf50e66f", "scanner": "scanner-primary", "fingerprint": "427ff96f0b673a60", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7ba316dd97e981a9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/examples/instagram-scraper.ts:14"}, "properties": {"repobilityId": "c4a558450de7a46d", "scanner": "scanner-primary", "fingerprint": "7ba316dd97e981a9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ac01ef244480883", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Apify/skills/get-user-tweets.ts:19"}, "properties": {"repobilityId": "52c506c332bcf9ce", "scanner": "scanner-primary", "fingerprint": "4ac01ef244480883", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-76cfcc4bec8831ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/PricingCalculator.ts:238"}, "properties": {"repobilityId": "ec08eeb2967cdfd5", "scanner": "scanner-primary", "fingerprint": "76cfcc4bec8831ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-003d5c4563077414", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/FeedbackTracker.ts:158"}, "properties": {"repobilityId": "00ac857cc7bc0ff8", "scanner": "scanner-primary", "fingerprint": "003d5c4563077414", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0819aaf9d5962301", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/PromptBuilder.ts:436"}, "properties": {"repobilityId": "cb6f42f091d9a930", "scanner": "scanner-primary", "fingerprint": "0819aaf9d5962301", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a8ddf18d805c1839", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/AgentAudit.ts:160"}, "properties": {"repobilityId": "ca3a07d6b069c393", "scanner": "scanner-primary", "fingerprint": "a8ddf18d805c1839", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-38539e966bbc57e4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/_VOICEAIAGENCY/Tools/ClientTracker.ts:99"}, "properties": {"repobilityId": "9327eb90977f414d", "scanner": "scanner-primary", "fingerprint": "38539e966bbc57e4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-77b177c590049046", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/Documents/Pptx/Scripts/html2pptx.js:921"}, "properties": {"repobilityId": "68424c52673f982d", "scanner": "scanner-primary", "fingerprint": "77b177c590049046", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a126a13ec1ce4cfe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/PipelineOrchestrator.ts:138"}, "properties": {"repobilityId": "9da633caa77e4424", "scanner": "scanner-primary", "fingerprint": "a126a13ec1ce4cfe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-83d8f4741a99b1c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/LearningPatternSynthesis.ts:312"}, "properties": {"repobilityId": "c1fd231f21910032", "scanner": "scanner-primary", "fingerprint": "83d8f4741a99b1c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5bba1134e9543bc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/ExtractTranscript.ts:53"}, "properties": {"repobilityId": "5ee40c63a98a0c9c", "scanner": "scanner-primary", "fingerprint": "a5bba1134e9543bc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f9a2df2eb6b26bfd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/FailureCapture.ts:525"}, "properties": {"repobilityId": "c5142e9f60d2d238", "scanner": "scanner-primary", "fingerprint": "f9a2df2eb6b26bfd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c04b653970e0a75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/RelationshipReflect.ts:411"}, "properties": {"repobilityId": "d749848786573636", "scanner": "scanner-primary", "fingerprint": "2c04b653970e0a75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dca441841eba0345", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/TranscriptParser.ts:322"}, "properties": {"repobilityId": "15d0bd50abae7764", "scanner": "scanner-primary", "fingerprint": "dca441841eba0345", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5547bd5825b13f73", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/AddBg.ts:30"}, "properties": {"repobilityId": "f4c4434d1fbe0e12", "scanner": "scanner-primary", "fingerprint": "5547bd5825b13f73", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c77c78cb1ab7d1e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/pai.ts:75"}, "properties": {"repobilityId": "8bf745bffddbadf2", "scanner": "scanner-primary", "fingerprint": "6c77c78cb1ab7d1e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3dbb86e9f11d42e9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/GetTranscript.ts:46"}, "properties": {"repobilityId": "2fd772302d48971a", "scanner": "scanner-primary", "fingerprint": "3dbb86e9f11d42e9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-81c84a8701a68ddb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/Banner.ts:863"}, "properties": {"repobilityId": "89577012fc655a82", "scanner": "scanner-primary", "fingerprint": "81c84a8701a68ddb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d1cce4d48ecc69d6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerMatrix.ts:681"}, "properties": {"repobilityId": "6116ca961323da0c", "scanner": "scanner-primary", "fingerprint": "d1cce4d48ecc69d6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ced43dafa10554b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/PreviewMarkdown.ts:61"}, "properties": {"repobilityId": "ca80751e4121bc6d", "scanner": "scanner-primary", "fingerprint": "3ced43dafa10554b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f318606fb6e0488d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/Inference.ts:236"}, "properties": {"repobilityId": "e70765e5231bb117", "scanner": "scanner-primary", "fingerprint": "f318606fb6e0488d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97d9e1332688e45e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/FeatureRegistry.ts:104"}, "properties": {"repobilityId": "78cb6cba6719f850", "scanner": "scanner-primary", "fingerprint": "97d9e1332688e45e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-54c69a24c69e3bb2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerTokyo.ts:148"}, "properties": {"repobilityId": "54edd1b08bc7439c", "scanner": "scanner-primary", "fingerprint": "54c69a24c69e3bb2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-830e98831285168e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SessionHarvester.ts:321"}, "properties": {"repobilityId": "02d9decb738ed55e", "scanner": "scanner-primary", "fingerprint": "830e98831285168e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc5052bca8e6542f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/CreateDynamicCore.ts:132"}, "properties": {"repobilityId": "1f5def90fc555b31", "scanner": "scanner-primary", "fingerprint": "dc5052bca8e6542f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e506bf1b669cb178", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/GetCounts.ts:187"}, "properties": {"repobilityId": "5ea1190c6fd0db3e", "scanner": "scanner-primary", "fingerprint": "e506bf1b669cb178", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d29cd918d98da814", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SessionProgress.ts:69"}, "properties": {"repobilityId": "101fc179f5a6540d", "scanner": "scanner-primary", "fingerprint": "d29cd918d98da814", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-27364d9954db76bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/OpinionTracker.ts:255"}, "properties": {"repobilityId": "bf4418e766e32cec", "scanner": "scanner-primary", "fingerprint": "27364d9954db76bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-42a3e6e866742a86", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/YouTubeApi.ts:101"}, "properties": {"repobilityId": "fe530cb49f516257", "scanner": "scanner-primary", "fingerprint": "42a3e6e866742a86", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-829b369027258356", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/LoadSkillConfig.ts:244"}, "properties": {"repobilityId": "cbab95ec2d107f67", "scanner": "scanner-primary", "fingerprint": "829b369027258356", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-71fd6110aef2ad7d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/PAILogo.ts:37"}, "properties": {"repobilityId": "0b50464adf705810", "scanner": "scanner-primary", "fingerprint": "71fd6110aef2ad7d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-38c666866f91cbec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerNeofetch.ts:579"}, "properties": {"repobilityId": "fb9e9fb7ca99edf9", "scanner": "scanner-primary", "fingerprint": "38c666866f91cbec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1453d17e692cce21", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SessionLookup.ts:100"}, "properties": {"repobilityId": "b1cbc96cbcfccb12", "scanner": "scanner-primary", "fingerprint": "1453d17e692cce21", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b856e890fb30b81a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/RemoveBg.ts:56"}, "properties": {"repobilityId": "ab921609b4c33ac1", "scanner": "scanner-primary", "fingerprint": "b856e890fb30b81a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0c0725df5afecf27", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/ActivityParser.ts:665"}, "properties": {"repobilityId": "650b59dcf656cebb", "scanner": "scanner-primary", "fingerprint": "0c0725df5afecf27", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b4abc043efbed422", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/NeofetchBanner.ts:711"}, "properties": {"repobilityId": "7c9f8d7c126499a8", "scanner": "scanner-primary", "fingerprint": "b4abc043efbed422", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d449374b5427dc6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerPrototypes.ts:141"}, "properties": {"repobilityId": "373ed0aa38e46e6e", "scanner": "scanner-primary", "fingerprint": "2d449374b5427dc6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0335dbdcd653955b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/RecallSession.ts:606"}, "properties": {"repobilityId": "d8bdc9c1c114efb1", "scanner": "scanner-primary", "fingerprint": "0335dbdcd653955b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b00c0e4a6f70c5e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SkillSearch.ts:125"}, "properties": {"repobilityId": "1c74e58c9174bc23", "scanner": "scanner-primary", "fingerprint": "6b00c0e4a6f70c5e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-15b175b27bcdd88c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SplitAndTranscribe.ts:37"}, "properties": {"repobilityId": "a5be17ae8768303b", "scanner": "scanner-primary", "fingerprint": "15b175b27bcdd88c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-578235de626ec77f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/SecretScan.ts:57"}, "properties": {"repobilityId": "5f819cda98f8597e", "scanner": "scanner-primary", "fingerprint": "578235de626ec77f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f43cf5719162fb57", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/GenerateSkillIndex.ts:190"}, "properties": {"repobilityId": "0033e81153bddd11", "scanner": "scanner-primary", "fingerprint": "f43cf5719162fb57", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f8a3ba6384da64c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/BannerRetro.ts:716"}, "properties": {"repobilityId": "ff7b752fdca8fd8f", "scanner": "scanner-primary", "fingerprint": "2f8a3ba6384da64c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53a9d705e94f475e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 Tools/PipelineMonitor.ts:588"}, "properties": {"repobilityId": "8e6ca26df951f5a4", "scanner": "scanner-primary", "fingerprint": "53a9d705e94f475e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6fbf9d107595d8e9", "level": "warning", "message": {"text": "Privileged port 21 in use"}, "properties": {"repobilityId": "d920b7cd1b1a16dc", "scanner": "scanner-primary", "fingerprint": "6fbf9d107595d8e9", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260328-215030_analyze-n8n-cloud-executions/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0e1117977e589d30", "level": "warning", "message": {"text": "Privileged port 50 in use"}, "properties": {"repobilityId": "da61f654c07ea7a9", "scanner": "scanner-primary", "fingerprint": "0e1117977e589d30", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260328-215030_analyze-n8n-cloud-executions/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0ac67576a2b65ed8", "level": "warning", "message": {"text": "Privileged port 39 in use"}, "properties": {"repobilityId": "9b982a253b897533", "scanner": "scanner-primary", "fingerprint": "0ac67576a2b65ed8", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260416-023908_analyze-todays-calls/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae3e4eced6ccc901", "level": "warning", "message": {"text": "Privileged port 28 in use"}, "properties": {"repobilityId": "5c3f00b3e839840d", "scanner": "scanner-primary", "fingerprint": "ae3e4eced6ccc901", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260418-052848_save-commit-push/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8c6e10a0ba087b8d", "level": "warning", "message": {"text": "Privileged port 16 in use"}, "properties": {"repobilityId": "d31009168c502ace", "scanner": "scanner-primary", "fingerprint": "8c6e10a0ba087b8d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260322-160356_i-want-to-test-the-inbound-agent-now/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6a8914b3b1d040a6", "level": "warning", "message": {"text": "Privileged port 41 in use"}, "properties": {"repobilityId": "21c3be090ea64fdb", "scanner": "scanner-primary", "fingerprint": "6a8914b3b1d040a6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260413-074109_tasknotification-taskidb895z0gictaskid/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-44a4063ff0cf5cc7", "level": "warning", "message": {"text": "Privileged port 23 in use"}, "properties": {"repobilityId": "a1230e3dfc4becfa", "scanner": "scanner-primary", "fingerprint": "44a4063ff0cf5cc7", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260416-234500_im-at-the-centre-now-debugging-steps-1-and-2-ar/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9e0f6d077d389ab5", "level": "warning", "message": {"text": "Privileged port 45 in use"}, "properties": {"repobilityId": "73cf64d92574d41c", "scanner": "scanner-primary", "fingerprint": "9e0f6d077d389ab5", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260416-234500_im-at-the-centre-now-debugging-steps-1-and-2-ar/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-55ba09bcef972dba", "level": "warning", "message": {"text": "Privileged port 54 in use"}, "properties": {"repobilityId": "cfa860c24fdc3eef", "scanner": "scanner-primary", "fingerprint": "55ba09bcef972dba", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260418-045443_system-connection-test/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a07a6261a6d57df6", "level": "warning", "message": {"text": "Privileged port 57 in use"}, "properties": {"repobilityId": "7f473bea32892301", "scanner": "scanner-primary", "fingerprint": "a07a6261a6d57df6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260605-035742_anything-left-to-do-here/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8cd65d3d6bf9934b", "level": "warning", "message": {"text": "Privileged port 24 in use"}, "properties": {"repobilityId": "a6356ba91a17fcb8", "scanner": "scanner-primary", "fingerprint": "8cd65d3d6bf9934b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260427-032450_how-are-you-calculating-or-estimating-averge-inbou/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-99a969878f908a4e", "level": "warning", "message": {"text": "Privileged port 15 in use"}, "properties": {"repobilityId": "3340f9a170f285cd", "scanner": "scanner-primary", "fingerprint": "99a969878f908a4e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260428-011542_whats-the-url-again/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b343d746417a2870", "level": "warning", "message": {"text": "Privileged port 37 in use"}, "properties": {"repobilityId": "3bc0728a81a76695", "scanner": "scanner-primary", "fingerprint": "b343d746417a2870", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260203-043708_update-moltworker-with-latest-github-code/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f43b578309d6d7eb", "level": "warning", "message": {"text": "Privileged port 30 in use"}, "properties": {"repobilityId": "54f172e7d16fc662", "scanner": "scanner-primary", "fingerprint": "f43b578309d6d7eb", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260428-013042_i-want-to-work-on-analytics-i-want-to-focus-on-t/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2cb36c50a0c09c5c", "level": "warning", "message": {"text": "Privileged port 19 in use"}, "properties": {"repobilityId": "a6b5b06deac36eac", "scanner": "scanner-primary", "fingerprint": "2cb36c50a0c09c5c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260228-192929_onboard-new-center-code-ninjas-river-side/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6225e64efb681ce6", "level": "warning", "message": {"text": "Privileged port 29 in use"}, "properties": {"repobilityId": "f09242400239b5a3", "scanner": "scanner-primary", "fingerprint": "6225e64efb681ce6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260228-192929_onboard-new-center-code-ninjas-river-side/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9056c3bb0dd39fd9", "level": "warning", "message": {"text": "Privileged port 17 in use"}, "properties": {"repobilityId": "0bf38fb8f89ec589", "scanner": "scanner-primary", "fingerprint": "9056c3bb0dd39fd9", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260411-172439_how-do-i-login-to-the-portal/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e402ee31d3a7f2ff", "level": "warning", "message": {"text": "Privileged port 48 in use"}, "properties": {"repobilityId": "6a483602fa277896", "scanner": "scanner-primary", "fingerprint": "e402ee31d3a7f2ff", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260416-044803_save-commit-push/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b703a9e17ffb0e4b", "level": "warning", "message": {"text": "Privileged port 18 in use"}, "properties": {"repobilityId": "2d7b5e7d9c158e43", "scanner": "scanner-primary", "fingerprint": "b703a9e17ffb0e4b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260301-180100_we-need-to-work-on-subzero-automations-lets-di/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-35a6e57d504119a0", "level": "warning", "message": {"text": "Privileged port 14 in use"}, "properties": {"repobilityId": "2dbd4b719a1412ff", "scanner": "scanner-primary", "fingerprint": "35a6e57d504119a0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260224-041402_i-have-a-live-demo-of-the-speedtolead-system-we/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-101ac879264b9fea", "level": "warning", "message": {"text": "Privileged port 55 in use"}, "properties": {"repobilityId": "51a768b3e1831ac0", "scanner": "scanner-primary", "fingerprint": "101ac879264b9fea", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260501-225558_summarize-this-session/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-73303064c3e19ada", "level": "warning", "message": {"text": "Privileged port 34 in use"}, "properties": {"repobilityId": "2febb579b1c7080d", "scanner": "scanner-primary", "fingerprint": "73303064c3e19ada", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260328-183401_yeah-this-doesnt-seem-like-a-very-smooth-client/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-753ca8dd6db359f0", "level": "warning", "message": {"text": "Privileged port 36 in use"}, "properties": {"repobilityId": "d1c2650d13d67a60", "scanner": "scanner-primary", "fingerprint": "753ca8dd6db359f0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260604-013631_are-you-able-to-tell-if-my-clients-with-chatdash-s/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1c7b7cbb0812f5a2", "level": "warning", "message": {"text": "Privileged port 11 in use"}, "properties": {"repobilityId": "5b3038c67fabb4c8", "scanner": "scanner-primary", "fingerprint": "1c7b7cbb0812f5a2", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260228-111359_recall-last-session-i-want-to-work-on-subzero-a/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2da9944d1927022b", "level": "warning", "message": {"text": "Privileged port 13 in use"}, "properties": {"repobilityId": "79d721e4d6f64798", "scanner": "scanner-primary", "fingerprint": "2da9944d1927022b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260228-111359_recall-last-session-i-want-to-work-on-subzero-a/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-36742105511be709", "level": "warning", "message": {"text": "Privileged port 46 in use"}, "properties": {"repobilityId": "e83b659b6ec9a0fc", "scanner": "scanner-primary", "fingerprint": "36742105511be709", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260325-014625_i-want-to-create-a-feature-that-tracks-my-claude/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f2682a1bd30fed4", "level": "warning", "message": {"text": "Privileged port 40 in use"}, "properties": {"repobilityId": "28c59d470d4929c6", "scanner": "scanner-primary", "fingerprint": "1f2682a1bd30fed4", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260325-014048_save-commit-push/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c2c95b84ac8ff0fd", "level": "warning", "message": {"text": "Privileged port 42 in use"}, "properties": {"repobilityId": "16d9608735f9e01a", "scanner": "scanner-primary", "fingerprint": "c2c95b84ac8ff0fd", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260604-224207_st-catharines-network-is-niagara-regional-broadba/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e08c9b1c120993b6", "level": "warning", "message": {"text": "Privileged port 56 in use"}, "properties": {"repobilityId": "104b02b29065e84a", "scanner": "scanner-primary", "fingerprint": "e08c9b1c120993b6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260413-215606_analyze-todays-calls/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-83ba336926ccd573", "level": "warning", "message": {"text": "Privileged port 51 in use"}, "properties": {"repobilityId": "22e13070198289ad", "scanner": "scanner-primary", "fingerprint": "83ba336926ccd573", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260603-005117_httpswwwskoolcomamplifyvoiceai-email-s/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ffb9d6bb43e4197", "level": "warning", "message": {"text": "Privileged port 59 in use"}, "properties": {"repobilityId": "6c14a9dab4958e92", "scanner": "scanner-primary", "fingerprint": "7ffb9d6bb43e4197", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260525-235941_diagnose-issue-flagged-on-saturday-clickup-task/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8442ed23606d783a", "level": "warning", "message": {"text": "Privileged port 32 in use"}, "properties": {"repobilityId": "20c0fabc691cdde4", "scanner": "scanner-primary", "fingerprint": "8442ed23606d783a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260318-013213_potentially-onboarding-north-york-lets-generate/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-25372c18c1d402d5", "level": "warning", "message": {"text": "Privileged port 27 in use"}, "properties": {"repobilityId": "69cb2b980eb576a0", "scanner": "scanner-primary", "fingerprint": "25372c18c1d402d5", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260503-172714_lets-continue-onboarding-riverside-into-test-mode/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f91efcba9dac31ac", "level": "warning", "message": {"text": "Privileged port 31 in use"}, "properties": {"repobilityId": "8a1049d03b927a2d", "scanner": "scanner-primary", "fingerprint": "f91efcba9dac31ac", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260225-223155_analyze-todays-calls/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d6af906098f61fe6", "level": "warning", "message": {"text": "Privileged port 20 in use"}, "properties": {"repobilityId": "a59f3e53d617e0f8", "scanner": "scanner-primary", "fingerprint": "d6af906098f61fe6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260502-204008_lets-analyze-calldid-call47c3f2f7ef40c81bd7cd/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ec4a48f84f535515", "level": "warning", "message": {"text": "Privileged port 35 in use"}, "properties": {"repobilityId": "e997ec9811d79c6d", "scanner": "scanner-primary", "fingerprint": "ec4a48f84f535515", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260501-033512_continue-poll-cekura-result-498211-with-resultsr/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ddbfad2b81e8ca4a", "level": "warning", "message": {"text": "Privileged port 26 in use"}, "properties": {"repobilityId": "9c5e4d9c5edd9bd2", "scanner": "scanner-primary", "fingerprint": "ddbfad2b81e8ca4a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260413-072656_eg-inbound-pilot-call-forwarding-setup-instructi/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8516238c9d25ed5b", "level": "warning", "message": {"text": "Privileged port 43 in use"}, "properties": {"repobilityId": "af1bc8881542418e", "scanner": "scanner-primary", "fingerprint": "8516238c9d25ed5b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260314-144313_recall-discussion-on-ai-agency-business-structure/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-70ef718c86a3846c", "level": "warning", "message": {"text": "Privileged port 38 in use"}, "properties": {"repobilityId": "b7214bb254c5881d", "scanner": "scanner-primary", "fingerprint": "70ef718c86a3846c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260323-003808_how-many-cekura-credits-do-we-have-right-now/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ddc52feca01a9fa7", "level": "warning", "message": {"text": "Privileged port 44 in use"}, "properties": {"repobilityId": "1f021a2e926773a0", "scanner": "scanner-primary", "fingerprint": "ddc52feca01a9fa7", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260612-034442_check-calls-for-issues-over-the-last-3-days/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-19f3915e1dce4ac8", "level": "warning", "message": {"text": "Privileged port 58 in use"}, "properties": {"repobilityId": "6d9ae83ac6aad676", "scanner": "scanner-primary", "fingerprint": "19f3915e1dce4ac8", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260603-005854_save-commit-push/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-51a6de6c4143ade6", "level": "warning", "message": {"text": "Privileged port 12 in use"}, "properties": {"repobilityId": "65e7eefa33f2def4", "scanner": "scanner-primary", "fingerprint": "51a6de6c4143ade6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260211-131250_build-voice-communication-web-app/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fe04a495ea94b68f", "level": "warning", "message": {"text": "Privileged port 52 in use"}, "properties": {"repobilityId": "2b6877fa37212075", "scanner": "scanner-primary", "fingerprint": "fe04a495ea94b68f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260512-225247_remind-me-what-we-were-discussing-in-this-session/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cf7cc46ee411234e", "level": "warning", "message": {"text": "Privileged port 49 in use"}, "properties": {"repobilityId": "6108a3341973dcab", "scanner": "scanner-primary", "fingerprint": "cf7cc46ee411234e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260511-044943_recall-what-weve-been-discussing-in-this-session/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fc7617a1ff048f4f", "level": "warning", "message": {"text": "Privileged port 47 in use"}, "properties": {"repobilityId": "986e85543d70890d", "scanner": "scanner-primary", "fingerprint": "fc7617a1ff048f4f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260328-174727_that-worked-save-commit-push/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-887248f85bbc792a", "level": "warning", "message": {"text": "Privileged port 10 in use"}, "properties": {"repobilityId": "735372d6b5594915", "scanner": "scanner-primary", "fingerprint": "887248f85bbc792a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260406-031036_whats-your-analysis-of-the-the-pricing-feature-ma/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-66b45b51ac3653ab", "level": "warning", "message": {"text": "Privileged port 33 in use"}, "properties": {"repobilityId": "f08e29b4b53f7301", "scanner": "scanner-primary", "fingerprint": "66b45b51ac3653ab", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/WORK/20260301-153300_what-are-we-using-on-cloudflare-thats-causing-the/META.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84f5b2c82b9b68b0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in INSTALL.ts:18"}, "properties": {"repobilityId": "f4b4333aad4885e7", "scanner": "scanner-primary", "fingerprint": "84f5b2c82b9b68b0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "INSTALL.ts"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-bbcb2f5d198f625b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in lib/migration/validator.ts:9"}, "properties": {"repobilityId": "13530d497c042226", "scanner": "scanner-primary", "fingerprint": "bbcb2f5d198f625b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/migration/validator.ts"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-80cae7388cf9e38e", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in Observability/apps/server/src/index.ts:70"}, "properties": {"repobilityId": "ba8c0733e181a1de", "scanner": "scanner-primary", "fingerprint": "80cae7388cf9e38e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Observability/apps/server/src/index.ts"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-7f21a1667f7e5f5b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hooks/LoadContext.hook.ts:43"}, "properties": {"repobilityId": "62cb0b95c1dfcad4", "scanner": "scanner-primary", "fingerprint": "7f21a1667f7e5f5b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hooks/LoadContext.hook.ts"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-f8d3c0c8bb2438db", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hooks/StartupGreeting.hook.ts:50"}, "properties": {"repobilityId": "456a5e5fd811e975", "scanner": "scanner-primary", "fingerprint": "f8d3c0c8bb2438db", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hooks/StartupGreeting.hook.ts"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-021d9e6e2b8a4cb5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hooks/UpdateTabTitle.hook.ts:74"}, "properties": {"repobilityId": "de0cef2205f9526e", "scanner": "scanner-primary", "fingerprint": "021d9e6e2b8a4cb5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hooks/UpdateTabTitle.hook.ts"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-e61ef74c7465fb65", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hooks/SoulEvolution.hook.ts:30"}, "properties": {"repobilityId": "2286dd96056b5d27", "scanner": "scanner-primary", "fingerprint": "e61ef74c7465fb65", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hooks/SoulEvolution.hook.ts"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-4035834d3cec2840", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hooks/handlers/RebuildSkill.ts:24"}, "properties": {"repobilityId": "5ef8bc7cdf8bde64", "scanner": "scanner-primary", "fingerprint": "4035834d3cec2840", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hooks/handlers/RebuildSkill.ts"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-76df9f8e54a2b6ab", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hooks/handlers/SystemIntegrity.ts:20"}, "properties": {"repobilityId": "5300e0848a50c8bf", "scanner": "scanner-primary", "fingerprint": "76df9f8e54a2b6ab", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hooks/handlers/SystemIntegrity.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-fa6debdb41309bdb", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in skills/Browser/Tools/BrowserSession.ts:108"}, "properties": {"repobilityId": "681bb91e20fbfd8a", "scanner": "scanner-primary", "fingerprint": "fa6debdb41309bdb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Browser/Tools/BrowserSession.ts"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-323867a3f796f671", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in skills/_CLICKAUDIT/Tools/AuditClicks.ts:194"}, "properties": {"repobilityId": "27466a0d888d4569", "scanner": "scanner-primary", "fingerprint": "323867a3f796f671", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/_CLICKAUDIT/Tools/AuditClicks.ts"}, "region": {"startLine": 194}}}]}, {"ruleId": "scanner-219ea16b15069e5c", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in skills/WebAssessment/WebappScripts/with_server.py:71"}, "properties": {"repobilityId": "f80212fd554ac0ba", "scanner": "scanner-primary", "fingerprint": "219ea16b15069e5c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/WebAssessment/WebappScripts/with_server.py"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-fe4ad0677bcbaa67", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/RelationshipReflect.ts:30"}, "properties": {"repobilityId": "17c4a3d5a6453a3b", "scanner": "scanner-primary", "fingerprint": "fe4ad0677bcbaa67", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/RelationshipReflect.ts"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-c07cbc46e21f3f8d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/AddBg.ts:17"}, "properties": {"repobilityId": "523efdcf6fdaec04", "scanner": "scanner-primary", "fingerprint": "c07cbc46e21f3f8d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/AddBg.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-33dc77b0baf97d0b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/GetTranscript.ts:18"}, "properties": {"repobilityId": "65c77ef49543adaf", "scanner": "scanner-primary", "fingerprint": "33dc77b0baf97d0b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/GetTranscript.ts"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-826d275d5c3b669f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/Banner.ts:13"}, "properties": {"repobilityId": "6640fae02f3b76bb", "scanner": "scanner-primary", "fingerprint": "826d275d5c3b669f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/Banner.ts"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-20b41970efd9a70c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/BannerMatrix.ts:22"}, "properties": {"repobilityId": "fba159c59d7cf9bf", "scanner": "scanner-primary", "fingerprint": "20b41970efd9a70c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/BannerMatrix.ts"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-d610beaef2e83910", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/PAI/Tools/PreviewMarkdown.ts:53"}, "properties": {"repobilityId": "126b97da796f2645", "scanner": "scanner-primary", "fingerprint": "d610beaef2e83910", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/PreviewMarkdown.ts"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-4e298db31ef47a1a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/Inference.ts:34"}, "properties": {"repobilityId": "e14b14324d2a393f", "scanner": "scanner-primary", "fingerprint": "4e298db31ef47a1a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/Inference.ts"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-66c2099e93f93fd5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/IntegrityMaintenance.ts:21"}, "properties": {"repobilityId": "3a8a5b35378588ba", "scanner": "scanner-primary", "fingerprint": "66c2099e93f93fd5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/IntegrityMaintenance.ts"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-9e8d5b1643de0cb0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/BannerNeofetch.ts:15"}, "properties": {"repobilityId": "ec477ad9626dd48f", "scanner": "scanner-primary", "fingerprint": "9e8d5b1643de0cb0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/BannerNeofetch.ts"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-2a01e369d031206c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/NeofetchBanner.ts:20"}, "properties": {"repobilityId": "ee2d8f3443ad08b3", "scanner": "scanner-primary", "fingerprint": "2a01e369d031206c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/NeofetchBanner.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-a9a12864bd9f788f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/RecallSession.ts:38"}, "properties": {"repobilityId": "4b8cd77f66a3b703", "scanner": "scanner-primary", "fingerprint": "a9a12864bd9f788f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/RecallSession.ts"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-7992e000ab32bed7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/SplitAndTranscribe.ts:9"}, "properties": {"repobilityId": "ad9bc895cd9c01ab", "scanner": "scanner-primary", "fingerprint": "7992e000ab32bed7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/SplitAndTranscribe.ts"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-065108f07b3d8541", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/SecretScan.ts:32"}, "properties": {"repobilityId": "c84a8dac9830b9d5", "scanner": "scanner-primary", "fingerprint": "065108f07b3d8541", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/SecretScan.ts"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-87a8f4bb51314089", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/PAI/Tools/BannerRetro.ts:20"}, "properties": {"repobilityId": "59920cdb801d8f2b", "scanner": "scanner-primary", "fingerprint": "87a8f4bb51314089", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/BannerRetro.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-0ff6940a6c62bff3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/PAI/Tools/PipelineMonitor.ts:397"}, "properties": {"repobilityId": "b29f82ba1842d17c", "scanner": "scanner-primary", "fingerprint": "0ff6940a6c62bff3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/PAI/Tools/PipelineMonitor.ts"}, "region": {"startLine": 397}}}]}, {"ruleId": "scanner-63b6a6d762358ee0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/Art/Tools/Generate.ts:389"}, "properties": {"repobilityId": "70d9d7713c01dc8b", "scanner": "scanner-primary", "fingerprint": "63b6a6d762358ee0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Art/Tools/Generate.ts"}, "region": {"startLine": 389}}}]}, {"ruleId": "scanner-6582cd7ab4c55dac", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/Art/Tools/ComposeThumbnail.ts:16"}, "properties": {"repobilityId": "41c3038177f2dfb7", "scanner": "scanner-primary", "fingerprint": "6582cd7ab4c55dac", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Art/Tools/ComposeThumbnail.ts"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-40ae1c2f02a1e2f6", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/RelationshipReflect.ts:30"}, "properties": {"repobilityId": "2599237910db7a76", "scanner": "scanner-primary", "fingerprint": "40ae1c2f02a1e2f6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/RelationshipReflect.ts"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-0b67289bd9669c5a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/AddBg.ts:17"}, "properties": {"repobilityId": "fdb823b407447cc1", "scanner": "scanner-primary", "fingerprint": "0b67289bd9669c5a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/AddBg.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-ce00241a2ef685c4", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/GetTranscript.ts:18"}, "properties": {"repobilityId": "3f22f52a2161d26f", "scanner": "scanner-primary", "fingerprint": "ce00241a2ef685c4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/GetTranscript.ts"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-6283b27c0be7eabf", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/Banner.ts:13"}, "properties": {"repobilityId": "8164e206dcd1ceef", "scanner": "scanner-primary", "fingerprint": "6283b27c0be7eabf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/Banner.ts"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-101f26ccde432651", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/BannerMatrix.ts:22"}, "properties": {"repobilityId": "ef52caf1662f0d4f", "scanner": "scanner-primary", "fingerprint": "101f26ccde432651", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/BannerMatrix.ts"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-58da9a581ab9783b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in Tools/PreviewMarkdown.ts:53"}, "properties": {"repobilityId": "f6bfe583126687ed", "scanner": "scanner-primary", "fingerprint": "58da9a581ab9783b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/PreviewMarkdown.ts"}, "region": {"startLine": 53}}}]}, {"ruleId": "scanner-b008e9f467496dfe", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/Inference.ts:34"}, "properties": {"repobilityId": "375b7e561a0b80ae", "scanner": "scanner-primary", "fingerprint": "b008e9f467496dfe", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/Inference.ts"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-5a093acb571d0a34", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/IntegrityMaintenance.ts:21"}, "properties": {"repobilityId": "b9521c95ffa644e9", "scanner": "scanner-primary", "fingerprint": "5a093acb571d0a34", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/IntegrityMaintenance.ts"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-66a5ce0a20fd7679", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/BannerNeofetch.ts:15"}, "properties": {"repobilityId": "291c079782858727", "scanner": "scanner-primary", "fingerprint": "66a5ce0a20fd7679", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/BannerNeofetch.ts"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-bf46abc520b0c4a0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/NeofetchBanner.ts:20"}, "properties": {"repobilityId": "72d86acb90c87e27", "scanner": "scanner-primary", "fingerprint": "bf46abc520b0c4a0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/NeofetchBanner.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-b9f35f1cd100014d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/RecallSession.ts:38"}, "properties": {"repobilityId": "61d9f2d26ce419cf", "scanner": "scanner-primary", "fingerprint": "b9f35f1cd100014d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/RecallSession.ts"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-f668fff4128b8255", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/SplitAndTranscribe.ts:9"}, "properties": {"repobilityId": "5a793fa07a9228b3", "scanner": "scanner-primary", "fingerprint": "f668fff4128b8255", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/SplitAndTranscribe.ts"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-cad162b0b64b04e8", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/SecretScan.ts:32"}, "properties": {"repobilityId": "72fad11880fd4c42", "scanner": "scanner-primary", "fingerprint": "cad162b0b64b04e8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/SecretScan.ts"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-716b4e244371bad2", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in Tools/BannerRetro.ts:20"}, "properties": {"repobilityId": "8add32ed7d25d39d", "scanner": "scanner-primary", "fingerprint": "716b4e244371bad2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/BannerRetro.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-f74c0d77e9529be3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in Tools/PipelineMonitor.ts:397"}, "properties": {"repobilityId": "af209d19ac52481d", "scanner": "scanner-primary", "fingerprint": "f74c0d77e9529be3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Tools/PipelineMonitor.ts"}, "region": {"startLine": 397}}}]}, {"ruleId": "scanner-acbb6d8996305e40", "level": "error", "message": {"text": "Possible secret in MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-calls.json"}, "properties": {"repobilityId": "f2ae688faeddced1", "scanner": "scanner-primary", "fingerprint": "acbb6d8996305e40", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-calls.json"}, "region": {"startLine": 1173}}}]}, {"ruleId": "scanner-895fed6f17b66d86", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-calls.json:783"}, "properties": {"repobilityId": "2e32505fd60a4a98", "scanner": "scanner-primary", "fingerprint": "895fed6f17b66d86", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-calls.json"}, "region": {"startLine": 783}}}]}, {"ruleId": "scanner-7d209dc50aca3c8d", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-calls.json:863"}, "properties": {"repobilityId": "331d59fef11bf66d", "scanner": "scanner-primary", "fingerprint": "7d209dc50aca3c8d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "MEMORY/LEARNING/FAILURES/2026-03/2026-03-22-134006_mild-dissatisfaction-with-typo-in-request/tool-calls.json"}, "region": {"startLine": 863}}}]}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-f7e8729c767dd1a5", "level": "note", "message": {"text": "Very large file: statusline-command.sh (1065 lines)"}, "properties": {"repobilityId": "00e6b3027c7a3b77", "scanner": "scanner-primary", "fingerprint": "f7e8729c767dd1a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-54e93ca1e09690be", "level": "note", "message": {"text": "Very large file: skills/Documents/Docx/Scripts/document.py (1276 lines)"}, "properties": {"repobilityId": "7e2ec5be8bc9dd88", "scanner": "scanner-primary", "fingerprint": "54e93ca1e09690be", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-097f397fee304667", "level": "note", "message": {"text": "65 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "097f397fee304667", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-5b1f57b23287de81", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: skills/Telos/ReportTemplate/package.json"}, "properties": {"repobilityId": "f34630755abd7baa", "scanner": "scanner-primary", "fingerprint": "5b1f57b23287de81", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Telos/ReportTemplate/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "5aa8152ef83b8b3e", "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": "6447bcc497f704cf", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "47759912ffa60173", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "503a338acb1dafae", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "12e3953954863aa6", "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": "8df42429645971c6", "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": "4a8393a832a99992", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-e355d3eb018835a3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/_KBCRAWLER/SKILL.md"}, "properties": {"repobilityId": "e5e5271c858aecde", "scanner": "scanner-primary", "fingerprint": "e355d3eb018835a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/_KBCRAWLER/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9638dc18c8d46f85", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/ClickUpAudit/SKILL.md"}, "properties": {"repobilityId": "9816f741f7870b97", "scanner": "scanner-primary", "fingerprint": "9638dc18c8d46f85", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/ClickUpAudit/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0b26bc16850b4c08", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/SECUpdates/SKILL.md"}, "properties": {"repobilityId": "3c5fb49629c3c337", "scanner": "scanner-primary", "fingerprint": "0b26bc16850b4c08", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/SECUpdates/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6aaf39426865235e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/Agents/SKILL.md"}, "properties": {"repobilityId": "5f232e7782bda5f5", "scanner": "scanner-primary", "fingerprint": "6aaf39426865235e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Agents/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-70afc107cafffbc3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/Recon/SKILL.md"}, "properties": {"repobilityId": "6eaf4451013b7568", "scanner": "scanner-primary", "fingerprint": "70afc107cafffbc3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Recon/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-30c74046e06d347e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/_OFFBOARDCENTRE/SKILL.md"}, "properties": {"repobilityId": "48b7969a2a25adb4", "scanner": "scanner-primary", "fingerprint": "30c74046e06d347e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/_OFFBOARDCENTRE/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a79159b6b66c47c2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/VoiceServer/SKILL.md"}, "properties": {"repobilityId": "b7044037ae234642", "scanner": "scanner-primary", "fingerprint": "a79159b6b66c47c2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/VoiceServer/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7179361c4705d033", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/Council/SKILL.md"}, "properties": {"repobilityId": "9141def4fa8f48ac", "scanner": "scanner-primary", "fingerprint": "7179361c4705d033", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Council/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33139774c11ddc07", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/AnnualReports/SKILL.md"}, "properties": {"repobilityId": "cda8df75213af9af", "scanner": "scanner-primary", "fingerprint": "33139774c11ddc07", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/AnnualReports/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7db06e49e871a38b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/Fabric/SKILL.md"}, "properties": {"repobilityId": "db54f338c84b1604", "scanner": "scanner-primary", "fingerprint": "7db06e49e871a38b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Fabric/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d8799ed4258a4278", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/BeCreative/SKILL.md"}, "properties": {"repobilityId": "34cf1a21b77c51a8", "scanner": "scanner-primary", "fingerprint": "d8799ed4258a4278", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/BeCreative/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bff98d637b7e753d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/CreateSkill/SKILL.md"}, "properties": {"repobilityId": "5dbdc98d28092be6", "scanner": "scanner-primary", "fingerprint": "bff98d637b7e753d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/CreateSkill/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b86231fefdbd9c24", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/SecurityAudit/SKILL.md"}, "properties": {"repobilityId": "953d48101f818ec7", "scanner": "scanner-primary", "fingerprint": "b86231fefdbd9c24", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/SecurityAudit/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ce45556fdb33f6c6", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/_SOWCONTRACTS/SKILL.md"}, "properties": {"repobilityId": "8f78ecd6baf9daae", "scanner": "scanner-primary", "fingerprint": "ce45556fdb33f6c6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/_SOWCONTRACTS/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c8962396c7ff7385", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/Art/SKILL.md"}, "properties": {"repobilityId": "6ee9ca72c10d87e9", "scanner": "scanner-primary", "fingerprint": "c8962396c7ff7385", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Art/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2a677d845c7b4dfc", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/Apify/SKILL.md"}, "properties": {"repobilityId": "17d1cd80c84ac550", "scanner": "scanner-primary", "fingerprint": "2a677d845c7b4dfc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Apify/SKILL.md"}, "region": {"startLine": 447}}}]}, {"ruleId": "scanner-4e8db5741eff13a3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/BrightData/SKILL.md"}, "properties": {"repobilityId": "9c382f48e01bda63", "scanner": "scanner-primary", "fingerprint": "4e8db5741eff13a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/BrightData/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d460bb0384aa3533", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/Documents/Pptx/SKILL.md"}, "properties": {"repobilityId": "e144e976741e9f82", "scanner": "scanner-primary", "fingerprint": "d460bb0384aa3533", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Pptx/SKILL.md"}, "region": {"startLine": 579}}}]}, {"ruleId": "scanner-16c897e300b02cb9", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/Documents/Docx/SKILL.md"}, "properties": {"repobilityId": "5cefc644103a1fdf", "scanner": "scanner-primary", "fingerprint": "16c897e300b02cb9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Documents/Docx/SKILL.md"}, "region": {"startLine": 257}}}]}, {"ruleId": "scanner-d70a588de63848f7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/Issues/SKILL.md"}, "properties": {"repobilityId": "af9f9438a3c00078", "scanner": "scanner-primary", "fingerprint": "d70a588de63848f7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/Issues/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b11daa319dd336ff", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Observability/apps/client/src/utils/haiku.ts:71"}, "properties": {"repobilityId": "edaf54e0b74a6fa3", "scanner": "scanner-primary", "fingerprint": "b11daa319dd336ff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fd44fade01fef367", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Observability/apps/server/src/index.ts:65"}, "properties": {"repobilityId": "26502e121c6b762e", "scanner": "scanner-primary", "fingerprint": "fd44fade01fef367", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-46301034b4c8d5e6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/StartupGreeting.hook.ts:95"}, "properties": {"repobilityId": "54e621e3285f481d", "scanner": "scanner-primary", "fingerprint": "46301034b4c8d5e6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-44922e1c4540cda8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/lib/notifications.ts:234"}, "properties": {"repobilityId": "e15a2faa3a640cb8", "scanner": "scanner-primary", "fingerprint": "44922e1c4540cda8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-24cdb96960e63a02", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 hooks/handlers/SystemIntegrity.ts:65"}, "properties": {"repobilityId": "97d5fb38b5b3ca76", "scanner": "scanner-primary", "fingerprint": "24cdb96960e63a02", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cdea24d7588d11ea", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Browser/Tools/BrowserSession.ts:145"}, "properties": {"repobilityId": "e6560830e415bfe7", "scanner": "scanner-primary", "fingerprint": "cdea24d7588d11ea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fa0df247c8aabdfd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Browser/Tools/Browse.ts:234"}, "properties": {"repobilityId": "a858186be2a01d38", "scanner": "scanner-primary", "fingerprint": "fa0df247c8aabdfd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4d96ef3a4cac6b5d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Telos/DashboardTemplate/Components/sidebar.tsx:30"}, "properties": {"repobilityId": "520cd67e8bef787e", "scanner": "scanner-primary", "fingerprint": "4d96ef3a4cac6b5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2cb52bec3333cf1b", "level": "none", "message": {"text": "Commented-code block (6 lines) in skills/Telos/DashboardTemplate/App/page.tsx:5"}, "properties": {"repobilityId": "feb38d1f0c786b19", "scanner": "scanner-primary", "fingerprint": "2cb52bec3333cf1b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5664896bc32ae422", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:22"}, "properties": {"repobilityId": "e631c2d28ce6b530", "scanner": "scanner-primary", "fingerprint": "5664896bc32ae422", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-40244a2e1e80d5a8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_PORTALVERIFY/Tools/VerifyPortal.ts:103"}, "properties": {"repobilityId": "45bbf84bd4207771", "scanner": "scanner-primary", "fingerprint": "40244a2e1e80d5a8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4089b54f64f3b236", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Config/ConvertChecklists.ts:47"}, "properties": {"repobilityId": "75ac1564785dca22", "scanner": "scanner-primary", "fingerprint": "4089b54f64f3b236", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-512b8492e8172e51", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/Overdue.ts:81"}, "properties": {"repobilityId": "376766fe89d8002b", "scanner": "scanner-primary", "fingerprint": "512b8492e8172e51", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0000326ecd2489cc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/ConvertChecklists.ts:47"}, "properties": {"repobilityId": "9caeba83e3d399fd", "scanner": "scanner-primary", "fingerprint": "0000326ecd2489cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9c535674aca8f686", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/Closure.ts:74"}, "properties": {"repobilityId": "6d63907129f480e5", "scanner": "scanner-primary", "fingerprint": "9c535674aca8f686", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4cc95b40cc54ea88", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/Recon.ts:73"}, "properties": {"repobilityId": "989d16ba01cb4348", "scanner": "scanner-primary", "fingerprint": "4cc95b40cc54ea88", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-20fa5ac766ecb785", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/ClickUpAudit/Tools/WeeklyReport.ts:151"}, "properties": {"repobilityId": "c6e208a8ae9f3524", "scanner": "scanner-primary", "fingerprint": "20fa5ac766ecb785", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fb27bb957b0171e7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CLICKAUDIT/Manifests/tourforce.ts:11"}, "properties": {"repobilityId": "dfde8e1ee539c935", "scanner": "scanner-primary", "fingerprint": "fb27bb957b0171e7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-36b71f557fb5d37a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/YouTubeApi.ts:73"}, "properties": {"repobilityId": "bec7aebc56d47983", "scanner": "scanner-primary", "fingerprint": "36b71f557fb5d37a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e8f725f96fea0fea", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/IntegrityMaintenance.ts:794"}, "properties": {"repobilityId": "d47dd1eae59b4ffc", "scanner": "scanner-primary", "fingerprint": "e8f725f96fea0fea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6d866a9b3468d40b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/RemoveBg.ts:119"}, "properties": {"repobilityId": "ed6b4399ec9d5cd2", "scanner": "scanner-primary", "fingerprint": "6d866a9b3468d40b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-db2bb60f3cad0610", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAI/Tools/PipelineMonitor.ts:493"}, "properties": {"repobilityId": "12433c075255f5d9", "scanner": "scanner-primary", "fingerprint": "db2bb60f3cad0610", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-69e834bc1f7105ae", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CNKB/Tools/PatchMinecraftFraming.ts:41"}, "properties": {"repobilityId": "a516214ba33bb313", "scanner": "scanner-primary", "fingerprint": "69e834bc1f7105ae", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eebd1abc8fe9695e", "level": "none", "message": {"text": "Commented-code block (7 lines) in skills/_CNKB/Tools/SyncPrompt.ts:38"}, "properties": {"repobilityId": "403b465147e8a055", "scanner": "scanner-primary", "fingerprint": "eebd1abc8fe9695e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a653048d299fca6c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CNKB/Tools/SyncPrompt.ts:113"}, "properties": {"repobilityId": "bad1268274f1ed38", "scanner": "scanner-primary", "fingerprint": "a653048d299fca6c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-417797625e6dc35b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_CNKB/Tools/SweepRecoveryRules.ts:165"}, "properties": {"repobilityId": "9b568c189d8a76ab", "scanner": "scanner-primary", "fingerprint": "417797625e6dc35b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e10fcf97c3f79340", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_OFFBOARDCENTRE/Tools/Offboard.ts:117"}, "properties": {"repobilityId": "da2642404906454d", "scanner": "scanner-primary", "fingerprint": "e10fcf97c3f79340", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-88d5d727226d7dd8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/AnnualReports/Tools/UpdateSources.ts:37"}, "properties": {"repobilityId": "7d0466e92058c1c1", "scanner": "scanner-primary", "fingerprint": "88d5d727226d7dd8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2dd0132831d1abdb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/PAIUpgrade/Tools/Anthropic.ts:237"}, "properties": {"repobilityId": "1b020a60d66b5860", "scanner": "scanner-primary", "fingerprint": "2dd0132831d1abdb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-092ce8bd0fac3984", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Art/Lib/discord-bot.ts:96"}, "properties": {"repobilityId": "dff1f50b3ceab09a", "scanner": "scanner-primary", "fingerprint": "092ce8bd0fac3984", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-49e99dfc46969c98", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/Art/Tools/Generate.ts:430"}, "properties": {"repobilityId": "c4c0a53f063958e6", "scanner": "scanner-primary", "fingerprint": "49e99dfc46969c98", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7eb91325f4e9bae5", "level": "none", "message": {"text": "Commented-code block (5 lines) in skills/Apify/examples/instagram-scraper.ts:55"}, "properties": {"repobilityId": "a53378d60597ecce", "scanner": "scanner-primary", "fingerprint": "7eb91325f4e9bae5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2b2db9097f9e25f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_VOICEAIAGENCY/MCP/src/tools/calls.ts:28"}, "properties": {"repobilityId": "6b15f208c4625403", "scanner": "scanner-primary", "fingerprint": "b2b2db9097f9e25f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-83a465e1b72ab6ab", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/_VOICEAIAGENCY/MCP/src/tools/analysis.ts:414"}, "properties": {"repobilityId": "de7c013b67c2dcc2", "scanner": "scanner-primary", "fingerprint": "83a465e1b72ab6ab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-98b3e9263394611d", "level": "none", "message": {"text": "Commented-code block (5 lines) in skills/Documents/Pdf/Scripts/extract_form_field_info.py:56"}, "properties": {"repobilityId": "57a9125f868590a2", "scanner": "scanner-primary", "fingerprint": "98b3e9263394611d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6440d5af29da38d2", "level": "none", "message": {"text": "Commented-code block (6 lines) in skills/Documents/Pptx/Scripts/thumbnail.py:32"}, "properties": {"repobilityId": "27af0d4dc1aa21dc", "scanner": "scanner-primary", "fingerprint": "6440d5af29da38d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fe1c4395def26f1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/Documents/Pptx/Scripts/thumbnail.py:219"}, "properties": {"repobilityId": "7fc0166640ee6f70", "scanner": "scanner-primary", "fingerprint": "6fe1c4395def26f1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7fe780dae095d085", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 skills/Documents/Xlsx/recalc.py:92"}, "properties": {"repobilityId": "984c240572fd30c9", "scanner": "scanner-primary", "fingerprint": "7fe780dae095d085", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-79a945c8073edd05", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/YouTubeApi.ts:73"}, "properties": {"repobilityId": "c23bdbbb61bf4d28", "scanner": "scanner-primary", "fingerprint": "79a945c8073edd05", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e01e1ef10f41f1c5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/IntegrityMaintenance.ts:794"}, "properties": {"repobilityId": "cd80a50db2f7cccd", "scanner": "scanner-primary", "fingerprint": "e01e1ef10f41f1c5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-815cc0d61b037396", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/RemoveBg.ts:119"}, "properties": {"repobilityId": "5920faca6d09b2c5", "scanner": "scanner-primary", "fingerprint": "815cc0d61b037396", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-82d0f8ff48d45806", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 Tools/PipelineMonitor.ts:493"}, "properties": {"repobilityId": "bc91737bd2e46274", "scanner": "scanner-primary", "fingerprint": "82d0f8ff48d45806", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a5417a5f0affce13", "level": "note", "message": {"text": "52 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "39c9352136098d82", "scanner": "scanner-primary", "fingerprint": "a5417a5f0affce13", "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": "1c8395715eeff080", "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": "5225468768ada762", "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": "e060130295f5c0bd", "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": "d4419dac3c189331", "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": "ae1a6f8fa6f15f2b", "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": "7e5f05ef050c89cc", "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": "c10640a10e0cdb69", "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": "a1802dfe2adc4171", "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": "d89a2bb428070863", "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": "f63a3087a64ddb7c", "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": "2d3b6021b2d8561e", "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": "89f1e25b689ea773", "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": "424613310d6ed4d8", "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": "32a38c24c6b64312", "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": "0d3b7d9ea39d97f7", "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": "d6c1557576348974", "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": "779fe2112eb20001", "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": "eeb4eb1fbdfb0083", "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": "f9e864071f5e4a40", "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": "aa9161b84326219d", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-cbdbd10170528425", "level": "error", "message": {"text": "FastAPI POST `voice_test` without auth dependency \u2014 VoiceServer/server.py:151"}, "properties": {"repobilityId": "8b80a9766aa88331", "scanner": "scanner-primary", "fingerprint": "cbdbd10170528425", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 151}}}]}, {"ruleId": "scanner-616343c259f6c290", "level": "error", "message": {"text": "FastAPI POST `voice_design` without auth dependency \u2014 VoiceServer/server.py:195"}, "properties": {"repobilityId": "083a365ce349a89a", "scanner": "scanner-primary", "fingerprint": "616343c259f6c290", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 195}}}]}, {"ruleId": "scanner-9a389dca987f9dca", "level": "error", "message": {"text": "FastAPI POST `voice_clone` without auth dependency \u2014 VoiceServer/server.py:258"}, "properties": {"repobilityId": "6ae8ce5205a5133c", "scanner": "scanner-primary", "fingerprint": "9a389dca987f9dca", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 258}}}]}, {"ruleId": "scanner-d474cb2650cd05e8", "level": "error", "message": {"text": "FastAPI DELETE `delete_voice` without auth dependency \u2014 VoiceServer/server.py:354"}, "properties": {"repobilityId": "3e46da6d3229b04c", "scanner": "scanner-primary", "fingerprint": "d474cb2650cd05e8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 354}}}]}, {"ruleId": "scanner-e64631df263a537f", "level": "error", "message": {"text": "FastAPI POST `preview_voice` without auth dependency \u2014 VoiceServer/server.py:366"}, "properties": {"repobilityId": "54e7b9d8080dca2d", "scanner": "scanner-primary", "fingerprint": "e64631df263a537f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 366}}}]}, {"ruleId": "scanner-6d6678e543a7d9ec", "level": "error", "message": {"text": "FastAPI POST `notify` without auth dependency \u2014 VoiceServer/server.py:396"}, "properties": {"repobilityId": "d286089c9ef281a4", "scanner": "scanner-primary", "fingerprint": "6d6678e543a7d9ec", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 396}}}]}, {"ruleId": "scanner-76e3e5f2e4d96ce7", "level": "error", "message": {"text": "FastAPI POST `pai_notify` without auth dependency \u2014 VoiceServer/server.py:449"}, "properties": {"repobilityId": "b6f1725c78995dd2", "scanner": "scanner-primary", "fingerprint": "76e3e5f2e4d96ce7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 449}}}]}, {"ruleId": "scanner-97ac2e342d5c4b18", "level": "error", "message": {"text": "FastAPI POST `emotional_notify` without auth dependency \u2014 VoiceServer/server.py:465"}, "properties": {"repobilityId": "fe56fe0a49c2e4d7", "scanner": "scanner-primary", "fingerprint": "97ac2e342d5c4b18", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 465}}}]}, {"ruleId": "scanner-747d6a48c49d558f", "level": "error", "message": {"text": "FastAPI POST `preview_emotional_inference` without auth dependency \u2014 VoiceServer/server.py:541"}, "properties": {"repobilityId": "76ae87dfe1dc7763", "scanner": "scanner-primary", "fingerprint": "747d6a48c49d558f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 541}}}]}, {"ruleId": "scanner-f28b442837c781a0", "level": "error", "message": {"text": "FastAPI POST `personality_notify` without auth dependency \u2014 VoiceServer/server.py:569"}, "properties": {"repobilityId": "ac25db4e272f6ee6", "scanner": "scanner-primary", "fingerprint": "f28b442837c781a0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 569}}}]}, {"ruleId": "scanner-d20b1cad9ed94894", "level": "error", "message": {"text": "FastAPI POST `preview_personality_expression` without auth dependency \u2014 VoiceServer/server.py:676"}, "properties": {"repobilityId": "fd4c74ded582237d", "scanner": "scanner-primary", "fingerprint": "d20b1cad9ed94894", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "VoiceServer/server.py"}, "region": {"startLine": 676}}}]}, {"ruleId": "scanner-c4908a08b2f4e71a", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${VOICE_SERVER_PORT}/notify (INSTALL.ts:203)"}, "properties": {"repobilityId": "d6222295b494de46", "scanner": "scanner-primary", "fingerprint": "c4908a08b2f4e71a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c353f281ff26555e", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:4000/api/themes (Observability/apps/client/src/composables/useThemes.ts:670)"}, "properties": {"repobilityId": "f7525acf63363822", "scanner": "scanner-primary", "fingerprint": "c353f281ff26555e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9f68e8f1c185f5fb", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:4000/api/themes?isPublic=true (Observability/apps/client/src/composables/useThemes.ts:684)"}, "properties": {"repobilityId": "448c6610d1aa9d37", "scanner": "scanner-primary", "fingerprint": "9f68e8f1c185f5fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1cbf806e9d6b34b0", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:4000/api/ulwork (Observability/apps/client/src/composables/useULWork.ts:64)"}, "properties": {"repobilityId": "f018b0240ad254f9", "scanner": "scanner-primary", "fingerprint": "1cbf806e9d6b34b0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d8147fe88c673c5", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:4000/api/agent/context (Observability/apps/client/src/composables/useAgentContext.ts:27)"}, "properties": {"repobilityId": "9a70c92066f13996", "scanner": "scanner-primary", "fingerprint": "6d8147fe88c673c5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3b808b48a7bbd2fd", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (Observability/apps/server/src/task-watcher.ts:106)"}, "properties": {"repobilityId": "7370bb0090bcc193", "scanner": "scanner-primary", "fingerprint": "3b808b48a7bbd2fd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f36ceb50bd517414", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${CONFIG.serverPort}/events/filter-options (Observability/Tools/ManageServer.ts:52)"}, "properties": {"repobilityId": "eb79886cf538695b", "scanner": "scanner-primary", "fingerprint": "f36ceb50bd517414", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d7a599aad969e60c", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${CONFIG.clientPort} (Observability/Tools/ManageServer.ts:61)"}, "properties": {"repobilityId": "8b088ea1e3c209b3", "scanner": "scanner-primary", "fingerprint": "d7a599aad969e60c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cddb283b8948166b", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify (hooks/StartupGreeting.hook.ts:95)"}, "properties": {"repobilityId": "09dcc170601d5d11", "scanner": "scanner-primary", "fingerprint": "cddb283b8948166b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a79d7e809241edc4", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify (hooks/UpdateTabTitle.hook.ts:327)"}, "properties": {"repobilityId": "cc9268b2f0b5229b", "scanner": "scanner-primary", "fingerprint": "a79d7e809241edc4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f08c17f5544ede5c", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:4000/events (hooks/lib/observability.ts:31)"}, "properties": {"repobilityId": "8adf1ffd951ec17a", "scanner": "scanner-primary", "fingerprint": "f08c17f5544ede5c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-19c76bd9d84597eb", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify (hooks/handlers/SystemIntegrity.ts:65)"}, "properties": {"repobilityId": "4936d582b37882c0", "scanner": "scanner-primary", "fingerprint": "19c76bd9d84597eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-82b7056e4d528d8d", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify (hooks/handlers/VoiceNotification.ts:105)"}, "properties": {"repobilityId": "be500bb2a3a78b73", "scanner": "scanner-primary", "fingerprint": "82b7056e4d528d8d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-37d6b94ea2a42551", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${state.port}/health (skills/Browser/Tools/Browse.ts:139)"}, "properties": {"repobilityId": "5f6fb646314c96b9", "scanner": "scanner-primary", "fingerprint": "37d6b94ea2a42551", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7477f0aa93583e08", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${state.port}/health (skills/Browser/Tools/Browse.ts:158)"}, "properties": {"repobilityId": "87fa09bf10033f2c", "scanner": "scanner-primary", "fingerprint": "7477f0aa93583e08", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7fa56efd228d97b2", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/health (skills/Browser/Tools/Browse.ts:172)"}, "properties": {"repobilityId": "9154212b85ed5180", "scanner": "scanner-primary", "fingerprint": "7fa56efd228d97b2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-45ddbb3cbe43cd29", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/health (skills/Browser/Tools/Browse.ts:201)"}, "properties": {"repobilityId": "225b42bb62ba59fb", "scanner": "scanner-primary", "fingerprint": "45ddbb3cbe43cd29", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-43481eefcbbe77ee", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${state.port}/stop (skills/Browser/Tools/Browse.ts:483)"}, "properties": {"repobilityId": "2e3910dd9d5a63b7", "scanner": "scanner-primary", "fingerprint": "43481eefcbbe77ee", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1e92b9dccaa2a153", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${state.port}/stop (skills/Browser/Tools/Browse.ts:510)"}, "properties": {"repobilityId": "3b2ef7dc1d25ed51", "scanner": "scanner-primary", "fingerprint": "1e92b9dccaa2a153", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b29c11b75874bc74", "level": "error", "message": {"text": "Dangling fetch: GET /api/files/count (skills/Telos/DashboardTemplate/Components/sidebar.tsx:30)"}, "properties": {"repobilityId": "a1d95d62864c4312", "scanner": "scanner-primary", "fingerprint": "b29c11b75874bc74", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-81da5c0a5bdfeaa7", "level": "error", "message": {"text": "Dangling fetch: POST /api/upload (skills/Telos/DashboardTemplate/App/add-file/page.tsx:67)"}, "properties": {"repobilityId": "2148c878ce4eba05", "scanner": "scanner-primary", "fingerprint": "81da5c0a5bdfeaa7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e4f2b2be9f59befe", "level": "error", "message": {"text": "Dangling fetch: POST /api/chat (skills/Telos/DashboardTemplate/App/ask/page.tsx:34)"}, "properties": {"repobilityId": "3350cdbfbdf3e729", "scanner": "scanner-primary", "fingerprint": "e4f2b2be9f59befe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3454971d59563d28", "level": "error", "message": {"text": "Dangling fetch: GET /api/files/count (skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:22)"}, "properties": {"repobilityId": "bd17fee4be5762b0", "scanner": "scanner-primary", "fingerprint": "3454971d59563d28", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8d461184f8ee2d4a", "level": "error", "message": {"text": "Dangling fetch: GET /api/file/get?filename=${encodeURIComponent(matchingFile)} (skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:32)"}, "properties": {"repobilityId": "3b1eefbd9813fbcf", "scanner": "scanner-primary", "fingerprint": "8d461184f8ee2d4a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7a19a1d7cdfae294", "level": "error", "message": {"text": "Dangling fetch: POST /api/file/save (skills/Telos/DashboardTemplate/App/file/[slug]/page.tsx:58)"}, "properties": {"repobilityId": "3770509ffa65f1e3", "scanner": "scanner-primary", "fingerprint": "7a19a1d7cdfae294", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-18a9b0bd4747f9ed", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify (skills/PAI/Tools/pai.ts:91)"}, "properties": {"repobilityId": "5f5dcd83a30564f9", "scanner": "scanner-primary", "fingerprint": "18a9b0bd4747f9ed", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-95b5520b9c9c5684", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify (skills/PAI/Tools/IntegrityMaintenance.ts:794)"}, "properties": {"repobilityId": "fb6bb402e45a37f7", "scanner": "scanner-primary", "fingerprint": "95b5520b9c9c5684", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-05a5a9f5fdcd5b40", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify/personality (skills/PAI/Tools/IntegrityMaintenance.ts:802)"}, "properties": {"repobilityId": "e6458201e7082717", "scanner": "scanner-primary", "fingerprint": "05a5a9f5fdcd5b40", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4dd97cf5e51510b5", "level": "error", "message": {"text": "Dangling fetch: POST https://api.remove.bg/v1.0/removebg (skills/PAI/Tools/RemoveBg.ts:119)"}, "properties": {"repobilityId": "6f7bb429062d262d", "scanner": "scanner-primary", "fingerprint": "4dd97cf5e51510b5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f708c17dd45f8ab0", "level": "error", "message": {"text": "Dangling fetch: GET https://api.retellai.com/get-agent/${agent_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:165)"}, "properties": {"repobilityId": "1160d7d93708b731", "scanner": "scanner-primary", "fingerprint": "f708c17dd45f8ab0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3fbd00a9128ddd57", "level": "error", "message": {"text": "Dangling fetch: GET https://api.retellai.com/get-retell-llm/${llm_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:173)"}, "properties": {"repobilityId": "d167d5ea39ff4815", "scanner": "scanner-primary", "fingerprint": "3fbd00a9128ddd57", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ec51fda8a2ba1a97", "level": "error", "message": {"text": "Dangling fetch: PATCH https://api.retellai.com/update-agent/${agent_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:181)"}, "properties": {"repobilityId": "38bed3fe5776a50c", "scanner": "scanner-primary", "fingerprint": "ec51fda8a2ba1a97", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-df1bd8c274548009", "level": "error", "message": {"text": "Dangling fetch: PATCH https://api.retellai.com/update-retell-llm/${llm_id} (skills/_CNKB/Tools/SweepRecoveryRules.ts:194)"}, "properties": {"repobilityId": "e0393c71a26dd8fb", "scanner": "scanner-primary", "fingerprint": "df1bd8c274548009", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6f709963b3aa13b6", "level": "error", "message": {"text": "Dangling fetch: GET https://api.clickup.com/api/v2/space/${CLICKUP_VOICE_AI_SPACE}/folder?archived=false (skills/_OFFBOARDCENTRE/Tools/Offboard.ts:375)"}, "properties": {"repobilityId": "51162d036e9ca979", "scanner": "scanner-primary", "fingerprint": "6f709963b3aa13b6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d0f795e4609994c5", "level": "error", "message": {"text": "Dangling fetch: PUT https://api.clickup.com/api/v2/folder/${inv.clickup_folder.id} (skills/_OFFBOARDCENTRE/Tools/Offboard.ts:518)"}, "properties": {"repobilityId": "3da0c3d14b274fb3", "scanner": "scanner-primary", "fingerprint": "d0f795e4609994c5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-163b87933ef951ef", "level": "error", "message": {"text": "Dangling fetch: POST https://api.resend.com/emails (skills/_OFFBOARDCENTRE/Tools/Offboard.ts:770)"}, "properties": {"repobilityId": "ddfa305bed44dbf0", "scanner": "scanner-primary", "fingerprint": "163b87933ef951ef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b735bac9b1aab01f", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${PORT}/health (skills/VoiceServer/Tools/VoiceServerManager.ts:98)"}, "properties": {"repobilityId": "e9caa9d7ca0591e4", "scanner": "scanner-primary", "fingerprint": "b735bac9b1aab01f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eb3fd7b1ce47dd15", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${PORT}/notify (skills/VoiceServer/Tools/VoiceServerManager.ts:114)"}, "properties": {"repobilityId": "f95abb664b683267", "scanner": "scanner-primary", "fingerprint": "eb3fd7b1ce47dd15", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-53280b23e239bf80", "level": "error", "message": {"text": "Dangling fetch: POST https://api.remove.bg/v1.0/removebg (skills/Art/Tools/Generate.ts:430)"}, "properties": {"repobilityId": "651a6d5b6f963416", "scanner": "scanner-primary", "fingerprint": "53280b23e239bf80", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-151c3640dee33b64", "level": "error", "message": {"text": "Dangling fetch: POST https://api.retellai.com/v3/list-calls (skills/_VOICEAIAGENCY/MCP/src/tools/calls.ts:28)"}, "properties": {"repobilityId": "2bcc2ea4f750a32e", "scanner": "scanner-primary", "fingerprint": "151c3640dee33b64", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-137edc9d9a1919b3", "level": "error", "message": {"text": "Dangling fetch: POST https://api.retellai.com/v3/list-calls (skills/_VOICEAIAGENCY/MCP/src/tools/analysis.ts:414)"}, "properties": {"repobilityId": "d4bfb5f15b457584", "scanner": "scanner-primary", "fingerprint": "137edc9d9a1919b3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bf7abdadc393cbad", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify (Tools/pai.ts:91)"}, "properties": {"repobilityId": "7285143e8c93c28e", "scanner": "scanner-primary", "fingerprint": "bf7abdadc393cbad", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-566026182587016f", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify (Tools/IntegrityMaintenance.ts:794)"}, "properties": {"repobilityId": "1691fbc737400e54", "scanner": "scanner-primary", "fingerprint": "566026182587016f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d5affd9bb7543077", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:8888/notify/personality (Tools/IntegrityMaintenance.ts:802)"}, "properties": {"repobilityId": "38ae0a4a37ef5ed8", "scanner": "scanner-primary", "fingerprint": "d5affd9bb7543077", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7427373f5cfc4994", "level": "error", "message": {"text": "Dangling fetch: POST https://api.remove.bg/v1.0/removebg (Tools/RemoveBg.ts:119)"}, "properties": {"repobilityId": "3aeb57d33679cf57", "scanner": "scanner-primary", "fingerprint": "7427373f5cfc4994", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3e10494e22e15969", "level": "note", "message": {"text": "Unused endpoint: POST /voice/test"}, "properties": {"repobilityId": "8b7ba33784c0533e", "scanner": "scanner-primary", "fingerprint": "3e10494e22e15969", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7365d1a042f97b8e", "level": "note", "message": {"text": "Unused endpoint: POST /voice/design"}, "properties": {"repobilityId": "42993b4894000d7f", "scanner": "scanner-primary", "fingerprint": "7365d1a042f97b8e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9541fe5bb2a3685b", "level": "note", "message": {"text": "Unused endpoint: POST /voice/clone"}, "properties": {"repobilityId": "8b58ff5e7f07c442", "scanner": "scanner-primary", "fingerprint": "9541fe5bb2a3685b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d37956fd71dde92a", "level": "note", "message": {"text": "Unused endpoint: GET /voices"}, "properties": {"repobilityId": "7e24d27c5753d86a", "scanner": "scanner-primary", "fingerprint": "d37956fd71dde92a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d670c16d6b8ca633", "level": "note", "message": {"text": "Unused endpoint: GET /voices/{name}"}, "properties": {"repobilityId": "5c44a8920a466f26", "scanner": "scanner-primary", "fingerprint": "d670c16d6b8ca633", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-da242f893c6383cd", "level": "note", "message": {"text": "Unused endpoint: DELETE /voices/{name}"}, "properties": {"repobilityId": "8458e6e53adb65e2", "scanner": "scanner-primary", "fingerprint": "da242f893c6383cd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ffbdbf1b6172e8e3", "level": "note", "message": {"text": "Unused endpoint: POST /voices/{name}/preview"}, "properties": {"repobilityId": "3eebfaf12260941b", "scanner": "scanner-primary", "fingerprint": "ffbdbf1b6172e8e3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-554de19801e8fb2d", "level": "note", "message": {"text": "Unused endpoint: POST /notify"}, "properties": {"repobilityId": "f36fb30e2464f69b", "scanner": "scanner-primary", "fingerprint": "554de19801e8fb2d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ea7ee35aa4d9eca7", "level": "note", "message": {"text": "Unused endpoint: POST /pai"}, "properties": {"repobilityId": "68d9c6c62305d346", "scanner": "scanner-primary", "fingerprint": "ea7ee35aa4d9eca7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-91ad81a3a4ccef90", "level": "note", "message": {"text": "Unused endpoint: POST /notify/emotional"}, "properties": {"repobilityId": "98c1cf829426973d", "scanner": "scanner-primary", "fingerprint": "91ad81a3a4ccef90", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-04e710cf1436aa73", "level": "note", "message": {"text": "Unused endpoint: POST /notify/emotional/preview"}, "properties": {"repobilityId": "7013ae1d76afd076", "scanner": "scanner-primary", "fingerprint": "04e710cf1436aa73", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e410c751949321a6", "level": "note", "message": {"text": "Unused endpoint: POST /notify/personality"}, "properties": {"repobilityId": "e5d696f60aac4ea8", "scanner": "scanner-primary", "fingerprint": "e410c751949321a6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-54e76e41d86a7001", "level": "note", "message": {"text": "Unused endpoint: POST /notify/personality/preview"}, "properties": {"repobilityId": "a4246a82cf9961db", "scanner": "scanner-primary", "fingerprint": "54e76e41d86a7001", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}