{"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-f07b3bf4802262a7", "name": "Stray `console.log` in TS/JS \u2014 scripts/gen-theme-css.js:217", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-theme-css.js:217"}, "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-9c024b831fc6b3a3", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-doc-links.js:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-doc-links.js: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-d09b48653f1a346e", "name": "Stray `console.log` in TS/JS \u2014 scripts/ai-sample-client.js:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ai-sample-client.js: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-191c2e0a94ea9a17", "name": "Stray `console.log` in TS/JS \u2014 scripts/reorg-docs.js:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reorg-docs.js: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-029029e1abd36469", "name": "Stray `console.log` in TS/JS \u2014 scripts/archive-wordpress.js:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/archive-wordpress.js: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-6f727a77cd89dc14", "name": "Stray `console.log` in TS/JS \u2014 scripts/install-hooks.js:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/install-hooks.js:69"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-432a639e5b72a453", "name": "Stray `console.log` in TS/JS \u2014 scripts/gen-theme-presets-js.js:85", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-theme-presets-js.js:85"}, "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-cf42b533cd342047", "name": "Stray `console.log` in TS/JS \u2014 scripts/build-library.js:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/build-library.js: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-9059700e53c5ebe4", "name": "Stray `console.log` in TS/JS \u2014 scripts/strip-emdash-strings.js:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-emdash-strings.js: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-caffa67d82863929", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-perception-api.js:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-perception-api.js:17"}, "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-24b4bdaa0e38aee6", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-doc-links.js:115", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-doc-links.js:115"}, "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-a01b7db202e3ac3d", "name": "Stray `console.log` in TS/JS \u2014 scripts/dev-server.js:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dev-server.js: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-6d9de10f352fb422", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-icon.js:366", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-icon.js:366"}, "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-74e14ff1af52ca78", "name": "Stray `console.log` in TS/JS \u2014 scripts/bundle-web.js:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bundle-web.js:77"}, "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-5e016fc123e1f41d", "name": "Stray `console.log` in TS/JS \u2014 scripts/create-shortcut.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-shortcut.js:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa4c48a07d2e3c17", "name": "Stray `console.log` in TS/JS \u2014 scripts/make-release-manifest.js:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/make-release-manifest.js:45"}, "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-6c0e64d7b82a982c", "name": "Stray `console.log` in TS/JS \u2014 scripts/roadmap-to-json.js:180", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/roadmap-to-json.js:180"}, "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-9647a3e9e23d95d4", "name": "Stray `console.log` in TS/JS \u2014 scripts/bump-version.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bump-version.js:32"}, "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-2eceb9f50bc3e83d", "name": "Stray `console.log` in TS/JS \u2014 scripts/humanity-alert.js:149", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/humanity-alert.js:149"}, "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-a355dfce99f6a362", "name": "Stray `console.log` in TS/JS \u2014 scripts/strip-emdash-data.js:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-emdash-data.js: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-916cb57c5a54a865", "name": "Stray `console.log` in TS/JS \u2014 scripts/strip-emdash-web.js:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-emdash-web.js:49"}, "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-6bd129d1be22f8c1", "name": "Stray `console.log` in TS/JS \u2014 scripts/preview-server.js:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/preview-server.js: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-732f0410f68d2916", "name": "Stray `console.log` in TS/JS \u2014 scripts/strip-em-dashes.js:100", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-em-dashes.js: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-49d9da6eba8e3748", "name": "Stray `console.log` in TS/JS \u2014 scripts/archive-build.js:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/archive-build.js: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-856e2d497248a075", "name": "Stray `console.log` in TS/JS \u2014 scripts/gen-data-manifest.js:103", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-data-manifest.js:103"}, "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-1f5d34f6bfe984fe", "name": "Icon-only button without accessible name \u2014 app/web/shared/shell.js:1160", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/web/shared/shell.js:1160"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1dfa4b8cd1416fb4", "name": "TODO/FIXME marker in shipping code \u2014 app/web/shared/shell.js:1018", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 app/web/shared/shell.js:1018"}, "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-3f395a12bee5cfbe", "name": "Stray `console.log` in TS/JS \u2014 app/web/shared/shell.js:1112", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/web/shared/shell.js:1112"}, "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-d0b8afdb22204e1f", "name": "Icon-only button without accessible name \u2014 app/web/chat/chat-voice-streaming.js:284", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/web/chat/chat-voice-streaming.js:284"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a6c9b20cecd6fbc3", "name": "Stray `console.log` in TS/JS \u2014 app/web/chat/crypto.js:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/crypto.js: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-8decb021be5e368d", "name": "Stray `console.log` in TS/JS \u2014 app/web/chat/app.js:757", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/app.js:757"}, "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-afe80e88c9463db4", "name": "Stray `console.log` in TS/JS \u2014 app/web/chat/chat-voice-rooms.js:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/chat-voice-rooms.js:174"}, "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-1c78ed09c39759a8", "name": "Icon-only button without accessible name \u2014 app/web/chat/chat-voice.js:2595", "shortDescription": {"text": "Icon-only button without accessible name \u2014 app/web/chat/chat-voice.js:2595"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc984c87eab4d2c9", "name": "Stray `console.log` in TS/JS \u2014 app/web/chat/chat-voice.js:221", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/chat-voice.js:221"}, "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-5479c2638aa70d39", "name": "Stray `console.log` in TS/JS \u2014 app/web/chat/chat-ui.js:310", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/chat-ui.js:310"}, "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-0b4a9830209e0529", "name": "Stray `console.log` in TS/JS \u2014 app/web/pages/tasks-app.js:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/web/pages/tasks-app.js: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-0c1d14ce4d920e7b", "name": "Stray `console.log` in TS/JS \u2014 app/web/activities/streams.js:204", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/web/activities/streams.js:204"}, "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-e0ec1d92242a2f4c", "name": "Stray `console.log` in TS/JS \u2014 app/web/activities/map.js:1524", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 app/web/activities/map.js:1524"}, "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-5f454af60c9fbcf7", "name": "Icon-only button without accessible name \u2014 web/shared/shell.js:1160", "shortDescription": {"text": "Icon-only button without accessible name \u2014 web/shared/shell.js:1160"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7c97a9d63dc62fc", "name": "TODO/FIXME marker in shipping code \u2014 web/shared/shell.js:1018", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 web/shared/shell.js:1018"}, "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-36d7a705d2b11d26", "name": "Stray `console.log` in TS/JS \u2014 web/shared/shell.js:1112", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/shared/shell.js:1112"}, "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-a42db31312a90b3c", "name": "Icon-only button without accessible name \u2014 web/chat/chat-voice-streaming.js:284", "shortDescription": {"text": "Icon-only button without accessible name \u2014 web/chat/chat-voice-streaming.js:284"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea0856327c36e1ae", "name": "Stray `console.log` in TS/JS \u2014 web/chat/crypto.js:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/crypto.js: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-b194d4bda69b19f6", "name": "Stray `console.log` in TS/JS \u2014 web/chat/app.js:757", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/app.js:757"}, "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-6a033ac3565becbf", "name": "Stray `console.log` in TS/JS \u2014 web/chat/chat-voice-rooms.js:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/chat-voice-rooms.js:174"}, "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-c8be7749627a553e", "name": "Icon-only button without accessible name \u2014 web/chat/chat-voice.js:2595", "shortDescription": {"text": "Icon-only button without accessible name \u2014 web/chat/chat-voice.js:2595"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33fade046a4185ee", "name": "Stray `console.log` in TS/JS \u2014 web/chat/chat-voice.js:221", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/chat-voice.js:221"}, "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-a28dcd0c229e9d5d", "name": "Stray `console.log` in TS/JS \u2014 web/chat/chat-ui.js:310", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/chat-ui.js:310"}, "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-c637a6943651bdf4", "name": "Stray `console.log` in TS/JS \u2014 web/pages/tasks-app.js:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/pages/tasks-app.js: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-55dc4bad091c6397", "name": "Stray `console.log` in TS/JS \u2014 web/activities/streams.js:204", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/activities/streams.js:204"}, "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-2dfa0c08614383ea", "name": "Stray `console.log` in TS/JS \u2014 web/activities/map.js:1524", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web/activities/map.js:1524"}, "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-758b3a0a7c43c857", "name": "Insecure pattern 'node_child_process' in scripts/hook-push-guard.js:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/hook-push-guard.js: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-10b11abe2d951fd0", "name": "Insecure pattern 'node_child_process' in scripts/reorg-docs.js:14", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/reorg-docs.js:14"}, "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-bb5bbf2683629c61", "name": "Insecure pattern 'node_child_process' in scripts/hook-theme-sync.js:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/hook-theme-sync.js: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-e857c6cbe7064d5d", "name": "Insecure pattern 'node_child_process' in scripts/create-shortcut.js:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/create-shortcut.js:6"}, "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-12af4fc21f1c045d", "name": "Insecure pattern 'node_child_process' in scripts/build-noble-bundle.mjs:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/build-noble-bundle.mjs: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-2ebcaefda07530b1", "name": "Insecure pattern 'node_child_process' in scripts/archive-build.js:12", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/archive-build.js:12"}, "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-7b1bac85576c8615", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/inventory.html:934", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/inventory.html:934"}, "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-e66bbfc5ac7e533e", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/governance.html:158", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/governance.html:158"}, "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-828aa4329e485a6d", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/calendar.html:665", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/calendar.html:665"}, "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-28f96a4632c739e2", "name": "Insecure pattern 'insert_adjacent_html' in app/web/calendar.html:860", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/web/calendar.html:860"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9159d26f08315986", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/identity.html:109", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/identity.html:109"}, "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-b93e830aaf8d8a9c", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/maps.html:1145", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/maps.html:1145"}, "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-e9f3ed3b4836315d", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/agents.html:157", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/agents.html:157"}, "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-eb9105fa119f6f53", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/download.html:538", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/download.html:538"}, "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-e653852e218b2dae", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/dashboard.html:262", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/dashboard.html:262"}, "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-c8d0bd8689a92584", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/audit.html:457", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/audit.html:457"}, "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-f3e25d49e6c91e80", "name": "Insecure pattern 'insert_adjacent_html' in app/web/audit.html:542", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/web/audit.html:542"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0e9f284f0ab6cca0", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/data.html:807", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/data.html:807"}, "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-a5b29e281b237a59", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/ops.html:270", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/ops.html:270"}, "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-24c3900c8ccd1c64", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/ai-usage.html:177", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/ai-usage.html:177"}, "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-78e28324be631e41", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/profile.html:1299", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/profile.html:1299"}, "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-f4fc351b0b537d08", "name": "Insecure pattern 'direct_outerhtml_assignment' in app/web/profile.html:1397", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in app/web/profile.html:1397"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dac0b346f394da03", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/dev.html:548", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/dev.html:548"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e8698bba1375a2a1", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/onboarding.html:343", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/onboarding.html:343"}, "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-faeb497d947d8a99", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/settings.html:610", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/settings.html:610"}, "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-b6be4fedd2a18d94", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/home.html:793", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/home.html:793"}, "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-c1f77728c4a71072", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/guilds.html:402", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/guilds.html:402"}, "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-c15aa3c217bb3673", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/web.html:445", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/web.html:445"}, "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-e354abfd193248a9", "name": "Insecure pattern 'eval_used' in app/web/calculator.html:308", "shortDescription": {"text": "Insecure pattern 'eval_used' in app/web/calculator.html:308"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-691fd9507d05bda3", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/recovery.html:117", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/recovery.html:117"}, "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-12b720a4daa0b357", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/shared/shell.js:74", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/shared/shell.js:74"}, "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-011101aff2f25d81", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/shared/onboarding-tour.js:112", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/shared/onboarding-tour.js:112"}, "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-d027814fd8fc20aa", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/shared/accessibility.js:46", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/shared/accessibility.js:46"}, "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-2adfe7ad49c3735b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-profile.js:36", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-profile.js:36"}, "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-8b4737bfd7f4017c", "name": "Insecure pattern 'insert_adjacent_html' in app/web/chat/chat-profile.js:480", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/web/chat/chat-profile.js:480"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-67b27ee90710786f", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-dms.js:80", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-dms.js:80"}, "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-b97c4e52df0f5117", "name": "Insecure pattern 'new_function_used' in app/web/chat/chat-onboarding.js:410", "shortDescription": {"text": "Insecure pattern 'new_function_used' in app/web/chat/chat-onboarding.js:410"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6ef9d7d79d9e8eda", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-onboarding.js:36", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-onboarding.js:36"}, "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-b618930cd2fe52a4", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-streaming.js:50", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-streaming.js:50"}, "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-e903b8979f565ed1", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/index.html:731", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/index.html:731"}, "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-607d60a38320a476", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-messages.js:82", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-messages.js:82"}, "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-1eec735becb781c1", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-groups-p2p.js:534", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-groups-p2p.js:534"}, "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-e1ef7c8904d88088", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/crypto.js:256", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/crypto.js:256"}, "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-c2580ee4149a9ccd", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/app.js:106", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/app.js:106"}, "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-ae8cb62eb4bd6e57", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-rooms.js:363", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-rooms.js:363"}, "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-54ec0eed0211a555", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-calls.js:42", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-calls.js:42"}, "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-ae909a148b62dc90", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-webrtc.js:54", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-webrtc.js:54"}, "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-48c93caf7ca66bc4", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice.js:426", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice.js:426"}, "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-619916173575fdd6", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-social.js:108", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-social.js:108"}, "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-2e499cc93d7cac3f", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-ui.js:192", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-ui.js:192"}, "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-29ddfd3052f43ac7", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-p2p.js:124", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-p2p.js:124"}, "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-342d164494c59285", "name": "Possible secret in app/web/pages/settings-app.js", "shortDescription": {"text": "Possible secret in app/web/pages/settings-app.js"}, "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-bf9f1bc647488e15", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/settings-app.js:233", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/settings-app.js:233"}, "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-ffec46f0a4c70961", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/trade-app.js:112", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/trade-app.js:112"}, "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-d547abc5ab6d7879", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/notes-app.js:98", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/notes-app.js:98"}, "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-722db752d166f890", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/resources-app.js:224", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/resources-app.js:224"}, "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-5d63b560643a6a4a", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/market-app.js:241", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/market-app.js:241"}, "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-df4e7e0ae64a01f8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/civilization-app.js:41", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/civilization-app.js:41"}, "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-36728ba776f3ad94", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/wallet-guide-app.js:235", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/wallet-guide-app.js:235"}, "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-abbfd224976d4f79", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/tools-app.js:87", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/tools-app.js:87"}, "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-1429d518e0888d34", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/roadmap-app.js:123", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/roadmap-app.js:123"}, "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-abdfeb0156301fc8", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/files-app.js:58", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/files-app.js:58"}, "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-37a8f6576c87c72c", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/donate-app.js:85", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/donate-app.js:85"}, "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-e864f4a775e00d80", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/bugs-app.js:125", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/bugs-app.js:125"}, "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-7034b2de73c87731", "name": "Insecure pattern 'new_function_used' in app/web/pages/calculator-app.js:108", "shortDescription": {"text": "Insecure pattern 'new_function_used' in app/web/pages/calculator-app.js:108"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7e5ec1797dadd648", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/calculator-app.js:181", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/calculator-app.js:181"}, "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-10446df33b5d3d95", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/admin-app.js:154", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/admin-app.js:154"}, "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-09322c4f2027aa39", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/tasks-app.js:45", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/tasks-app.js:45"}, "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-8e95c2a5ec0f57ea", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/wallet-app.js:52", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/wallet-app.js:52"}, "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-f3bf2884f06fcd06", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/fantasy.js:97", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/fantasy.js:97"}, "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-7375d16d91f21035", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/reality.js:34", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/reality.js:34"}, "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-ff27970bcd080412", "name": "Insecure pattern 'local_storage_auth_token' in app/web/activities/reality.js:2042", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in app/web/activities/reality.js:2042"}, "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-2093d17259cb54d9", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/streams.js:212", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/streams.js:212"}, "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-1397b5ed29b422bd", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/download.html:513", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/download.html:513"}, "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-fad62c046f62b17b", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/core.js:113", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/core.js:113"}, "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-84b92b9e97f8f6a2", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/gardening.html:1173", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/gardening.html:1173"}, "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-fcab9d913f070caf", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/index.html:2434", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/index.html:2434"}, "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-43844cc61738db79", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/info-market.js:42", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/info-market.js:42"}, "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-8723c72e91210eec", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/browse.js:1274", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/browse.js:1274"}, "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-e0b6b23ba2254689", "name": "Insecure pattern 'insert_adjacent_html' in app/web/activities/browse.js:4542", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in app/web/activities/browse.js:4542"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42cf113bb070a74c", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/map.js:1250", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/map.js:1250"}, "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-d2075388bda709d6", "name": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/celestial.js:121", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/celestial.js:121"}, "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-9e928098ee1a7304", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/shared/shell.js:74", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/shared/shell.js:74"}, "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-7c376f46a56789a1", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/shared/onboarding-tour.js:112", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/shared/onboarding-tour.js:112"}, "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-9bf286fdac62f44a", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/shared/accessibility.js:46", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/shared/accessibility.js:46"}, "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-00ded4af7c720e86", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-profile.js:36", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-profile.js:36"}, "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-2aa0ac8974fff11e", "name": "Insecure pattern 'insert_adjacent_html' in web/chat/chat-profile.js:491", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in web/chat/chat-profile.js:491"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ebaae2b5f360de56", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-dms.js:80", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-dms.js:80"}, "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-6eb7a16daeb8b832", "name": "Insecure pattern 'new_function_used' in web/chat/chat-onboarding.js:410", "shortDescription": {"text": "Insecure pattern 'new_function_used' in web/chat/chat-onboarding.js:410"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-80107560742fe418", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-onboarding.js:36", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-onboarding.js:36"}, "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-0e48b5e5511de556", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-streaming.js:50", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-streaming.js:50"}, "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-bff968db47608670", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/index.html:741", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/index.html:741"}, "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-d53e462ad2ca93cf", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-messages.js:82", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-messages.js:82"}, "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-a5400d6568b55e88", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-groups-p2p.js:534", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-groups-p2p.js:534"}, "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-4f43dc07cf7dc9d4", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/crypto.js:256", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/crypto.js:256"}, "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-2750a1c9d2ec5de6", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/app.js:106", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/app.js:106"}, "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-9fb2a23ba2a2fe53", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-rooms.js:363", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-rooms.js:363"}, "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-f74aa23744a7013d", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-calls.js:42", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-calls.js:42"}, "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-f78d943ddf4bb2c6", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-webrtc.js:54", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-webrtc.js:54"}, "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-dbc92a273c6acf7a", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice.js:426", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice.js:426"}, "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-6969aa1c7d3d090c", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-social.js:108", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-social.js:108"}, "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-ee6ef09b5de572e7", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-ui.js:192", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-ui.js:192"}, "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-82928d7bed9534d4", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-p2p.js:124", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-p2p.js:124"}, "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-21aa9375efd2b2d1", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/inventory.html:934", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/inventory.html:934"}, "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-b057ce5ad6126d15", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/governance.html:158", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/governance.html:158"}, "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-dc3d2e119ebdaf21", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/calendar.html:665", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/calendar.html:665"}, "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-131f7a9f792f3026", "name": "Insecure pattern 'insert_adjacent_html' in web/pages/calendar.html:860", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in web/pages/calendar.html:860"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-72b39e4636e74f4a", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/identity.html:109", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/identity.html:109"}, "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-a97b7454bdf5b166", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/maps.html:1145", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/maps.html:1145"}, "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-f55f23a4c60a53dc", "name": "Possible secret in web/pages/settings-app.js", "shortDescription": {"text": "Possible secret in web/pages/settings-app.js"}, "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-179c9d057f5cd33c", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/settings-app.js:233", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/settings-app.js:233"}, "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-e4fff74c80551db2", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/agents.html:157", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/agents.html:157"}, "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-752c280fcf45755a", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/trade-app.js:112", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/trade-app.js:112"}, "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-1587b8d8857c466e", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/notes-app.js:98", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/notes-app.js:98"}, "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-bcd1f1b2e9a8daf6", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/download.html:538", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/download.html:538"}, "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-3719aac8f2e3d4af", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/dashboard.html:262", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/dashboard.html:262"}, "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-ae19f3a9859bc7ef", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/audit.html:457", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/audit.html:457"}, "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-05a51c9785f721f1", "name": "Insecure pattern 'insert_adjacent_html' in web/pages/audit.html:542", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in web/pages/audit.html:542"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-44ed09a4d5247325", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/resources-app.js:224", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/resources-app.js:224"}, "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-97745f2ecaf78895", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/data.html:807", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/data.html:807"}, "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-271e836403a7aa6a", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/index.html:947", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/index.html:947"}, "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-7093520e5140e783", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/market-app.js:241", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/market-app.js:241"}, "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-f058ba4960e45a4f", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/civilization-app.js:41", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/civilization-app.js:41"}, "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-8143f38b33eabd8e", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/wallet-guide-app.js:235", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/wallet-guide-app.js:235"}, "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-fe5b0b0b6787d645", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/tools-app.js:87", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/tools-app.js:87"}, "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-0b1a0d9c471a55e2", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/ops.html:270", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/ops.html:270"}, "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-be690cfacc7e7fe0", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/roadmap-app.js:40", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/roadmap-app.js:40"}, "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-bc7ae2743d1e3dbf", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/files-app.js:58", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/files-app.js:58"}, "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-bc14e9b3335ea010", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/ai-usage.html:177", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/ai-usage.html:177"}, "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-8f34e2ac3ace91a5", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/profile.html:1299", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/profile.html:1299"}, "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-3c36045bb124e875", "name": "Insecure pattern 'direct_outerhtml_assignment' in web/pages/profile.html:1397", "shortDescription": {"text": "Insecure pattern 'direct_outerhtml_assignment' in web/pages/profile.html:1397"}, "fullDescription": {"text": "Found a known-risky pattern (direct_outerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54a1852789874990", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/donate-app.js:85", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/donate-app.js:85"}, "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-20dfdd337817d210", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/bugs-app.js:125", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/bugs-app.js:125"}, "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-d88ef2fdc4ca9676", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/dev.html:548", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/dev.html:548"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f5d3dd48242dc6bb", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/onboarding.html:343", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/onboarding.html:343"}, "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-588de4a434312ce8", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/settings.html:610", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/settings.html:610"}, "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-220a5f2dd70c9bf4", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/home.html:793", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/home.html:793"}, "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-aeda51ee983082c5", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/guilds.html:402", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/guilds.html:402"}, "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-11e3d60913fdd05c", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/web.html:445", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/web.html:445"}, "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-c1b4eaf2cbe61177", "name": "Insecure pattern 'eval_used' in web/pages/calculator.html:308", "shortDescription": {"text": "Insecure pattern 'eval_used' in web/pages/calculator.html:308"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ac4acc8befb267d", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/recovery.html:117", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/recovery.html:117"}, "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-06128072166a7c0a", "name": "Insecure pattern 'new_function_used' in web/pages/calculator-app.js:108", "shortDescription": {"text": "Insecure pattern 'new_function_used' in web/pages/calculator-app.js:108"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c6d14edaa3c75761", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/calculator-app.js:181", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/calculator-app.js:181"}, "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-c67075934686887d", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/admin-app.js:154", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/admin-app.js:154"}, "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-102e214494005cd7", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/tasks-app.js:45", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/tasks-app.js:45"}, "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-4190633d8ef2b291", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/wallet-app.js:52", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/wallet-app.js:52"}, "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-fc2b1524b1359cef", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/fantasy.js:97", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/fantasy.js:97"}, "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-c2958e94a17169a8", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/reality.js:34", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/reality.js:34"}, "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-cb6d78194888637e", "name": "Insecure pattern 'local_storage_auth_token' in web/activities/reality.js:2042", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in web/activities/reality.js:2042"}, "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-1b6bbfc40d62e60c", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/streams.js:212", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/streams.js:212"}, "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-d770a8cb8a1ab21a", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/download.html:513", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/download.html:513"}, "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-e2ac4d47acc9c0cf", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/core.js:113", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/core.js:113"}, "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-a60eafca2f41f88b", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/gardening.html:1173", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/gardening.html:1173"}, "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-5184e31b6259ab78", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/index.html:2434", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/index.html:2434"}, "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-61d9d19af622b7f2", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/info-market.js:44", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/info-market.js:44"}, "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-92f9dad1571c1a62", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/browse.js:1274", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/browse.js:1274"}, "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-6fb6625ab6298be4", "name": "Insecure pattern 'insert_adjacent_html' in web/activities/browse.js:4542", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in web/activities/browse.js:4542"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f55835e09ac83741", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/map.js:1250", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/map.js:1250"}, "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-b0fb99adbdfdc35a", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/celestial.js:121", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/celestial.js:121"}, "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-e087499fabaad391", "name": "Possible secret in src/net/webrtc.rs", "shortDescription": {"text": "Possible secret in src/net/webrtc.rs"}, "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-28c4a04bd807da0c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "appleboy/ssh-action@v1 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1e62c8a8becdce0", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11fe6710547243fb", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dad138f419869f24", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "dtolnay/rust-toolchain@stable can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-27bcea42cba6c545", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-83213475d0ff4f24", "name": "Very large file: app/web/shared/qrcode.js (2297 lines)", "shortDescription": {"text": "Very large file: app/web/shared/qrcode.js (2297 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-946bad7aa5ff28af", "name": "Very large file: app/web/shared/shell.js (1399 lines)", "shortDescription": {"text": "Very large file: app/web/shared/shell.js (1399 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-0e27e3cffd9a870f", "name": "Very large file: app/web/chat/chat-profile.js (1238 lines)", "shortDescription": {"text": "Very large file: app/web/chat/chat-profile.js (1238 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-8cbe092b5e106f6d", "name": "Very large file: app/web/chat/crypto.js (1172 lines)", "shortDescription": {"text": "Very large file: app/web/chat/crypto.js (1172 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-19864d83f477706f", "name": "Very large file: app/web/chat/app.js (2106 lines)", "shortDescription": {"text": "Very large file: app/web/chat/app.js (2106 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-f7a2a59820ea2438", "name": "Very large file: app/web/chat/chat-voice.js (2663 lines)", "shortDescription": {"text": "Very large file: app/web/chat/chat-voice.js (2663 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-956f8aabcf46ce55", "name": "Very large file: app/web/chat/chat-ui.js (2061 lines)", "shortDescription": {"text": "Very large file: app/web/chat/chat-ui.js (2061 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-008d939d73211bfd", "name": "Very large file: app/web/pages/settings-app.js (2051 lines)", "shortDescription": {"text": "Very large file: app/web/pages/settings-app.js (2051 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-3d66923d1e4fec42", "name": "Very large file: app/web/pages/tasks-app.js (1300 lines)", "shortDescription": {"text": "Very large file: app/web/pages/tasks-app.js (1300 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-b2fd471188cbfde0", "name": "Very large file: app/web/activities/reality.js (2982 lines)", "shortDescription": {"text": "Very large file: app/web/activities/reality.js (2982 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-da4c90ece50d403f", "name": "Very large file: app/web/activities/streams.js (1286 lines)", "shortDescription": {"text": "Very large file: app/web/activities/streams.js (1286 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8d100d878a5ae1f", "name": "Very large file: app/web/activities/browse.js (4798 lines)", "shortDescription": {"text": "Very large file: app/web/activities/browse.js (4798 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-77e39a891bc8838e", "name": "Very large file: app/web/activities/map.js (1532 lines)", "shortDescription": {"text": "Very large file: app/web/activities/map.js (1532 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-8aca2ec349bc0f96", "name": "Very large file: web/shared/qrcode.js (2297 lines)", "shortDescription": {"text": "Very large file: web/shared/qrcode.js (2297 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-94a98fa023f6521f", "name": "Very large file: web/shared/shell.js (1399 lines)", "shortDescription": {"text": "Very large file: web/shared/shell.js (1399 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-b4564b56adb01987", "name": "Very large file: web/chat/chat-profile.js (1249 lines)", "shortDescription": {"text": "Very large file: web/chat/chat-profile.js (1249 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-313ed477840aa752", "name": "Very large file: web/chat/crypto.js (1172 lines)", "shortDescription": {"text": "Very large file: web/chat/crypto.js (1172 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-a39d0eb1b8d502c7", "name": "Very large file: web/chat/app.js (2106 lines)", "shortDescription": {"text": "Very large file: web/chat/app.js (2106 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-71ab5026dc3e3240", "name": "Very large file: web/chat/chat-voice.js (2663 lines)", "shortDescription": {"text": "Very large file: web/chat/chat-voice.js (2663 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-da50886916544af5", "name": "Very large file: web/chat/chat-ui.js (2061 lines)", "shortDescription": {"text": "Very large file: web/chat/chat-ui.js (2061 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-d12d1ad48e108d3a", "name": "Very large file: web/pages/settings-app.js (2051 lines)", "shortDescription": {"text": "Very large file: web/pages/settings-app.js (2051 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-dec748a63c911fa8", "name": "Very large file: web/pages/tasks-app.js (1300 lines)", "shortDescription": {"text": "Very large file: web/pages/tasks-app.js (1300 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-3bc0a537f08074fe", "name": "Very large file: web/activities/reality.js (2982 lines)", "shortDescription": {"text": "Very large file: web/activities/reality.js (2982 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-712ed1899537f8c8", "name": "Very large file: web/activities/streams.js (1286 lines)", "shortDescription": {"text": "Very large file: web/activities/streams.js (1286 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-961df395bef9ed61", "name": "Very large file: web/activities/browse.js (4798 lines)", "shortDescription": {"text": "Very large file: web/activities/browse.js (4798 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-4fd6125a172222a3", "name": "Very large file: web/activities/map.js (1532 lines)", "shortDescription": {"text": "Very large file: web/activities/map.js (1532 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-a645315c8f133588", "name": "Very large file: src/lib.rs (5270 lines)", "shortDescription": {"text": "Very large file: src/lib.rs (5270 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-868fa89eb67e5847", "name": "Very large file: src/relay/relay.rs (6050 lines)", "shortDescription": {"text": "Very large file: src/relay/relay.rs (6050 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-d8b386a92e96026f", "name": "Very large file: src/relay/api.rs (3801 lines)", "shortDescription": {"text": "Very large file: src/relay/api.rs (3801 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-2cc2e77cead5d55f", "name": "Very large file: src/relay/handlers/msg_handlers.rs (4238 lines)", "shortDescription": {"text": "Very large file: src/relay/handlers/msg_handlers.rs (4238 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-3b3f67efe5a9cdca", "name": "Very large file: src/relay/handlers/game_state.rs (1444 lines)", "shortDescription": {"text": "Very large file: src/relay/handlers/game_state.rs (1444 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3f6f6a1d0326dae", "name": "Very large file: src/relay/storage/channels.rs (1204 lines)", "shortDescription": {"text": "Very large file: src/relay/storage/channels.rs (1204 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-6066d946a75e09bb", "name": "Very large file: src/relay/storage/mod.rs (2290 lines)", "shortDescription": {"text": "Very large file: src/relay/storage/mod.rs (2290 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-99bc4fd3c5b88eb9", "name": "Very large file: src/gui/mod.rs (3592 lines)", "shortDescription": {"text": "Very large file: src/gui/mod.rs (3592 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-9a4a3179c0aff064", "name": "Very large file: src/gui/widgets/mod.rs (1302 lines)", "shortDescription": {"text": "Very large file: src/gui/widgets/mod.rs (1302 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-36b735e9dab9c6fe", "name": "Very large file: src/gui/pages/chat.rs (6470 lines)", "shortDescription": {"text": "Very large file: src/gui/pages/chat.rs (6470 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-492b734ae57fddd5", "name": "Very large file: src/gui/pages/cosmos.rs (2890 lines)", "shortDescription": {"text": "Very large file: src/gui/pages/cosmos.rs (2890 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-13772dc2d68d6259", "name": "Very large file: src/gui/pages/server_settings.rs (2115 lines)", "shortDescription": {"text": "Very large file: src/gui/pages/server_settings.rs (2115 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-e97d277584a94891", "name": "Very large file: src/gui/pages/settings.rs (1814 lines)", "shortDescription": {"text": "Very large file: src/gui/pages/settings.rs (1814 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-57a32e56ca8a8b48", "name": "Very large file: src/gui/pages/inventory.rs (1330 lines)", "shortDescription": {"text": "Very large file: src/gui/pages/inventory.rs (1330 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-5d3ad0b7966c6ac6", "name": "Very large file: src/ship/fibonacci.rs (1420 lines)", "shortDescription": {"text": "Very large file: src/ship/fibonacci.rs (1420 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-cd33a3df6ce590d8", "name": "Very large file: src/net/webrtc.rs (2982 lines)", "shortDescription": {"text": "Very large file: src/net/webrtc.rs (2982 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": "7 test file(s) for 443 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-b0b1d4079e3ea3ab", "name": "38 TODO/FIXME markers", "shortDescription": {"text": "38 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-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 205 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 248 placeholder/mock markers across 90 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-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license. 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-17d866d91a7c451e", "name": "Agent instruction/config may expose a secret: CLAUDE.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: CLAUDE.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-122f91b7f2906dc4", "name": "Agent authority lacks a verifier contract: .claude/settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ecb0d2c55ed6875d", "name": "Agent authority lacks a verifier contract: .claude/settings.local.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.local.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1f16c82210fbee1d", "name": "Commented-code block (5 lines) in scripts/hook-push-guard.js:5", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/hook-push-guard.js: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-a5f320de28e00118", "name": "Commented-code block (7 lines) in scripts/fix-doc-links.js:2", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/fix-doc-links.js:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c35c63c3a3dd0e8", "name": "Commented-code block (10 lines) in scripts/ai-sample-client.js:5", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/ai-sample-client.js: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-518408698cd16f47", "name": "Commented-code block (6 lines) in scripts/reorg-docs.js:2", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/reorg-docs.js:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-68db23216ec3920d", "name": "Legacy-named symbol `group_v1` in scripts/group-object-kat.mjs:8", "shortDescription": {"text": "Legacy-named symbol `group_v1` in scripts/group-object-kat.mjs:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f77c14f1036a977e", "name": "Commented-code block (5 lines) in scripts/precompact-reminder.js:4", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/precompact-reminder.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef8d463fe7aa105e", "name": "Commented-code block (5 lines) in scripts/install-hooks.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/install-hooks.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-92a025678238cc0b", "name": "Commented-code block (6 lines) in scripts/pq-kat.mjs:72", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/pq-kat.mjs:72"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-634298333ba791f3", "name": "Commented-code block (5 lines) in scripts/build-library.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/build-library.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-911739d55e12ae00", "name": "Commented-code block (5 lines) in scripts/make-release-manifest.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/make-release-manifest.js:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fbf82d02b13b3c84", "name": "Legacy-named symbol `dlPathLegacy` in scripts/bump-version.js:84", "shortDescription": {"text": "Legacy-named symbol `dlPathLegacy` in scripts/bump-version.js:84"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c402175f41cb9e5", "name": "Commented-code block (10 lines) in scripts/strip-emdash-data.js:5", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/strip-emdash-data.js: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-84dd548af48ce076", "name": "Commented-code block (5 lines) in scripts/strip-emdash-web.js:2", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/strip-emdash-web.js:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4fc9c8bcdea9a2f3", "name": "Commented-code block (10 lines) in scripts/preview-server.js:2", "shortDescription": {"text": "Commented-code block (10 lines) in scripts/preview-server.js:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d80976d4147fa333", "name": "Commented-code block (5 lines) in scripts/strip-em-dashes.js:2", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/strip-em-dashes.js:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e54639ae4e25dd5", "name": "Legacy-named symbol `purgeOld` in scripts/archive-build.js:66", "shortDescription": {"text": "Legacy-named symbol `purgeOld` in scripts/archive-build.js:66"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f864029d165ab6c4", "name": "Commented-code block (5 lines) in scripts/archive-build.js:87", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/archive-build.js:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-474c63c633d4e2fc", "name": "Legacy-named symbol `hos_settings_v1` in app/web/shared/settings.js:499", "shortDescription": {"text": "Legacy-named symbol `hos_settings_v1` in app/web/shared/settings.js:499"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-32dabddd38ba79f3", "name": "Commented-code block (5 lines) in app/web/shared/wallet.js:494", "shortDescription": {"text": "Commented-code block (5 lines) in app/web/shared/wallet.js:494"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4aba7defd44302d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/shared/wallet.js:4", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/shared/wallet.js:4"}, "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-ebb3cd865fd8af46", "name": "Legacy-named symbol `hos_settings_v1` in app/web/shared/shell.js:1199", "shortDescription": {"text": "Legacy-named symbol `hos_settings_v1` in app/web/shared/shell.js:1199"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5cff687d251b614f", "name": "Commented-code block (5 lines) in app/web/shared/shell.js:609", "shortDescription": {"text": "Commented-code block (5 lines) in app/web/shared/shell.js:609"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-60f8b6d8356f4ed9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/shared/shell.js:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/shared/shell.js:97"}, "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-f695c264c9d27269", "name": "Legacy-named symbol `humanity_key_backup` in app/web/shared/pq-relay-auth.js:59", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/shared/pq-relay-auth.js:59"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-947fdc109f040028", "name": "Legacy-named symbol `cbor_canonical_v1` in app/web/shared/pq-object.js:22", "shortDescription": {"text": "Legacy-named symbol `cbor_canonical_v1` in app/web/shared/pq-object.js:22"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-86f6a4cddefd45b0", "name": "Legacy-named symbol `group_epoch_key_v1` in app/web/shared/canonical-cbor.js:155", "shortDescription": {"text": "Legacy-named symbol `group_epoch_key_v1` in app/web/shared/canonical-cbor.js:155"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0626aeb73a9ceafb", "name": "Commented-code block (8 lines) in app/web/shared/canonical-cbor.js:3", "shortDescription": {"text": "Commented-code block (8 lines) in app/web/shared/canonical-cbor.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-206f60aa9ea44f32", "name": "Legacy-named symbol `vouch_v1` in app/web/shared/pq-identity.js:147", "shortDescription": {"text": "Legacy-named symbol `vouch_v1` in app/web/shared/pq-identity.js:147"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ce967b317da2ce0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/shared/pq-identity.js:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/shared/pq-identity.js:31"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fafa6095e2751e94", "name": "Commented-code block (6 lines) in app/web/chat/chat-profile.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in app/web/chat/chat-profile.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1932a3589de2714", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/chat/chat-profile.js:456", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/chat/chat-profile.js:456"}, "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-ed816c3107b00be5", "name": "Commented-code block (7 lines) in app/web/chat/chat-dms.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in app/web/chat/chat-dms.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7f8f09824ab7b353", "name": "Commented-code block (5 lines) in app/web/chat/chat-onboarding.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in app/web/chat/chat-onboarding.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9a3c503e3386e73b", "name": "Commented-code block (8 lines) in app/web/chat/chat-voice-streaming.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in app/web/chat/chat-voice-streaming.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-876ea46f10c333a8", "name": "Commented-code block (5 lines) in app/web/chat/chat-messages.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in app/web/chat/chat-messages.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cadfe614425098d2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/chat/chat-messages.js:413", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/chat/chat-messages.js:413"}, "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-57db07c30c9134c2", "name": "Legacy-named symbol `group_v1` in app/web/chat/chat-groups-p2p.js:4", "shortDescription": {"text": "Legacy-named symbol `group_v1` in app/web/chat/chat-groups-p2p.js:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28f4388609b85024", "name": "Commented-code block (5 lines) in app/web/chat/chat-groups-p2p.js:8", "shortDescription": {"text": "Commented-code block (5 lines) in app/web/chat/chat-groups-p2p.js:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad9363c5bd81e254", "name": "Legacy-named symbol `humanity_key_backup` in app/web/chat/crypto.js:74", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/chat/crypto.js:74"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-573cf2777e9e7916", "name": "Commented-code block (7 lines) in app/web/chat/crypto.js:624", "shortDescription": {"text": "Commented-code block (7 lines) in app/web/chat/crypto.js:624"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-771731d49c024560", "name": "Legacy-named symbol `humanity_garden_v2` in app/web/chat/app.js:308", "shortDescription": {"text": "Legacy-named symbol `humanity_garden_v2` in app/web/chat/app.js:308"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11b09f09ca0d2a09", "name": "Commented-code block (5 lines) in app/web/chat/app.js:1010", "shortDescription": {"text": "Commented-code block (5 lines) in app/web/chat/app.js:1010"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b6b8fc5ea555bba", "name": "Commented-code block (6 lines) in app/web/chat/chat-voice-rooms.js:10", "shortDescription": {"text": "Commented-code block (6 lines) in app/web/chat/chat-voice-rooms.js:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-642079b3b4471943", "name": "Commented-code block (8 lines) in app/web/chat/chat-voice-webrtc.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in app/web/chat/chat-voice-webrtc.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b3fd1b8220718fef", "name": "Commented-code block (6 lines) in app/web/chat/chat-voice.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in app/web/chat/chat-voice.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-833e115956579a2f", "name": "Commented-code block (5 lines) in app/web/chat/chat-social.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in app/web/chat/chat-social.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc4c4ca36bde284f", "name": "Commented-code block (6 lines) in app/web/chat/chat-ui.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in app/web/chat/chat-ui.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c34db07645cffeb5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/chat/chat-ui.js:271", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/chat/chat-ui.js:271"}, "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-d2a3ba6dce6d394a", "name": "Legacy-named symbol `hos_calendar_v1` in app/web/chat/chat-p2p.js:545", "shortDescription": {"text": "Legacy-named symbol `hos_calendar_v1` in app/web/chat/chat-p2p.js:545"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad095dd1207857ac", "name": "Commented-code block (6 lines) in app/web/chat/chat-p2p.js:528", "shortDescription": {"text": "Commented-code block (6 lines) in app/web/chat/chat-p2p.js:528"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-24ee58e9799291b0", "name": "Legacy-named symbol `hos_skills_v1` in app/web/pages/settings-app.js:320", "shortDescription": {"text": "Legacy-named symbol `hos_skills_v1` in app/web/pages/settings-app.js:320"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0db237a395e31e1f", "name": "Commented-code block (6 lines) in app/web/pages/settings-app.js:1728", "shortDescription": {"text": "Commented-code block (6 lines) in app/web/pages/settings-app.js:1728"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-37c1b3c08045f63e", "name": "Legacy-named symbol `humanity_key_backup` in app/web/pages/trade-app.js:20", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/pages/trade-app.js:20"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4a1070e51123223e", "name": "Legacy-named symbol `hos_notes_v1` in app/web/pages/notes-app.js:20", "shortDescription": {"text": "Legacy-named symbol `hos_notes_v1` in app/web/pages/notes-app.js:20"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-23c0d916d4d20e8a", "name": "Legacy-named symbol `humanity_key_backup` in app/web/pages/market-app.js:424", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/pages/market-app.js:424"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2220b57147559374", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/pages/bugs-app.js:85", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/pages/bugs-app.js:85"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2da1d34331f1100b", "name": "Legacy-named symbol `hos_calc_history_v1` in app/web/pages/calculator-app.js:5", "shortDescription": {"text": "Legacy-named symbol `hos_calc_history_v1` in app/web/pages/calculator-app.js:5"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d074547d2739bd8", "name": "Commented-code block (6 lines) in app/web/pages/admin-app.js:20", "shortDescription": {"text": "Commented-code block (6 lines) in app/web/pages/admin-app.js:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34ff15178f537b16", "name": "Legacy-named symbol `humanity_key_backup` in app/web/pages/tasks-app.js:199", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/pages/tasks-app.js:199"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e5009a69f4aac200", "name": "Legacy-named symbol `humanity_key_backup` in app/web/activities/reality.js:1985", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/activities/reality.js:1985"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c7f5e23a8ce5b9d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/reality.js:1637", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/reality.js:1637"}, "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-2873026ecaa19afd", "name": "Legacy-named symbol `stream_scenes_v1` in app/web/activities/streams.js:126", "shortDescription": {"text": "Legacy-named symbol `stream_scenes_v1` in app/web/activities/streams.js:126"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c31f2ff9254ef3", "name": "Legacy-named symbol `humanity_quests_v1` in app/web/activities/core.js:105", "shortDescription": {"text": "Legacy-named symbol `humanity_quests_v1` in app/web/activities/core.js:105"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0498903a206c1d7", "name": "Legacy-named symbol `humanity_feature_web_v1` in app/web/activities/browse.js:182", "shortDescription": {"text": "Legacy-named symbol `humanity_feature_web_v1` in app/web/activities/browse.js:182"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-422f618000cb8dae", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/browse.js:4070", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/browse.js:4070"}, "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-8bb15dc24246dd8d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/map.js:146", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/map.js:146"}, "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-a318fca1ccf75294", "name": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/celestial.js:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/celestial.js:16"}, "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-0e258fcda0bbdc2e", "name": "Legacy-named symbol `hos_settings_v1` in web/shared/settings.js:499", "shortDescription": {"text": "Legacy-named symbol `hos_settings_v1` in web/shared/settings.js:499"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0bb790abe5f2a61", "name": "Commented-code block (5 lines) in web/shared/wallet.js:494", "shortDescription": {"text": "Commented-code block (5 lines) in web/shared/wallet.js:494"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e97fd318e12f389", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/shared/wallet.js:4", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/shared/wallet.js:4"}, "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-a90026721df34306", "name": "Legacy-named symbol `hos_settings_v1` in web/shared/shell.js:1199", "shortDescription": {"text": "Legacy-named symbol `hos_settings_v1` in web/shared/shell.js:1199"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-686f2459a154fa2f", "name": "Commented-code block (5 lines) in web/shared/shell.js:609", "shortDescription": {"text": "Commented-code block (5 lines) in web/shared/shell.js:609"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8af61a2c1b05a6c0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/shared/shell.js:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/shared/shell.js:97"}, "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-f9f21538bdccf44b", "name": "Legacy-named symbol `humanity_key_backup` in web/shared/pq-relay-auth.js:59", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in web/shared/pq-relay-auth.js:59"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5951a89f8ff11956", "name": "Legacy-named symbol `cbor_canonical_v1` in web/shared/pq-object.js:22", "shortDescription": {"text": "Legacy-named symbol `cbor_canonical_v1` in web/shared/pq-object.js:22"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec1a5dc42215f7f5", "name": "Legacy-named symbol `group_epoch_key_v1` in web/shared/canonical-cbor.js:155", "shortDescription": {"text": "Legacy-named symbol `group_epoch_key_v1` in web/shared/canonical-cbor.js:155"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cfd8e79838178633", "name": "Commented-code block (8 lines) in web/shared/canonical-cbor.js:3", "shortDescription": {"text": "Commented-code block (8 lines) in web/shared/canonical-cbor.js:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd8634aedc167374", "name": "Legacy-named symbol `vouch_v1` in web/shared/pq-identity.js:147", "shortDescription": {"text": "Legacy-named symbol `vouch_v1` in web/shared/pq-identity.js:147"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90ce35affcda5d58", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/shared/pq-identity.js:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/shared/pq-identity.js:31"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea76260d7e9507ae", "name": "Commented-code block (6 lines) in web/chat/chat-profile.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in web/chat/chat-profile.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4170c4f22cfe44eb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/chat/chat-profile.js:467", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/chat/chat-profile.js:467"}, "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-4945fdbb7c289553", "name": "Commented-code block (7 lines) in web/chat/chat-dms.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in web/chat/chat-dms.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ae379d4c90dc022d", "name": "Commented-code block (5 lines) in web/chat/chat-onboarding.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in web/chat/chat-onboarding.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4934729067bcf45", "name": "Commented-code block (8 lines) in web/chat/chat-voice-streaming.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in web/chat/chat-voice-streaming.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e3e754990ad86609", "name": "Commented-code block (5 lines) in web/chat/chat-messages.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in web/chat/chat-messages.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9cd74f8e87d8ebe0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/chat/chat-messages.js:413", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/chat/chat-messages.js:413"}, "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-a482624c38c075e3", "name": "Legacy-named symbol `group_v1` in web/chat/chat-groups-p2p.js:4", "shortDescription": {"text": "Legacy-named symbol `group_v1` in web/chat/chat-groups-p2p.js:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d29ff03158a952d0", "name": "Commented-code block (5 lines) in web/chat/chat-groups-p2p.js:8", "shortDescription": {"text": "Commented-code block (5 lines) in web/chat/chat-groups-p2p.js:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-399bf267aab4263b", "name": "Legacy-named symbol `humanity_key_backup` in web/chat/crypto.js:74", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in web/chat/crypto.js:74"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f96ab57770f469c1", "name": "Commented-code block (7 lines) in web/chat/crypto.js:624", "shortDescription": {"text": "Commented-code block (7 lines) in web/chat/crypto.js:624"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0e94537550586597", "name": "Legacy-named symbol `humanity_garden_v2` in web/chat/app.js:308", "shortDescription": {"text": "Legacy-named symbol `humanity_garden_v2` in web/chat/app.js:308"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c42fcffb546209c", "name": "Commented-code block (5 lines) in web/chat/app.js:1010", "shortDescription": {"text": "Commented-code block (5 lines) in web/chat/app.js:1010"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5530fc21c60273ff", "name": "Commented-code block (6 lines) in web/chat/chat-voice-rooms.js:10", "shortDescription": {"text": "Commented-code block (6 lines) in web/chat/chat-voice-rooms.js:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-390a8a90b5552b74", "name": "Commented-code block (8 lines) in web/chat/chat-voice-webrtc.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in web/chat/chat-voice-webrtc.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-801542733558800a", "name": "Commented-code block (6 lines) in web/chat/chat-voice.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in web/chat/chat-voice.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-008b6481040c9224", "name": "Commented-code block (5 lines) in web/chat/chat-social.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in web/chat/chat-social.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91e3df30fd317ad0", "name": "Commented-code block (6 lines) in web/chat/chat-ui.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in web/chat/chat-ui.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-255c48d26b00484d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/chat/chat-ui.js:271", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/chat/chat-ui.js:271"}, "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-bbaf899b0b3f22eb", "name": "Legacy-named symbol `hos_calendar_v1` in web/chat/chat-p2p.js:545", "shortDescription": {"text": "Legacy-named symbol `hos_calendar_v1` in web/chat/chat-p2p.js:545"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d6a10f51be06f99", "name": "Commented-code block (6 lines) in web/chat/chat-p2p.js:528", "shortDescription": {"text": "Commented-code block (6 lines) in web/chat/chat-p2p.js:528"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5cf7de5edd82aab7", "name": "Commented-code block (5 lines) in web/chat/view/messageRow.js:9", "shortDescription": {"text": "Commented-code block (5 lines) in web/chat/view/messageRow.js:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6661cc2003608d7b", "name": "Legacy-named symbol `hos_skills_v1` in web/pages/settings-app.js:320", "shortDescription": {"text": "Legacy-named symbol `hos_skills_v1` in web/pages/settings-app.js:320"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ba4ce1d4fba13f6", "name": "Commented-code block (6 lines) in web/pages/settings-app.js:1728", "shortDescription": {"text": "Commented-code block (6 lines) in web/pages/settings-app.js:1728"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5724cd7ff031e962", "name": "Legacy-named symbol `humanity_key_backup` in web/pages/trade-app.js:20", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in web/pages/trade-app.js:20"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35feeea1558e4db8", "name": "Legacy-named symbol `hos_notes_v1` in web/pages/notes-app.js:20", "shortDescription": {"text": "Legacy-named symbol `hos_notes_v1` in web/pages/notes-app.js:20"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df6991c6e415d9d8", "name": "Legacy-named symbol `humanity_key_backup` in web/pages/market-app.js:424", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in web/pages/market-app.js:424"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f7d465c1675566d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/pages/bugs-app.js:85", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/pages/bugs-app.js:85"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e21af4b80e322393", "name": "Legacy-named symbol `hos_calc_history_v1` in web/pages/calculator-app.js:5", "shortDescription": {"text": "Legacy-named symbol `hos_calc_history_v1` in web/pages/calculator-app.js:5"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e1eb80233b12106", "name": "Commented-code block (6 lines) in web/pages/admin-app.js:20", "shortDescription": {"text": "Commented-code block (6 lines) in web/pages/admin-app.js:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-36b8d6ff4e0d4271", "name": "Legacy-named symbol `humanity_key_backup` in web/pages/tasks-app.js:199", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in web/pages/tasks-app.js:199"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-96bdd8bbbcf931d8", "name": "Legacy-named symbol `humanity_key_backup` in web/activities/reality.js:1985", "shortDescription": {"text": "Legacy-named symbol `humanity_key_backup` in web/activities/reality.js:1985"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a0557bd55d20fa1a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/reality.js:1637", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/reality.js:1637"}, "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-8fd82f90f36e433b", "name": "Legacy-named symbol `stream_scenes_v1` in web/activities/streams.js:126", "shortDescription": {"text": "Legacy-named symbol `stream_scenes_v1` in web/activities/streams.js:126"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71dd217444bc5f18", "name": "Legacy-named symbol `humanity_quests_v1` in web/activities/core.js:105", "shortDescription": {"text": "Legacy-named symbol `humanity_quests_v1` in web/activities/core.js:105"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcb60881944e642d", "name": "Legacy-named symbol `humanity_feature_web_v1` in web/activities/browse.js:182", "shortDescription": {"text": "Legacy-named symbol `humanity_feature_web_v1` in web/activities/browse.js:182"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9a077bd3197eb7d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/browse.js:4070", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/browse.js:4070"}, "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-4ec1350fb3d96636", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/map.js:146", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/map.js:146"}, "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-ed86ba776061ec26", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/celestial.js:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/celestial.js:16"}, "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}}]}}, "automationDetails": {"id": "repobility/19408"}, "properties": {"repository": "Shaostoul/Humanity", "repoUrl": "https://github.com/Shaostoul/Humanity", "branch": "main"}, "results": [{"ruleId": "scanner-f07b3bf4802262a7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-theme-css.js:217"}, "properties": {"repobilityId": "3d7027a0d9e0a954", "scanner": "scanner-primary", "fingerprint": "f07b3bf4802262a7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9c024b831fc6b3a3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-doc-links.js:107"}, "properties": {"repobilityId": "f4a5a423a1dc1c0a", "scanner": "scanner-primary", "fingerprint": "9c024b831fc6b3a3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d09b48653f1a346e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ai-sample-client.js:36"}, "properties": {"repobilityId": "7db1c0c7c259e680", "scanner": "scanner-primary", "fingerprint": "d09b48653f1a346e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-191c2e0a94ea9a17", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/reorg-docs.js:66"}, "properties": {"repobilityId": "d726f612f035f674", "scanner": "scanner-primary", "fingerprint": "191c2e0a94ea9a17", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-029029e1abd36469", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/archive-wordpress.js:99"}, "properties": {"repobilityId": "21913f9039d2ea32", "scanner": "scanner-primary", "fingerprint": "029029e1abd36469", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f727a77cd89dc14", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/install-hooks.js:69"}, "properties": {"repobilityId": "239a26ceefd84446", "scanner": "scanner-primary", "fingerprint": "6f727a77cd89dc14", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-432a639e5b72a453", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-theme-presets-js.js:85"}, "properties": {"repobilityId": "c19e3676798cc9a6", "scanner": "scanner-primary", "fingerprint": "432a639e5b72a453", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cf42b533cd342047", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/build-library.js:68"}, "properties": {"repobilityId": "03dc4516bce03379", "scanner": "scanner-primary", "fingerprint": "cf42b533cd342047", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9059700e53c5ebe4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-emdash-strings.js:61"}, "properties": {"repobilityId": "3479986f4b5e9a14", "scanner": "scanner-primary", "fingerprint": "9059700e53c5ebe4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-caffa67d82863929", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-perception-api.js:17"}, "properties": {"repobilityId": "ac8c9b18fe1e8b2d", "scanner": "scanner-primary", "fingerprint": "caffa67d82863929", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-24b4bdaa0e38aee6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-doc-links.js:115"}, "properties": {"repobilityId": "d3057eb8f32dbfff", "scanner": "scanner-primary", "fingerprint": "24b4bdaa0e38aee6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a01b7db202e3ac3d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dev-server.js:44"}, "properties": {"repobilityId": "933e584b7f052375", "scanner": "scanner-primary", "fingerprint": "a01b7db202e3ac3d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d9de10f352fb422", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-icon.js:366"}, "properties": {"repobilityId": "aa9de53b7a8f2afb", "scanner": "scanner-primary", "fingerprint": "6d9de10f352fb422", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-74e14ff1af52ca78", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bundle-web.js:77"}, "properties": {"repobilityId": "33bd47e4e16d2246", "scanner": "scanner-primary", "fingerprint": "74e14ff1af52ca78", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e016fc123e1f41d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/create-shortcut.js:41"}, "properties": {"repobilityId": "6007776022197600", "scanner": "scanner-primary", "fingerprint": "5e016fc123e1f41d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa4c48a07d2e3c17", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/make-release-manifest.js:45"}, "properties": {"repobilityId": "9e765e7fb434bf08", "scanner": "scanner-primary", "fingerprint": "aa4c48a07d2e3c17", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c0e64d7b82a982c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/roadmap-to-json.js:180"}, "properties": {"repobilityId": "9c6cf4d40f867b2e", "scanner": "scanner-primary", "fingerprint": "6c0e64d7b82a982c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9647a3e9e23d95d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bump-version.js:32"}, "properties": {"repobilityId": "9504217cd744d575", "scanner": "scanner-primary", "fingerprint": "9647a3e9e23d95d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2eceb9f50bc3e83d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/humanity-alert.js:149"}, "properties": {"repobilityId": "a46bc7854f5c4914", "scanner": "scanner-primary", "fingerprint": "2eceb9f50bc3e83d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a355dfce99f6a362", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-emdash-data.js:61"}, "properties": {"repobilityId": "4ef06782ec56d58b", "scanner": "scanner-primary", "fingerprint": "a355dfce99f6a362", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-916cb57c5a54a865", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-emdash-web.js:49"}, "properties": {"repobilityId": "ac20d0a80168cac8", "scanner": "scanner-primary", "fingerprint": "916cb57c5a54a865", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6bd129d1be22f8c1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/preview-server.js:66"}, "properties": {"repobilityId": "87f4588bfa8a4dd2", "scanner": "scanner-primary", "fingerprint": "6bd129d1be22f8c1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-732f0410f68d2916", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/strip-em-dashes.js:100"}, "properties": {"repobilityId": "d2fef571e4acd77f", "scanner": "scanner-primary", "fingerprint": "732f0410f68d2916", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49d9da6eba8e3748", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/archive-build.js:74"}, "properties": {"repobilityId": "9b9944cb13dd1735", "scanner": "scanner-primary", "fingerprint": "49d9da6eba8e3748", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-856e2d497248a075", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-data-manifest.js:103"}, "properties": {"repobilityId": "8872a1980c440f40", "scanner": "scanner-primary", "fingerprint": "856e2d497248a075", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1f5d34f6bfe984fe", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/web/shared/shell.js:1160"}, "properties": {"repobilityId": "6b938367150ace73", "scanner": "scanner-primary", "fingerprint": "1f5d34f6bfe984fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-1dfa4b8cd1416fb4", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 app/web/shared/shell.js:1018"}, "properties": {"repobilityId": "0715be9f7e3be2bf", "scanner": "scanner-primary", "fingerprint": "1dfa4b8cd1416fb4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3f395a12bee5cfbe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/web/shared/shell.js:1112"}, "properties": {"repobilityId": "486bed2bf4f9640c", "scanner": "scanner-primary", "fingerprint": "3f395a12bee5cfbe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0b8afdb22204e1f", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/web/chat/chat-voice-streaming.js:284"}, "properties": {"repobilityId": "7445217fe28bda7d", "scanner": "scanner-primary", "fingerprint": "d0b8afdb22204e1f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-a6c9b20cecd6fbc3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/crypto.js:61"}, "properties": {"repobilityId": "82e423f44d6854e2", "scanner": "scanner-primary", "fingerprint": "a6c9b20cecd6fbc3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8decb021be5e368d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/app.js:757"}, "properties": {"repobilityId": "15835fbc0f387452", "scanner": "scanner-primary", "fingerprint": "8decb021be5e368d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-afe80e88c9463db4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/chat-voice-rooms.js:174"}, "properties": {"repobilityId": "9b7f31da414a7dec", "scanner": "scanner-primary", "fingerprint": "afe80e88c9463db4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1c78ed09c39759a8", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 app/web/chat/chat-voice.js:2595"}, "properties": {"repobilityId": "d34cea5e52ddb90a", "scanner": "scanner-primary", "fingerprint": "1c78ed09c39759a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-fc984c87eab4d2c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/chat-voice.js:221"}, "properties": {"repobilityId": "4303d2e63ca40928", "scanner": "scanner-primary", "fingerprint": "fc984c87eab4d2c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5479c2638aa70d39", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/web/chat/chat-ui.js:310"}, "properties": {"repobilityId": "8ccab6eb10f676ad", "scanner": "scanner-primary", "fingerprint": "5479c2638aa70d39", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0b4a9830209e0529", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/web/pages/tasks-app.js:73"}, "properties": {"repobilityId": "7e9f7e58a5ce5a84", "scanner": "scanner-primary", "fingerprint": "0b4a9830209e0529", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0c1d14ce4d920e7b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/web/activities/streams.js:204"}, "properties": {"repobilityId": "3b9afdbaabd67b03", "scanner": "scanner-primary", "fingerprint": "0c1d14ce4d920e7b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0ec1d92242a2f4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 app/web/activities/map.js:1524"}, "properties": {"repobilityId": "0a1df5014c117cfd", "scanner": "scanner-primary", "fingerprint": "e0ec1d92242a2f4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5f454af60c9fbcf7", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 web/shared/shell.js:1160"}, "properties": {"repobilityId": "1b8151bb2db29dde", "scanner": "scanner-primary", "fingerprint": "5f454af60c9fbcf7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-e7c97a9d63dc62fc", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 web/shared/shell.js:1018"}, "properties": {"repobilityId": "37286bfbf50835c2", "scanner": "scanner-primary", "fingerprint": "e7c97a9d63dc62fc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-36d7a705d2b11d26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/shared/shell.js:1112"}, "properties": {"repobilityId": "cfe0b5a4e33786a8", "scanner": "scanner-primary", "fingerprint": "36d7a705d2b11d26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a42db31312a90b3c", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 web/chat/chat-voice-streaming.js:284"}, "properties": {"repobilityId": "eb27c764137738b4", "scanner": "scanner-primary", "fingerprint": "a42db31312a90b3c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-ea0856327c36e1ae", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/crypto.js:61"}, "properties": {"repobilityId": "07e390afda497b8f", "scanner": "scanner-primary", "fingerprint": "ea0856327c36e1ae", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b194d4bda69b19f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/app.js:757"}, "properties": {"repobilityId": "40e0d336ba259469", "scanner": "scanner-primary", "fingerprint": "b194d4bda69b19f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6a033ac3565becbf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/chat-voice-rooms.js:174"}, "properties": {"repobilityId": "ef58d0cb8905bb57", "scanner": "scanner-primary", "fingerprint": "6a033ac3565becbf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c8be7749627a553e", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 web/chat/chat-voice.js:2595"}, "properties": {"repobilityId": "a25564f9bc36ae88", "scanner": "scanner-primary", "fingerprint": "c8be7749627a553e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-33fade046a4185ee", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/chat-voice.js:221"}, "properties": {"repobilityId": "1e1b6aeb0b2b6967", "scanner": "scanner-primary", "fingerprint": "33fade046a4185ee", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a28dcd0c229e9d5d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/chat/chat-ui.js:310"}, "properties": {"repobilityId": "c66e976d98f137e9", "scanner": "scanner-primary", "fingerprint": "a28dcd0c229e9d5d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c637a6943651bdf4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/pages/tasks-app.js:73"}, "properties": {"repobilityId": "4c9b49ee67a42fa6", "scanner": "scanner-primary", "fingerprint": "c637a6943651bdf4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-55dc4bad091c6397", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/activities/streams.js:204"}, "properties": {"repobilityId": "73470ceb89f19b69", "scanner": "scanner-primary", "fingerprint": "55dc4bad091c6397", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2dfa0c08614383ea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web/activities/map.js:1524"}, "properties": {"repobilityId": "5be63fb25e7d4d5b", "scanner": "scanner-primary", "fingerprint": "2dfa0c08614383ea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-758b3a0a7c43c857", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/hook-push-guard.js:17"}, "properties": {"repobilityId": "9cb9d6625f5f814d", "scanner": "scanner-primary", "fingerprint": "758b3a0a7c43c857", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/hook-push-guard.js"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-10b11abe2d951fd0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/reorg-docs.js:14"}, "properties": {"repobilityId": "37c88b338b4b16b6", "scanner": "scanner-primary", "fingerprint": "10b11abe2d951fd0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/reorg-docs.js"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-bb5bbf2683629c61", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/hook-theme-sync.js:22"}, "properties": {"repobilityId": "71a2631c2b2e4d52", "scanner": "scanner-primary", "fingerprint": "bb5bbf2683629c61", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/hook-theme-sync.js"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-e857c6cbe7064d5d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/create-shortcut.js:6"}, "properties": {"repobilityId": "89346318deb794d3", "scanner": "scanner-primary", "fingerprint": "e857c6cbe7064d5d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/create-shortcut.js"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-12af4fc21f1c045d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/build-noble-bundle.mjs:22"}, "properties": {"repobilityId": "79bce8bf3f03235d", "scanner": "scanner-primary", "fingerprint": "12af4fc21f1c045d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/build-noble-bundle.mjs"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-2ebcaefda07530b1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/archive-build.js:12"}, "properties": {"repobilityId": "c7d0556540e15864", "scanner": "scanner-primary", "fingerprint": "2ebcaefda07530b1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/archive-build.js"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-7b1bac85576c8615", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/inventory.html:934"}, "properties": {"repobilityId": "1e04895eb973c813", "scanner": "scanner-primary", "fingerprint": "7b1bac85576c8615", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/inventory.html"}, "region": {"startLine": 934}}}]}, {"ruleId": "scanner-e66bbfc5ac7e533e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/governance.html:158"}, "properties": {"repobilityId": "2ef010c8bfc706bd", "scanner": "scanner-primary", "fingerprint": "e66bbfc5ac7e533e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/governance.html"}, "region": {"startLine": 158}}}]}, {"ruleId": "scanner-828aa4329e485a6d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/calendar.html:665"}, "properties": {"repobilityId": "c2db5f021f2672f3", "scanner": "scanner-primary", "fingerprint": "828aa4329e485a6d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/calendar.html"}, "region": {"startLine": 665}}}]}, {"ruleId": "scanner-28f96a4632c739e2", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/web/calendar.html:860"}, "properties": {"repobilityId": "be79dba91b12db3a", "scanner": "scanner-primary", "fingerprint": "28f96a4632c739e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/calendar.html"}, "region": {"startLine": 860}}}]}, {"ruleId": "scanner-9159d26f08315986", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/identity.html:109"}, "properties": {"repobilityId": "c1e79c1707f44a42", "scanner": "scanner-primary", "fingerprint": "9159d26f08315986", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/identity.html"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-b93e830aaf8d8a9c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/maps.html:1145"}, "properties": {"repobilityId": "a2d726b3b74cf78a", "scanner": "scanner-primary", "fingerprint": "b93e830aaf8d8a9c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/maps.html"}, "region": {"startLine": 1145}}}]}, {"ruleId": "scanner-e9f3ed3b4836315d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/agents.html:157"}, "properties": {"repobilityId": "9353a5790ddc5657", "scanner": "scanner-primary", "fingerprint": "e9f3ed3b4836315d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/agents.html"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-eb9105fa119f6f53", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/download.html:538"}, "properties": {"repobilityId": "584a5b6f837b809e", "scanner": "scanner-primary", "fingerprint": "eb9105fa119f6f53", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/download.html"}, "region": {"startLine": 538}}}]}, {"ruleId": "scanner-e653852e218b2dae", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/dashboard.html:262"}, "properties": {"repobilityId": "93c8fdb16ef51f17", "scanner": "scanner-primary", "fingerprint": "e653852e218b2dae", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/dashboard.html"}, "region": {"startLine": 262}}}]}, {"ruleId": "scanner-c8d0bd8689a92584", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/audit.html:457"}, "properties": {"repobilityId": "ff0bb1e0d77bad11", "scanner": "scanner-primary", "fingerprint": "c8d0bd8689a92584", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/audit.html"}, "region": {"startLine": 457}}}]}, {"ruleId": "scanner-f3e25d49e6c91e80", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/web/audit.html:542"}, "properties": {"repobilityId": "8571314b5d489008", "scanner": "scanner-primary", "fingerprint": "f3e25d49e6c91e80", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/audit.html"}, "region": {"startLine": 542}}}]}, {"ruleId": "scanner-0e9f284f0ab6cca0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/data.html:807"}, "properties": {"repobilityId": "0f1eb7d739f0d62d", "scanner": "scanner-primary", "fingerprint": "0e9f284f0ab6cca0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/data.html"}, "region": {"startLine": 807}}}]}, {"ruleId": "scanner-a5b29e281b237a59", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/ops.html:270"}, "properties": {"repobilityId": "0495fb07bd3b1424", "scanner": "scanner-primary", "fingerprint": "a5b29e281b237a59", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/ops.html"}, "region": {"startLine": 270}}}]}, {"ruleId": "scanner-24c3900c8ccd1c64", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/ai-usage.html:177"}, "properties": {"repobilityId": "915d6ecde74001ea", "scanner": "scanner-primary", "fingerprint": "24c3900c8ccd1c64", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/ai-usage.html"}, "region": {"startLine": 177}}}]}, {"ruleId": "scanner-78e28324be631e41", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/profile.html:1299"}, "properties": {"repobilityId": "2d3348fa7f7a6eb6", "scanner": "scanner-primary", "fingerprint": "78e28324be631e41", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/profile.html"}, "region": {"startLine": 1299}}}]}, {"ruleId": "scanner-f4fc351b0b537d08", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in app/web/profile.html:1397"}, "properties": {"repobilityId": "a71b08a12e524371", "scanner": "scanner-primary", "fingerprint": "f4fc351b0b537d08", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/profile.html"}, "region": {"startLine": 1397}}}]}, {"ruleId": "scanner-dac0b346f394da03", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/dev.html:548"}, "properties": {"repobilityId": "d47454504029cc50", "scanner": "scanner-primary", "fingerprint": "dac0b346f394da03", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/dev.html"}, "region": {"startLine": 548}}}]}, {"ruleId": "scanner-e8698bba1375a2a1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/onboarding.html:343"}, "properties": {"repobilityId": "565b819dd000ddab", "scanner": "scanner-primary", "fingerprint": "e8698bba1375a2a1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/onboarding.html"}, "region": {"startLine": 343}}}]}, {"ruleId": "scanner-faeb497d947d8a99", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/settings.html:610"}, "properties": {"repobilityId": "bfcdf371b50c0a40", "scanner": "scanner-primary", "fingerprint": "faeb497d947d8a99", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/settings.html"}, "region": {"startLine": 610}}}]}, {"ruleId": "scanner-b6be4fedd2a18d94", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/home.html:793"}, "properties": {"repobilityId": "aa2228cb2c4184a3", "scanner": "scanner-primary", "fingerprint": "b6be4fedd2a18d94", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/home.html"}, "region": {"startLine": 793}}}]}, {"ruleId": "scanner-c1f77728c4a71072", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/guilds.html:402"}, "properties": {"repobilityId": "7b316dac4869ae52", "scanner": "scanner-primary", "fingerprint": "c1f77728c4a71072", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/guilds.html"}, "region": {"startLine": 402}}}]}, {"ruleId": "scanner-c15aa3c217bb3673", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/web.html:445"}, "properties": {"repobilityId": "bacaef0d9cb11c08", "scanner": "scanner-primary", "fingerprint": "c15aa3c217bb3673", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/web.html"}, "region": {"startLine": 445}}}]}, {"ruleId": "scanner-e354abfd193248a9", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in app/web/calculator.html:308"}, "properties": {"repobilityId": "47383bc008935bb7", "scanner": "scanner-primary", "fingerprint": "e354abfd193248a9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/calculator.html"}, "region": {"startLine": 308}}}]}, {"ruleId": "scanner-691fd9507d05bda3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/recovery.html:117"}, "properties": {"repobilityId": "30922f1133010c8e", "scanner": "scanner-primary", "fingerprint": "691fd9507d05bda3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/recovery.html"}, "region": {"startLine": 117}}}]}, {"ruleId": "scanner-12b720a4daa0b357", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/shared/shell.js:74"}, "properties": {"repobilityId": "d7a12a6f1cfdefeb", "scanner": "scanner-primary", "fingerprint": "12b720a4daa0b357", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/shared/shell.js"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-011101aff2f25d81", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/shared/onboarding-tour.js:112"}, "properties": {"repobilityId": "8944470533639781", "scanner": "scanner-primary", "fingerprint": "011101aff2f25d81", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/shared/onboarding-tour.js"}, "region": {"startLine": 112}}}]}, {"ruleId": "scanner-d027814fd8fc20aa", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/shared/accessibility.js:46"}, "properties": {"repobilityId": "47e184cacadf0963", "scanner": "scanner-primary", "fingerprint": "d027814fd8fc20aa", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/shared/accessibility.js"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-2adfe7ad49c3735b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-profile.js:36"}, "properties": {"repobilityId": "9e24e1b875e1f799", "scanner": "scanner-primary", "fingerprint": "2adfe7ad49c3735b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-profile.js"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-8b4737bfd7f4017c", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/web/chat/chat-profile.js:480"}, "properties": {"repobilityId": "c143fd695c01a48a", "scanner": "scanner-primary", "fingerprint": "8b4737bfd7f4017c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-profile.js"}, "region": {"startLine": 480}}}]}, {"ruleId": "scanner-67b27ee90710786f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-dms.js:80"}, "properties": {"repobilityId": "05efe4fd837edbbc", "scanner": "scanner-primary", "fingerprint": "67b27ee90710786f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-dms.js"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-b97c4e52df0f5117", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in app/web/chat/chat-onboarding.js:410"}, "properties": {"repobilityId": "573821c2a7c8c553", "scanner": "scanner-primary", "fingerprint": "b97c4e52df0f5117", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-onboarding.js"}, "region": {"startLine": 410}}}]}, {"ruleId": "scanner-6ef9d7d79d9e8eda", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-onboarding.js:36"}, "properties": {"repobilityId": "c6f711d494e570f1", "scanner": "scanner-primary", "fingerprint": "6ef9d7d79d9e8eda", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-onboarding.js"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-b618930cd2fe52a4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-streaming.js:50"}, "properties": {"repobilityId": "4de707f2100f55fb", "scanner": "scanner-primary", "fingerprint": "b618930cd2fe52a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-voice-streaming.js"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-e903b8979f565ed1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/index.html:731"}, "properties": {"repobilityId": "44c2a4ce2e064e2d", "scanner": "scanner-primary", "fingerprint": "e903b8979f565ed1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/index.html"}, "region": {"startLine": 731}}}]}, {"ruleId": "scanner-607d60a38320a476", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-messages.js:82"}, "properties": {"repobilityId": "53ed8179d98c66c9", "scanner": "scanner-primary", "fingerprint": "607d60a38320a476", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-messages.js"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-1eec735becb781c1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-groups-p2p.js:534"}, "properties": {"repobilityId": "abc34cfc48c22003", "scanner": "scanner-primary", "fingerprint": "1eec735becb781c1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-groups-p2p.js"}, "region": {"startLine": 534}}}]}, {"ruleId": "scanner-e1ef7c8904d88088", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/crypto.js:256"}, "properties": {"repobilityId": "9a885ef92f05df87", "scanner": "scanner-primary", "fingerprint": "e1ef7c8904d88088", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/crypto.js"}, "region": {"startLine": 256}}}]}, {"ruleId": "scanner-c2580ee4149a9ccd", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/app.js:106"}, "properties": {"repobilityId": "3576e84a225a64b2", "scanner": "scanner-primary", "fingerprint": "c2580ee4149a9ccd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/app.js"}, "region": {"startLine": 106}}}]}, {"ruleId": "scanner-ae8cb62eb4bd6e57", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-rooms.js:363"}, "properties": {"repobilityId": "cb68d867d03caa0b", "scanner": "scanner-primary", "fingerprint": "ae8cb62eb4bd6e57", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-voice-rooms.js"}, "region": {"startLine": 363}}}]}, {"ruleId": "scanner-54ec0eed0211a555", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-calls.js:42"}, "properties": {"repobilityId": "8e9727388bda55ab", "scanner": "scanner-primary", "fingerprint": "54ec0eed0211a555", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-voice-calls.js"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-ae909a148b62dc90", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice-webrtc.js:54"}, "properties": {"repobilityId": "f9a3367f8749a21b", "scanner": "scanner-primary", "fingerprint": "ae909a148b62dc90", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-voice-webrtc.js"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-48c93caf7ca66bc4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-voice.js:426"}, "properties": {"repobilityId": "f4df32a893f34e45", "scanner": "scanner-primary", "fingerprint": "48c93caf7ca66bc4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-voice.js"}, "region": {"startLine": 426}}}]}, {"ruleId": "scanner-619916173575fdd6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-social.js:108"}, "properties": {"repobilityId": "bb19b10d53a51349", "scanner": "scanner-primary", "fingerprint": "619916173575fdd6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-social.js"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-2e499cc93d7cac3f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-ui.js:192"}, "properties": {"repobilityId": "dbc1fbac49471948", "scanner": "scanner-primary", "fingerprint": "2e499cc93d7cac3f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-ui.js"}, "region": {"startLine": 192}}}]}, {"ruleId": "scanner-29ddfd3052f43ac7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/chat/chat-p2p.js:124"}, "properties": {"repobilityId": "9e6f775c224e9ed5", "scanner": "scanner-primary", "fingerprint": "29ddfd3052f43ac7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/chat/chat-p2p.js"}, "region": {"startLine": 124}}}]}, {"ruleId": "scanner-342d164494c59285", "level": "error", "message": {"text": "Possible secret in app/web/pages/settings-app.js"}, "properties": {"repobilityId": "24d12cbc8615eb85", "scanner": "scanner-primary", "fingerprint": "342d164494c59285", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/settings-app.js"}, "region": {"startLine": 1686}}}]}, {"ruleId": "scanner-bf9f1bc647488e15", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/settings-app.js:233"}, "properties": {"repobilityId": "1183d4ac8a8252c8", "scanner": "scanner-primary", "fingerprint": "bf9f1bc647488e15", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/settings-app.js"}, "region": {"startLine": 233}}}]}, {"ruleId": "scanner-ffec46f0a4c70961", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/trade-app.js:112"}, "properties": {"repobilityId": "c703483ec64d69b5", "scanner": "scanner-primary", "fingerprint": "ffec46f0a4c70961", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/trade-app.js"}, "region": {"startLine": 112}}}]}, {"ruleId": "scanner-d547abc5ab6d7879", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/notes-app.js:98"}, "properties": {"repobilityId": "d0964f00feaedd0e", "scanner": "scanner-primary", "fingerprint": "d547abc5ab6d7879", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/notes-app.js"}, "region": {"startLine": 98}}}]}, {"ruleId": "scanner-722db752d166f890", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/resources-app.js:224"}, "properties": {"repobilityId": "19a34a2934814afb", "scanner": "scanner-primary", "fingerprint": "722db752d166f890", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/resources-app.js"}, "region": {"startLine": 224}}}]}, {"ruleId": "scanner-5d63b560643a6a4a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/market-app.js:241"}, "properties": {"repobilityId": "2da2a34fef546e20", "scanner": "scanner-primary", "fingerprint": "5d63b560643a6a4a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/market-app.js"}, "region": {"startLine": 241}}}]}, {"ruleId": "scanner-df4e7e0ae64a01f8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/civilization-app.js:41"}, "properties": {"repobilityId": "0ad5b95867b02306", "scanner": "scanner-primary", "fingerprint": "df4e7e0ae64a01f8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/civilization-app.js"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-36728ba776f3ad94", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/wallet-guide-app.js:235"}, "properties": {"repobilityId": "ef573d622d753d57", "scanner": "scanner-primary", "fingerprint": "36728ba776f3ad94", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/wallet-guide-app.js"}, "region": {"startLine": 235}}}]}, {"ruleId": "scanner-abbfd224976d4f79", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/tools-app.js:87"}, "properties": {"repobilityId": "777914f3fc2f625c", "scanner": "scanner-primary", "fingerprint": "abbfd224976d4f79", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/tools-app.js"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-1429d518e0888d34", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/roadmap-app.js:123"}, "properties": {"repobilityId": "a0948122b1c2445f", "scanner": "scanner-primary", "fingerprint": "1429d518e0888d34", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/roadmap-app.js"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-abdfeb0156301fc8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/files-app.js:58"}, "properties": {"repobilityId": "dfb5a420b0985ba9", "scanner": "scanner-primary", "fingerprint": "abdfeb0156301fc8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/files-app.js"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-37a8f6576c87c72c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/donate-app.js:85"}, "properties": {"repobilityId": "0872a79df6ed752c", "scanner": "scanner-primary", "fingerprint": "37a8f6576c87c72c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/donate-app.js"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-e864f4a775e00d80", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/bugs-app.js:125"}, "properties": {"repobilityId": "ea9b5dc34192684a", "scanner": "scanner-primary", "fingerprint": "e864f4a775e00d80", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/bugs-app.js"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-7034b2de73c87731", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in app/web/pages/calculator-app.js:108"}, "properties": {"repobilityId": "b1a98bf5c67bf491", "scanner": "scanner-primary", "fingerprint": "7034b2de73c87731", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/calculator-app.js"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-7e5ec1797dadd648", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/calculator-app.js:181"}, "properties": {"repobilityId": "e24db384448be57a", "scanner": "scanner-primary", "fingerprint": "7e5ec1797dadd648", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/calculator-app.js"}, "region": {"startLine": 181}}}]}, {"ruleId": "scanner-10446df33b5d3d95", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/admin-app.js:154"}, "properties": {"repobilityId": "8f1df87fdad1fd87", "scanner": "scanner-primary", "fingerprint": "10446df33b5d3d95", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/admin-app.js"}, "region": {"startLine": 154}}}]}, {"ruleId": "scanner-09322c4f2027aa39", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/tasks-app.js:45"}, "properties": {"repobilityId": "ce2a6d999896c125", "scanner": "scanner-primary", "fingerprint": "09322c4f2027aa39", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/tasks-app.js"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-8e95c2a5ec0f57ea", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/pages/wallet-app.js:52"}, "properties": {"repobilityId": "59ea6b18e15987e6", "scanner": "scanner-primary", "fingerprint": "8e95c2a5ec0f57ea", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/pages/wallet-app.js"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-f3bf2884f06fcd06", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/fantasy.js:97"}, "properties": {"repobilityId": "e74ca5b281ac5f9c", "scanner": "scanner-primary", "fingerprint": "f3bf2884f06fcd06", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/fantasy.js"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-7375d16d91f21035", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/reality.js:34"}, "properties": {"repobilityId": "0acdfd618627b760", "scanner": "scanner-primary", "fingerprint": "7375d16d91f21035", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/reality.js"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-ff27970bcd080412", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in app/web/activities/reality.js:2042"}, "properties": {"repobilityId": "39e93f2a2689ec2d", "scanner": "scanner-primary", "fingerprint": "ff27970bcd080412", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/reality.js"}, "region": {"startLine": 2042}}}]}, {"ruleId": "scanner-2093d17259cb54d9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/streams.js:212"}, "properties": {"repobilityId": "68df3e78a0647c69", "scanner": "scanner-primary", "fingerprint": "2093d17259cb54d9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/streams.js"}, "region": {"startLine": 212}}}]}, {"ruleId": "scanner-1397b5ed29b422bd", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/download.html:513"}, "properties": {"repobilityId": "6ac4d65d1b9cad60", "scanner": "scanner-primary", "fingerprint": "1397b5ed29b422bd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/download.html"}, "region": {"startLine": 513}}}]}, {"ruleId": "scanner-fad62c046f62b17b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/core.js:113"}, "properties": {"repobilityId": "4b83cf3fb3605462", "scanner": "scanner-primary", "fingerprint": "fad62c046f62b17b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/core.js"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-84b92b9e97f8f6a2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/gardening.html:1173"}, "properties": {"repobilityId": "1007249ee8dce119", "scanner": "scanner-primary", "fingerprint": "84b92b9e97f8f6a2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/gardening.html"}, "region": {"startLine": 1173}}}]}, {"ruleId": "scanner-fcab9d913f070caf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/index.html:2434"}, "properties": {"repobilityId": "f8c9ca033756f8e1", "scanner": "scanner-primary", "fingerprint": "fcab9d913f070caf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/index.html"}, "region": {"startLine": 2434}}}]}, {"ruleId": "scanner-43844cc61738db79", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/info-market.js:42"}, "properties": {"repobilityId": "8a2c11d77f28935d", "scanner": "scanner-primary", "fingerprint": "43844cc61738db79", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/info-market.js"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-8723c72e91210eec", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/browse.js:1274"}, "properties": {"repobilityId": "ac553c25ee18e5e9", "scanner": "scanner-primary", "fingerprint": "8723c72e91210eec", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/browse.js"}, "region": {"startLine": 1274}}}]}, {"ruleId": "scanner-e0b6b23ba2254689", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in app/web/activities/browse.js:4542"}, "properties": {"repobilityId": "d2b1262bc98157e5", "scanner": "scanner-primary", "fingerprint": "e0b6b23ba2254689", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/browse.js"}, "region": {"startLine": 4542}}}]}, {"ruleId": "scanner-42cf113bb070a74c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/map.js:1250"}, "properties": {"repobilityId": "6dee2a49800c2f35", "scanner": "scanner-primary", "fingerprint": "42cf113bb070a74c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/map.js"}, "region": {"startLine": 1250}}}]}, {"ruleId": "scanner-d2075388bda709d6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in app/web/activities/celestial.js:121"}, "properties": {"repobilityId": "0bb5c0e99dfffb23", "scanner": "scanner-primary", "fingerprint": "d2075388bda709d6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app/web/activities/celestial.js"}, "region": {"startLine": 121}}}]}, {"ruleId": "scanner-9e928098ee1a7304", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/shared/shell.js:74"}, "properties": {"repobilityId": "dcf98079f0c5dc2f", "scanner": "scanner-primary", "fingerprint": "9e928098ee1a7304", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/shared/shell.js"}, "region": {"startLine": 74}}}]}, {"ruleId": "scanner-7c376f46a56789a1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/shared/onboarding-tour.js:112"}, "properties": {"repobilityId": "53536c20e0eed1fa", "scanner": "scanner-primary", "fingerprint": "7c376f46a56789a1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/shared/onboarding-tour.js"}, "region": {"startLine": 112}}}]}, {"ruleId": "scanner-9bf286fdac62f44a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/shared/accessibility.js:46"}, "properties": {"repobilityId": "675d6a22440f0e3c", "scanner": "scanner-primary", "fingerprint": "9bf286fdac62f44a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/shared/accessibility.js"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-00ded4af7c720e86", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-profile.js:36"}, "properties": {"repobilityId": "3f7fb942fe2dc3e4", "scanner": "scanner-primary", "fingerprint": "00ded4af7c720e86", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-profile.js"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-2aa0ac8974fff11e", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in web/chat/chat-profile.js:491"}, "properties": {"repobilityId": "cf71e4b2d5092f76", "scanner": "scanner-primary", "fingerprint": "2aa0ac8974fff11e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-profile.js"}, "region": {"startLine": 491}}}]}, {"ruleId": "scanner-ebaae2b5f360de56", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-dms.js:80"}, "properties": {"repobilityId": "862c0383cc415f76", "scanner": "scanner-primary", "fingerprint": "ebaae2b5f360de56", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-dms.js"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-6eb7a16daeb8b832", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in web/chat/chat-onboarding.js:410"}, "properties": {"repobilityId": "ea13d42e3eee8a74", "scanner": "scanner-primary", "fingerprint": "6eb7a16daeb8b832", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-onboarding.js"}, "region": {"startLine": 410}}}]}, {"ruleId": "scanner-80107560742fe418", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-onboarding.js:36"}, "properties": {"repobilityId": "be3a038fd7a8880b", "scanner": "scanner-primary", "fingerprint": "80107560742fe418", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-onboarding.js"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-0e48b5e5511de556", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-streaming.js:50"}, "properties": {"repobilityId": "59afd0f8935e004e", "scanner": "scanner-primary", "fingerprint": "0e48b5e5511de556", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-voice-streaming.js"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-bff968db47608670", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/index.html:741"}, "properties": {"repobilityId": "0afc766c73bb4d6f", "scanner": "scanner-primary", "fingerprint": "bff968db47608670", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/index.html"}, "region": {"startLine": 741}}}]}, {"ruleId": "scanner-d53e462ad2ca93cf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-messages.js:82"}, "properties": {"repobilityId": "c2e222b957bf5e5c", "scanner": "scanner-primary", "fingerprint": "d53e462ad2ca93cf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-messages.js"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-a5400d6568b55e88", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-groups-p2p.js:534"}, "properties": {"repobilityId": "9b42b35c53ebc396", "scanner": "scanner-primary", "fingerprint": "a5400d6568b55e88", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-groups-p2p.js"}, "region": {"startLine": 534}}}]}, {"ruleId": "scanner-4f43dc07cf7dc9d4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/crypto.js:256"}, "properties": {"repobilityId": "3dbb150d91133240", "scanner": "scanner-primary", "fingerprint": "4f43dc07cf7dc9d4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/crypto.js"}, "region": {"startLine": 256}}}]}, {"ruleId": "scanner-2750a1c9d2ec5de6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/app.js:106"}, "properties": {"repobilityId": "372352188aaf677b", "scanner": "scanner-primary", "fingerprint": "2750a1c9d2ec5de6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/app.js"}, "region": {"startLine": 106}}}]}, {"ruleId": "scanner-9fb2a23ba2a2fe53", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-rooms.js:363"}, "properties": {"repobilityId": "6c0fdafafe09c9a7", "scanner": "scanner-primary", "fingerprint": "9fb2a23ba2a2fe53", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-voice-rooms.js"}, "region": {"startLine": 363}}}]}, {"ruleId": "scanner-f74aa23744a7013d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-calls.js:42"}, "properties": {"repobilityId": "8ccdec0d635c468f", "scanner": "scanner-primary", "fingerprint": "f74aa23744a7013d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-voice-calls.js"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-f78d943ddf4bb2c6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice-webrtc.js:54"}, "properties": {"repobilityId": "a3a6cd1f158581f7", "scanner": "scanner-primary", "fingerprint": "f78d943ddf4bb2c6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-voice-webrtc.js"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-dbc92a273c6acf7a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-voice.js:426"}, "properties": {"repobilityId": "88b38cb4b4032fdc", "scanner": "scanner-primary", "fingerprint": "dbc92a273c6acf7a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-voice.js"}, "region": {"startLine": 426}}}]}, {"ruleId": "scanner-6969aa1c7d3d090c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-social.js:108"}, "properties": {"repobilityId": "c1d6a8cd10116aa3", "scanner": "scanner-primary", "fingerprint": "6969aa1c7d3d090c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-social.js"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-ee6ef09b5de572e7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-ui.js:192"}, "properties": {"repobilityId": "52cc6d9e4f3a8186", "scanner": "scanner-primary", "fingerprint": "ee6ef09b5de572e7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-ui.js"}, "region": {"startLine": 192}}}]}, {"ruleId": "scanner-82928d7bed9534d4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/chat/chat-p2p.js:124"}, "properties": {"repobilityId": "2cbaa8e6f19c5a88", "scanner": "scanner-primary", "fingerprint": "82928d7bed9534d4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/chat/chat-p2p.js"}, "region": {"startLine": 124}}}]}, {"ruleId": "scanner-21aa9375efd2b2d1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/inventory.html:934"}, "properties": {"repobilityId": "a7fd6a926faff955", "scanner": "scanner-primary", "fingerprint": "21aa9375efd2b2d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/inventory.html"}, "region": {"startLine": 934}}}]}, {"ruleId": "scanner-b057ce5ad6126d15", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/governance.html:158"}, "properties": {"repobilityId": "e4f3b43bd008323c", "scanner": "scanner-primary", "fingerprint": "b057ce5ad6126d15", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/governance.html"}, "region": {"startLine": 158}}}]}, {"ruleId": "scanner-dc3d2e119ebdaf21", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/calendar.html:665"}, "properties": {"repobilityId": "370595e22a7c7510", "scanner": "scanner-primary", "fingerprint": "dc3d2e119ebdaf21", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/calendar.html"}, "region": {"startLine": 665}}}]}, {"ruleId": "scanner-131f7a9f792f3026", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in web/pages/calendar.html:860"}, "properties": {"repobilityId": "cd6467c49d850ab7", "scanner": "scanner-primary", "fingerprint": "131f7a9f792f3026", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/calendar.html"}, "region": {"startLine": 860}}}]}, {"ruleId": "scanner-72b39e4636e74f4a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/identity.html:109"}, "properties": {"repobilityId": "34f0d9b7218d05ba", "scanner": "scanner-primary", "fingerprint": "72b39e4636e74f4a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/identity.html"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-a97b7454bdf5b166", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/maps.html:1145"}, "properties": {"repobilityId": "e783cff110b74450", "scanner": "scanner-primary", "fingerprint": "a97b7454bdf5b166", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/maps.html"}, "region": {"startLine": 1145}}}]}, {"ruleId": "scanner-f55f23a4c60a53dc", "level": "error", "message": {"text": "Possible secret in web/pages/settings-app.js"}, "properties": {"repobilityId": "628b956ed1af6900", "scanner": "scanner-primary", "fingerprint": "f55f23a4c60a53dc", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/settings-app.js"}, "region": {"startLine": 1686}}}]}, {"ruleId": "scanner-179c9d057f5cd33c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/settings-app.js:233"}, "properties": {"repobilityId": "f4d9ebb76a93156a", "scanner": "scanner-primary", "fingerprint": "179c9d057f5cd33c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/settings-app.js"}, "region": {"startLine": 233}}}]}, {"ruleId": "scanner-e4fff74c80551db2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/agents.html:157"}, "properties": {"repobilityId": "c822b0bb4206e9e8", "scanner": "scanner-primary", "fingerprint": "e4fff74c80551db2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/agents.html"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-752c280fcf45755a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/trade-app.js:112"}, "properties": {"repobilityId": "b1d789705cbfa0bf", "scanner": "scanner-primary", "fingerprint": "752c280fcf45755a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/trade-app.js"}, "region": {"startLine": 112}}}]}, {"ruleId": "scanner-1587b8d8857c466e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/notes-app.js:98"}, "properties": {"repobilityId": "4b5afce702df3fb5", "scanner": "scanner-primary", "fingerprint": "1587b8d8857c466e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/notes-app.js"}, "region": {"startLine": 98}}}]}, {"ruleId": "scanner-bcd1f1b2e9a8daf6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/download.html:538"}, "properties": {"repobilityId": "6f6d17ae1b575911", "scanner": "scanner-primary", "fingerprint": "bcd1f1b2e9a8daf6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/download.html"}, "region": {"startLine": 538}}}]}, {"ruleId": "scanner-3719aac8f2e3d4af", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/dashboard.html:262"}, "properties": {"repobilityId": "e71af28fd991d4d0", "scanner": "scanner-primary", "fingerprint": "3719aac8f2e3d4af", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/dashboard.html"}, "region": {"startLine": 262}}}]}, {"ruleId": "scanner-ae19f3a9859bc7ef", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/audit.html:457"}, "properties": {"repobilityId": "428a9f394bcc1a4d", "scanner": "scanner-primary", "fingerprint": "ae19f3a9859bc7ef", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/audit.html"}, "region": {"startLine": 457}}}]}, {"ruleId": "scanner-05a51c9785f721f1", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in web/pages/audit.html:542"}, "properties": {"repobilityId": "1a943ced0ea66888", "scanner": "scanner-primary", "fingerprint": "05a51c9785f721f1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/audit.html"}, "region": {"startLine": 542}}}]}, {"ruleId": "scanner-44ed09a4d5247325", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/resources-app.js:224"}, "properties": {"repobilityId": "87182b5cbb905b47", "scanner": "scanner-primary", "fingerprint": "44ed09a4d5247325", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/resources-app.js"}, "region": {"startLine": 224}}}]}, {"ruleId": "scanner-97745f2ecaf78895", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/data.html:807"}, "properties": {"repobilityId": "72b2602675312c9c", "scanner": "scanner-primary", "fingerprint": "97745f2ecaf78895", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/data.html"}, "region": {"startLine": 807}}}]}, {"ruleId": "scanner-271e836403a7aa6a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/index.html:947"}, "properties": {"repobilityId": "99c6c1e526ea93e3", "scanner": "scanner-primary", "fingerprint": "271e836403a7aa6a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/index.html"}, "region": {"startLine": 947}}}]}, {"ruleId": "scanner-7093520e5140e783", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/market-app.js:241"}, "properties": {"repobilityId": "9a3a1b4356e715e4", "scanner": "scanner-primary", "fingerprint": "7093520e5140e783", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/market-app.js"}, "region": {"startLine": 241}}}]}, {"ruleId": "scanner-f058ba4960e45a4f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/civilization-app.js:41"}, "properties": {"repobilityId": "394a751f4506d49c", "scanner": "scanner-primary", "fingerprint": "f058ba4960e45a4f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/civilization-app.js"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-8143f38b33eabd8e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/wallet-guide-app.js:235"}, "properties": {"repobilityId": "ee598f944f84456e", "scanner": "scanner-primary", "fingerprint": "8143f38b33eabd8e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/wallet-guide-app.js"}, "region": {"startLine": 235}}}]}, {"ruleId": "scanner-fe5b0b0b6787d645", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/tools-app.js:87"}, "properties": {"repobilityId": "fa8ce07d1a0b1f91", "scanner": "scanner-primary", "fingerprint": "fe5b0b0b6787d645", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/tools-app.js"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-0b1a0d9c471a55e2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/ops.html:270"}, "properties": {"repobilityId": "60c14bb2e1cc9d73", "scanner": "scanner-primary", "fingerprint": "0b1a0d9c471a55e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/ops.html"}, "region": {"startLine": 270}}}]}, {"ruleId": "scanner-be690cfacc7e7fe0", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/roadmap-app.js:40"}, "properties": {"repobilityId": "45eb2d93dc2adff3", "scanner": "scanner-primary", "fingerprint": "be690cfacc7e7fe0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/roadmap-app.js"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-bc7ae2743d1e3dbf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/files-app.js:58"}, "properties": {"repobilityId": "daf17e1979f46a57", "scanner": "scanner-primary", "fingerprint": "bc7ae2743d1e3dbf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/files-app.js"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-bc14e9b3335ea010", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/ai-usage.html:177"}, "properties": {"repobilityId": "430dd6dd2aad9651", "scanner": "scanner-primary", "fingerprint": "bc14e9b3335ea010", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/ai-usage.html"}, "region": {"startLine": 177}}}]}, {"ruleId": "scanner-8f34e2ac3ace91a5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/profile.html:1299"}, "properties": {"repobilityId": "3ca1ec4f0359cd3f", "scanner": "scanner-primary", "fingerprint": "8f34e2ac3ace91a5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/profile.html"}, "region": {"startLine": 1299}}}]}, {"ruleId": "scanner-3c36045bb124e875", "level": "warning", "message": {"text": "Insecure pattern 'direct_outerhtml_assignment' in web/pages/profile.html:1397"}, "properties": {"repobilityId": "d0d662ef84da45b3", "scanner": "scanner-primary", "fingerprint": "3c36045bb124e875", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_outerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/profile.html"}, "region": {"startLine": 1397}}}]}, {"ruleId": "scanner-54a1852789874990", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/donate-app.js:85"}, "properties": {"repobilityId": "704ca364bd1b5381", "scanner": "scanner-primary", "fingerprint": "54a1852789874990", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/donate-app.js"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-20dfdd337817d210", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/bugs-app.js:125"}, "properties": {"repobilityId": "d8eecfc4aa8be1eb", "scanner": "scanner-primary", "fingerprint": "20dfdd337817d210", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/bugs-app.js"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-d88ef2fdc4ca9676", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/dev.html:548"}, "properties": {"repobilityId": "6f43bb91005bc422", "scanner": "scanner-primary", "fingerprint": "d88ef2fdc4ca9676", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/dev.html"}, "region": {"startLine": 548}}}]}, {"ruleId": "scanner-f5d3dd48242dc6bb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/onboarding.html:343"}, "properties": {"repobilityId": "df563d3108f4c5f7", "scanner": "scanner-primary", "fingerprint": "f5d3dd48242dc6bb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/onboarding.html"}, "region": {"startLine": 343}}}]}, {"ruleId": "scanner-588de4a434312ce8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/settings.html:610"}, "properties": {"repobilityId": "1e158e1a5157132b", "scanner": "scanner-primary", "fingerprint": "588de4a434312ce8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/settings.html"}, "region": {"startLine": 610}}}]}, {"ruleId": "scanner-220a5f2dd70c9bf4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/home.html:793"}, "properties": {"repobilityId": "2ecbeba223aae75b", "scanner": "scanner-primary", "fingerprint": "220a5f2dd70c9bf4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/home.html"}, "region": {"startLine": 793}}}]}, {"ruleId": "scanner-aeda51ee983082c5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/guilds.html:402"}, "properties": {"repobilityId": "a62f2d4343b3929c", "scanner": "scanner-primary", "fingerprint": "aeda51ee983082c5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/guilds.html"}, "region": {"startLine": 402}}}]}, {"ruleId": "scanner-11e3d60913fdd05c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/web.html:445"}, "properties": {"repobilityId": "8f26f7ef86eccb9a", "scanner": "scanner-primary", "fingerprint": "11e3d60913fdd05c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/web.html"}, "region": {"startLine": 445}}}]}, {"ruleId": "scanner-c1b4eaf2cbe61177", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in web/pages/calculator.html:308"}, "properties": {"repobilityId": "d40f221e7c8e22b0", "scanner": "scanner-primary", "fingerprint": "c1b4eaf2cbe61177", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/calculator.html"}, "region": {"startLine": 308}}}]}, {"ruleId": "scanner-2ac4acc8befb267d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/recovery.html:117"}, "properties": {"repobilityId": "9a32ced64f919ee5", "scanner": "scanner-primary", "fingerprint": "2ac4acc8befb267d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/recovery.html"}, "region": {"startLine": 117}}}]}, {"ruleId": "scanner-06128072166a7c0a", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in web/pages/calculator-app.js:108"}, "properties": {"repobilityId": "23af7de8fc241f12", "scanner": "scanner-primary", "fingerprint": "06128072166a7c0a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/calculator-app.js"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-c6d14edaa3c75761", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/calculator-app.js:181"}, "properties": {"repobilityId": "16705a164de36482", "scanner": "scanner-primary", "fingerprint": "c6d14edaa3c75761", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/calculator-app.js"}, "region": {"startLine": 181}}}]}, {"ruleId": "scanner-c67075934686887d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/admin-app.js:154"}, "properties": {"repobilityId": "391bd377c36e8a09", "scanner": "scanner-primary", "fingerprint": "c67075934686887d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/admin-app.js"}, "region": {"startLine": 154}}}]}, {"ruleId": "scanner-102e214494005cd7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/tasks-app.js:45"}, "properties": {"repobilityId": "28539bbfdcdd47b1", "scanner": "scanner-primary", "fingerprint": "102e214494005cd7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/tasks-app.js"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-4190633d8ef2b291", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/pages/wallet-app.js:52"}, "properties": {"repobilityId": "0cc8383316d76994", "scanner": "scanner-primary", "fingerprint": "4190633d8ef2b291", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/pages/wallet-app.js"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-fc2b1524b1359cef", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/fantasy.js:97"}, "properties": {"repobilityId": "c62ed49a4101a95d", "scanner": "scanner-primary", "fingerprint": "fc2b1524b1359cef", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/fantasy.js"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-c2958e94a17169a8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/reality.js:34"}, "properties": {"repobilityId": "eb4550854717009b", "scanner": "scanner-primary", "fingerprint": "c2958e94a17169a8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/reality.js"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-cb6d78194888637e", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in web/activities/reality.js:2042"}, "properties": {"repobilityId": "4b85cc335805fc10", "scanner": "scanner-primary", "fingerprint": "cb6d78194888637e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/reality.js"}, "region": {"startLine": 2042}}}]}, {"ruleId": "scanner-1b6bbfc40d62e60c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/streams.js:212"}, "properties": {"repobilityId": "9794339e2e6e0302", "scanner": "scanner-primary", "fingerprint": "1b6bbfc40d62e60c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/streams.js"}, "region": {"startLine": 212}}}]}, {"ruleId": "scanner-d770a8cb8a1ab21a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/download.html:513"}, "properties": {"repobilityId": "26bab9a8bd5420a1", "scanner": "scanner-primary", "fingerprint": "d770a8cb8a1ab21a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/download.html"}, "region": {"startLine": 513}}}]}, {"ruleId": "scanner-e2ac4d47acc9c0cf", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/core.js:113"}, "properties": {"repobilityId": "5313d4183c11f60c", "scanner": "scanner-primary", "fingerprint": "e2ac4d47acc9c0cf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/core.js"}, "region": {"startLine": 113}}}]}, {"ruleId": "scanner-a60eafca2f41f88b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/gardening.html:1173"}, "properties": {"repobilityId": "cfef5910d7bb4583", "scanner": "scanner-primary", "fingerprint": "a60eafca2f41f88b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/gardening.html"}, "region": {"startLine": 1173}}}]}, {"ruleId": "scanner-5184e31b6259ab78", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/index.html:2434"}, "properties": {"repobilityId": "381c019ca6badee1", "scanner": "scanner-primary", "fingerprint": "5184e31b6259ab78", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/index.html"}, "region": {"startLine": 2434}}}]}, {"ruleId": "scanner-61d9d19af622b7f2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/info-market.js:44"}, "properties": {"repobilityId": "95c6d73587efcec1", "scanner": "scanner-primary", "fingerprint": "61d9d19af622b7f2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/info-market.js"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-92f9dad1571c1a62", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/browse.js:1274"}, "properties": {"repobilityId": "ebb86d1a5e8bcb37", "scanner": "scanner-primary", "fingerprint": "92f9dad1571c1a62", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/browse.js"}, "region": {"startLine": 1274}}}]}, {"ruleId": "scanner-6fb6625ab6298be4", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in web/activities/browse.js:4542"}, "properties": {"repobilityId": "25e15454c339b8d2", "scanner": "scanner-primary", "fingerprint": "6fb6625ab6298be4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/browse.js"}, "region": {"startLine": 4542}}}]}, {"ruleId": "scanner-f55835e09ac83741", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/map.js:1250"}, "properties": {"repobilityId": "8052da2f25547736", "scanner": "scanner-primary", "fingerprint": "f55835e09ac83741", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/map.js"}, "region": {"startLine": 1250}}}]}, {"ruleId": "scanner-b0fb99adbdfdc35a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/activities/celestial.js:121"}, "properties": {"repobilityId": "e3ef20c1fd4b8277", "scanner": "scanner-primary", "fingerprint": "b0fb99adbdfdc35a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/activities/celestial.js"}, "region": {"startLine": 121}}}]}, {"ruleId": "scanner-e087499fabaad391", "level": "error", "message": {"text": "Possible secret in src/net/webrtc.rs"}, "properties": {"repobilityId": "228c9eef768b8bdb", "scanner": "scanner-primary", "fingerprint": "e087499fabaad391", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/net/webrtc.rs"}, "region": {"startLine": 2832}}}]}, {"ruleId": "scanner-e087499fabaad391", "level": "error", "message": {"text": "Possible secret in src/net/webrtc.rs"}, "properties": {"repobilityId": "228c9eef768b8bdb", "scanner": "scanner-primary", "fingerprint": "e087499fabaad391", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/net/webrtc.rs"}, "region": {"startLine": 2843}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e168e1594cfcd53", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e168e1594cfcd53", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 149}}}]}, {"ruleId": "scanner-c1e62c8a8becdce0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "19eb4268d280af38", "scanner": "scanner-primary", "fingerprint": "c1e62c8a8becdce0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-pages.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-c1e62c8a8becdce0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c8b69d4c18a6678b", "scanner": "scanner-primary", "fingerprint": "c1e62c8a8becdce0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-pages.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-c1e62c8a8becdce0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9dbead139c800651", "scanner": "scanner-primary", "fingerprint": "c1e62c8a8becdce0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-pages.yml"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-c1e62c8a8becdce0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "293d3dbcb67ba2f7", "scanner": "scanner-primary", "fingerprint": "c1e62c8a8becdce0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-pages.yml"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-c1e62c8a8becdce0", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "4a5232ca5f9d3d6d", "scanner": "scanner-primary", "fingerprint": "c1e62c8a8becdce0", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-pages.yml"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-11fe6710547243fb", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "c88f07fd35b9711f", "scanner": "scanner-primary", "fingerprint": "11fe6710547243fb", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy-pages.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d4e56a8a200009b5", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3bcc5d984aec2c83", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "40bac13e46ec6785", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2329c08e46fcd680", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "91d0bd6baec9e2e2", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 116}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "afc63a3e45a68a5f", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 138}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ffc078499cb3e18d", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 151}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2329c08e46fcd680", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 185}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "40bac13e46ec6785", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 195}}}]}, {"ruleId": "scanner-dad138f419869f24", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ffc078499cb3e18d", "scanner": "scanner-primary", "fingerprint": "dad138f419869f24", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 210}}}]}, {"ruleId": "scanner-27bcea42cba6c545", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f4ed2ebe4ec9c60b", "scanner": "scanner-primary", "fingerprint": "27bcea42cba6c545", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/build-desktop.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-83213475d0ff4f24", "level": "note", "message": {"text": "Very large file: app/web/shared/qrcode.js (2297 lines)"}, "properties": {"repobilityId": "6e72bcf4c51ba1de", "scanner": "scanner-primary", "fingerprint": "83213475d0ff4f24", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-946bad7aa5ff28af", "level": "note", "message": {"text": "Very large file: app/web/shared/shell.js (1399 lines)"}, "properties": {"repobilityId": "1a877eda80fc783e", "scanner": "scanner-primary", "fingerprint": "946bad7aa5ff28af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0e27e3cffd9a870f", "level": "note", "message": {"text": "Very large file: app/web/chat/chat-profile.js (1238 lines)"}, "properties": {"repobilityId": "f13ea84518ab34e9", "scanner": "scanner-primary", "fingerprint": "0e27e3cffd9a870f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8cbe092b5e106f6d", "level": "note", "message": {"text": "Very large file: app/web/chat/crypto.js (1172 lines)"}, "properties": {"repobilityId": "e1e763f5fe2a2e9d", "scanner": "scanner-primary", "fingerprint": "8cbe092b5e106f6d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-19864d83f477706f", "level": "note", "message": {"text": "Very large file: app/web/chat/app.js (2106 lines)"}, "properties": {"repobilityId": "934b39063f8c3fc0", "scanner": "scanner-primary", "fingerprint": "19864d83f477706f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f7a2a59820ea2438", "level": "note", "message": {"text": "Very large file: app/web/chat/chat-voice.js (2663 lines)"}, "properties": {"repobilityId": "190c3a65b845f4fa", "scanner": "scanner-primary", "fingerprint": "f7a2a59820ea2438", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-956f8aabcf46ce55", "level": "note", "message": {"text": "Very large file: app/web/chat/chat-ui.js (2061 lines)"}, "properties": {"repobilityId": "3603325e9583afb5", "scanner": "scanner-primary", "fingerprint": "956f8aabcf46ce55", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-008d939d73211bfd", "level": "note", "message": {"text": "Very large file: app/web/pages/settings-app.js (2051 lines)"}, "properties": {"repobilityId": "983c2a89c32ad7cf", "scanner": "scanner-primary", "fingerprint": "008d939d73211bfd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3d66923d1e4fec42", "level": "note", "message": {"text": "Very large file: app/web/pages/tasks-app.js (1300 lines)"}, "properties": {"repobilityId": "eb2afe84827bca80", "scanner": "scanner-primary", "fingerprint": "3d66923d1e4fec42", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b2fd471188cbfde0", "level": "note", "message": {"text": "Very large file: app/web/activities/reality.js (2982 lines)"}, "properties": {"repobilityId": "10537a41a3897688", "scanner": "scanner-primary", "fingerprint": "b2fd471188cbfde0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-da4c90ece50d403f", "level": "note", "message": {"text": "Very large file: app/web/activities/streams.js (1286 lines)"}, "properties": {"repobilityId": "024b897b08438fd4", "scanner": "scanner-primary", "fingerprint": "da4c90ece50d403f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c8d100d878a5ae1f", "level": "note", "message": {"text": "Very large file: app/web/activities/browse.js (4798 lines)"}, "properties": {"repobilityId": "069561e9fdc21f70", "scanner": "scanner-primary", "fingerprint": "c8d100d878a5ae1f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-77e39a891bc8838e", "level": "note", "message": {"text": "Very large file: app/web/activities/map.js (1532 lines)"}, "properties": {"repobilityId": "df1298f98b77b1c3", "scanner": "scanner-primary", "fingerprint": "77e39a891bc8838e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8aca2ec349bc0f96", "level": "note", "message": {"text": "Very large file: web/shared/qrcode.js (2297 lines)"}, "properties": {"repobilityId": "1e5784a6d08d0a81", "scanner": "scanner-primary", "fingerprint": "8aca2ec349bc0f96", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-94a98fa023f6521f", "level": "note", "message": {"text": "Very large file: web/shared/shell.js (1399 lines)"}, "properties": {"repobilityId": "bf2c9ba7296654b4", "scanner": "scanner-primary", "fingerprint": "94a98fa023f6521f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b4564b56adb01987", "level": "note", "message": {"text": "Very large file: web/chat/chat-profile.js (1249 lines)"}, "properties": {"repobilityId": "f0085011a979476e", "scanner": "scanner-primary", "fingerprint": "b4564b56adb01987", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-313ed477840aa752", "level": "note", "message": {"text": "Very large file: web/chat/crypto.js (1172 lines)"}, "properties": {"repobilityId": "955a4e9007ecb244", "scanner": "scanner-primary", "fingerprint": "313ed477840aa752", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a39d0eb1b8d502c7", "level": "note", "message": {"text": "Very large file: web/chat/app.js (2106 lines)"}, "properties": {"repobilityId": "e1775a9cba750a9e", "scanner": "scanner-primary", "fingerprint": "a39d0eb1b8d502c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-71ab5026dc3e3240", "level": "note", "message": {"text": "Very large file: web/chat/chat-voice.js (2663 lines)"}, "properties": {"repobilityId": "cb5d04255d7ca920", "scanner": "scanner-primary", "fingerprint": "71ab5026dc3e3240", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-da50886916544af5", "level": "note", "message": {"text": "Very large file: web/chat/chat-ui.js (2061 lines)"}, "properties": {"repobilityId": "8a502f6365051a2e", "scanner": "scanner-primary", "fingerprint": "da50886916544af5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d12d1ad48e108d3a", "level": "note", "message": {"text": "Very large file: web/pages/settings-app.js (2051 lines)"}, "properties": {"repobilityId": "ef6d4b6cbc1eaeb9", "scanner": "scanner-primary", "fingerprint": "d12d1ad48e108d3a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dec748a63c911fa8", "level": "note", "message": {"text": "Very large file: web/pages/tasks-app.js (1300 lines)"}, "properties": {"repobilityId": "8058317204cdeeb8", "scanner": "scanner-primary", "fingerprint": "dec748a63c911fa8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3bc0a537f08074fe", "level": "note", "message": {"text": "Very large file: web/activities/reality.js (2982 lines)"}, "properties": {"repobilityId": "ddef54d4ee25d1b0", "scanner": "scanner-primary", "fingerprint": "3bc0a537f08074fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-712ed1899537f8c8", "level": "note", "message": {"text": "Very large file: web/activities/streams.js (1286 lines)"}, "properties": {"repobilityId": "bcf766e661f2517e", "scanner": "scanner-primary", "fingerprint": "712ed1899537f8c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-961df395bef9ed61", "level": "note", "message": {"text": "Very large file: web/activities/browse.js (4798 lines)"}, "properties": {"repobilityId": "6bb633bc6c554d87", "scanner": "scanner-primary", "fingerprint": "961df395bef9ed61", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4fd6125a172222a3", "level": "note", "message": {"text": "Very large file: web/activities/map.js (1532 lines)"}, "properties": {"repobilityId": "d09b4d4dd11fddd9", "scanner": "scanner-primary", "fingerprint": "4fd6125a172222a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a645315c8f133588", "level": "note", "message": {"text": "Very large file: src/lib.rs (5270 lines)"}, "properties": {"repobilityId": "ac789c9f2ce0db4c", "scanner": "scanner-primary", "fingerprint": "a645315c8f133588", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-868fa89eb67e5847", "level": "note", "message": {"text": "Very large file: src/relay/relay.rs (6050 lines)"}, "properties": {"repobilityId": "48d260ce96167844", "scanner": "scanner-primary", "fingerprint": "868fa89eb67e5847", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d8b386a92e96026f", "level": "note", "message": {"text": "Very large file: src/relay/api.rs (3801 lines)"}, "properties": {"repobilityId": "bbbd64cd0e76abe6", "scanner": "scanner-primary", "fingerprint": "d8b386a92e96026f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2cc2e77cead5d55f", "level": "note", "message": {"text": "Very large file: src/relay/handlers/msg_handlers.rs (4238 lines)"}, "properties": {"repobilityId": "b434f70774fe2d3d", "scanner": "scanner-primary", "fingerprint": "2cc2e77cead5d55f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3b3f67efe5a9cdca", "level": "note", "message": {"text": "Very large file: src/relay/handlers/game_state.rs (1444 lines)"}, "properties": {"repobilityId": "906597a6c269015e", "scanner": "scanner-primary", "fingerprint": "3b3f67efe5a9cdca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a3f6f6a1d0326dae", "level": "note", "message": {"text": "Very large file: src/relay/storage/channels.rs (1204 lines)"}, "properties": {"repobilityId": "e10340ae0e5ba80f", "scanner": "scanner-primary", "fingerprint": "a3f6f6a1d0326dae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6066d946a75e09bb", "level": "note", "message": {"text": "Very large file: src/relay/storage/mod.rs (2290 lines)"}, "properties": {"repobilityId": "da3773f411780f72", "scanner": "scanner-primary", "fingerprint": "6066d946a75e09bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-99bc4fd3c5b88eb9", "level": "note", "message": {"text": "Very large file: src/gui/mod.rs (3592 lines)"}, "properties": {"repobilityId": "0bd3693ccd8e4d7e", "scanner": "scanner-primary", "fingerprint": "99bc4fd3c5b88eb9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9a4a3179c0aff064", "level": "note", "message": {"text": "Very large file: src/gui/widgets/mod.rs (1302 lines)"}, "properties": {"repobilityId": "a8449e3424cc561c", "scanner": "scanner-primary", "fingerprint": "9a4a3179c0aff064", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-36b735e9dab9c6fe", "level": "note", "message": {"text": "Very large file: src/gui/pages/chat.rs (6470 lines)"}, "properties": {"repobilityId": "ac6e3b3af0432a28", "scanner": "scanner-primary", "fingerprint": "36b735e9dab9c6fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-492b734ae57fddd5", "level": "note", "message": {"text": "Very large file: src/gui/pages/cosmos.rs (2890 lines)"}, "properties": {"repobilityId": "524b81c432984d3c", "scanner": "scanner-primary", "fingerprint": "492b734ae57fddd5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-13772dc2d68d6259", "level": "note", "message": {"text": "Very large file: src/gui/pages/server_settings.rs (2115 lines)"}, "properties": {"repobilityId": "69ca899f2870c220", "scanner": "scanner-primary", "fingerprint": "13772dc2d68d6259", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e97d277584a94891", "level": "note", "message": {"text": "Very large file: src/gui/pages/settings.rs (1814 lines)"}, "properties": {"repobilityId": "9ad8565b03c8d0f8", "scanner": "scanner-primary", "fingerprint": "e97d277584a94891", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-57a32e56ca8a8b48", "level": "note", "message": {"text": "Very large file: src/gui/pages/inventory.rs (1330 lines)"}, "properties": {"repobilityId": "a8dde5d8b6211ffb", "scanner": "scanner-primary", "fingerprint": "57a32e56ca8a8b48", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5d3ad0b7966c6ac6", "level": "note", "message": {"text": "Very large file: src/ship/fibonacci.rs (1420 lines)"}, "properties": {"repobilityId": "ba45cf9967cacfd0", "scanner": "scanner-primary", "fingerprint": "5d3ad0b7966c6ac6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cd33a3df6ce590d8", "level": "note", "message": {"text": "Very large file: src/net/webrtc.rs (2982 lines)"}, "properties": {"repobilityId": "01f86856b456f1e9", "scanner": "scanner-primary", "fingerprint": "cd33a3df6ce590d8", "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-b0b1d4079e3ea3ab", "level": "note", "message": {"text": "38 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "b0b1d4079e3ea3ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "53a9f3b9fbc9ba80", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "03aa84d92353d32a", "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": "510bdf1ae0bcf47f", "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": "64ee9061db1bbffd", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "90524996c4417bcc", "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": "4744fd367f971ff9", "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": "a882af5cb38144ee", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-17d866d91a7c451e", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: CLAUDE.md"}, "properties": {"repobilityId": "ccce5984e58a48f0", "scanner": "scanner-primary", "fingerprint": "17d866d91a7c451e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ecb0d2c55ed6875d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.local.json"}, "properties": {"repobilityId": "d8bae33a6d517bf0", "scanner": "scanner-primary", "fingerprint": "ecb0d2c55ed6875d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.local.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f16c82210fbee1d", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/hook-push-guard.js:5"}, "properties": {"repobilityId": "c3fdd6a6b670a78b", "scanner": "scanner-primary", "fingerprint": "1f16c82210fbee1d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5f320de28e00118", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/fix-doc-links.js:2"}, "properties": {"repobilityId": "50bb821e5825a9cd", "scanner": "scanner-primary", "fingerprint": "a5f320de28e00118", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c35c63c3a3dd0e8", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/ai-sample-client.js:5"}, "properties": {"repobilityId": "03d695c0fbba97c6", "scanner": "scanner-primary", "fingerprint": "5c35c63c3a3dd0e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-518408698cd16f47", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/reorg-docs.js:2"}, "properties": {"repobilityId": "7a233e78813f80cf", "scanner": "scanner-primary", "fingerprint": "518408698cd16f47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68db23216ec3920d", "level": "note", "message": {"text": "Legacy-named symbol `group_v1` in scripts/group-object-kat.mjs:8"}, "properties": {"repobilityId": "0834cbe5d2bebd6d", "scanner": "scanner-primary", "fingerprint": "68db23216ec3920d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f77c14f1036a977e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/precompact-reminder.js:4"}, "properties": {"repobilityId": "929f7796682ffdcb", "scanner": "scanner-primary", "fingerprint": "f77c14f1036a977e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef8d463fe7aa105e", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/install-hooks.js:6"}, "properties": {"repobilityId": "1cfa58c02e36902e", "scanner": "scanner-primary", "fingerprint": "ef8d463fe7aa105e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92a025678238cc0b", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/pq-kat.mjs:72"}, "properties": {"repobilityId": "9984a1e8f9ce859d", "scanner": "scanner-primary", "fingerprint": "92a025678238cc0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-634298333ba791f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/build-library.js:6"}, "properties": {"repobilityId": "f6602a29aafb5ce1", "scanner": "scanner-primary", "fingerprint": "634298333ba791f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-911739d55e12ae00", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/make-release-manifest.js:6"}, "properties": {"repobilityId": "e3ea665d9a8931ff", "scanner": "scanner-primary", "fingerprint": "911739d55e12ae00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbf82d02b13b3c84", "level": "note", "message": {"text": "Legacy-named symbol `dlPathLegacy` in scripts/bump-version.js:84"}, "properties": {"repobilityId": "3630edf787590136", "scanner": "scanner-primary", "fingerprint": "fbf82d02b13b3c84", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5c402175f41cb9e5", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/strip-emdash-data.js:5"}, "properties": {"repobilityId": "ef14d05a19ca925b", "scanner": "scanner-primary", "fingerprint": "5c402175f41cb9e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84dd548af48ce076", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/strip-emdash-web.js:2"}, "properties": {"repobilityId": "084c196217b58aa8", "scanner": "scanner-primary", "fingerprint": "84dd548af48ce076", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4fc9c8bcdea9a2f3", "level": "none", "message": {"text": "Commented-code block (10 lines) in scripts/preview-server.js:2"}, "properties": {"repobilityId": "8c5a4cad726a1c8a", "scanner": "scanner-primary", "fingerprint": "4fc9c8bcdea9a2f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d80976d4147fa333", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/strip-em-dashes.js:2"}, "properties": {"repobilityId": "531ad9663f2781fc", "scanner": "scanner-primary", "fingerprint": "d80976d4147fa333", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e54639ae4e25dd5", "level": "note", "message": {"text": "Legacy-named symbol `purgeOld` in scripts/archive-build.js:66"}, "properties": {"repobilityId": "2d19312f4efaf722", "scanner": "scanner-primary", "fingerprint": "5e54639ae4e25dd5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f864029d165ab6c4", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/archive-build.js:87"}, "properties": {"repobilityId": "bf33532422d4a50e", "scanner": "scanner-primary", "fingerprint": "f864029d165ab6c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-474c63c633d4e2fc", "level": "note", "message": {"text": "Legacy-named symbol `hos_settings_v1` in app/web/shared/settings.js:499"}, "properties": {"repobilityId": "2f95eebdf43bd73a", "scanner": "scanner-primary", "fingerprint": "474c63c633d4e2fc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-32dabddd38ba79f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/web/shared/wallet.js:494"}, "properties": {"repobilityId": "8fd513db88d07342", "scanner": "scanner-primary", "fingerprint": "32dabddd38ba79f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4aba7defd44302d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/shared/wallet.js:4"}, "properties": {"repobilityId": "4d80e7766e8496b1", "scanner": "scanner-primary", "fingerprint": "4aba7defd44302d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ebb3cd865fd8af46", "level": "note", "message": {"text": "Legacy-named symbol `hos_settings_v1` in app/web/shared/shell.js:1199"}, "properties": {"repobilityId": "bc302fa473927a3f", "scanner": "scanner-primary", "fingerprint": "ebb3cd865fd8af46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5cff687d251b614f", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/web/shared/shell.js:609"}, "properties": {"repobilityId": "586967c797146218", "scanner": "scanner-primary", "fingerprint": "5cff687d251b614f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-60f8b6d8356f4ed9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/shared/shell.js:97"}, "properties": {"repobilityId": "54f1e1e670c1d0c5", "scanner": "scanner-primary", "fingerprint": "60f8b6d8356f4ed9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f695c264c9d27269", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/shared/pq-relay-auth.js:59"}, "properties": {"repobilityId": "e43f880632127d0e", "scanner": "scanner-primary", "fingerprint": "f695c264c9d27269", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-947fdc109f040028", "level": "note", "message": {"text": "Legacy-named symbol `cbor_canonical_v1` in app/web/shared/pq-object.js:22"}, "properties": {"repobilityId": "09555ef31bd3de62", "scanner": "scanner-primary", "fingerprint": "947fdc109f040028", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-86f6a4cddefd45b0", "level": "note", "message": {"text": "Legacy-named symbol `group_epoch_key_v1` in app/web/shared/canonical-cbor.js:155"}, "properties": {"repobilityId": "0ee44478a6857fe2", "scanner": "scanner-primary", "fingerprint": "86f6a4cddefd45b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0626aeb73a9ceafb", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/web/shared/canonical-cbor.js:3"}, "properties": {"repobilityId": "3a5a01edfbd1b0d6", "scanner": "scanner-primary", "fingerprint": "0626aeb73a9ceafb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-206f60aa9ea44f32", "level": "note", "message": {"text": "Legacy-named symbol `vouch_v1` in app/web/shared/pq-identity.js:147"}, "properties": {"repobilityId": "372aa3771bcfa93c", "scanner": "scanner-primary", "fingerprint": "206f60aa9ea44f32", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0ce967b317da2ce0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/shared/pq-identity.js:31"}, "properties": {"repobilityId": "d6bd18667740e18c", "scanner": "scanner-primary", "fingerprint": "0ce967b317da2ce0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fafa6095e2751e94", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/web/chat/chat-profile.js:1"}, "properties": {"repobilityId": "cc34d86d79d827a3", "scanner": "scanner-primary", "fingerprint": "fafa6095e2751e94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1932a3589de2714", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/chat/chat-profile.js:456"}, "properties": {"repobilityId": "4eb2a352afb72edc", "scanner": "scanner-primary", "fingerprint": "d1932a3589de2714", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ed816c3107b00be5", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/web/chat/chat-dms.js:1"}, "properties": {"repobilityId": "5abfc7259586e7fe", "scanner": "scanner-primary", "fingerprint": "ed816c3107b00be5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f8f09824ab7b353", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/web/chat/chat-onboarding.js:1"}, "properties": {"repobilityId": "e30a25917e716b03", "scanner": "scanner-primary", "fingerprint": "7f8f09824ab7b353", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a3c503e3386e73b", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/web/chat/chat-voice-streaming.js:1"}, "properties": {"repobilityId": "41b5c5cb9447a0ec", "scanner": "scanner-primary", "fingerprint": "9a3c503e3386e73b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-876ea46f10c333a8", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/web/chat/chat-messages.js:1"}, "properties": {"repobilityId": "2d08e0ccfdea1303", "scanner": "scanner-primary", "fingerprint": "876ea46f10c333a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cadfe614425098d2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/chat/chat-messages.js:413"}, "properties": {"repobilityId": "0f21256b4aab268e", "scanner": "scanner-primary", "fingerprint": "cadfe614425098d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-57db07c30c9134c2", "level": "note", "message": {"text": "Legacy-named symbol `group_v1` in app/web/chat/chat-groups-p2p.js:4"}, "properties": {"repobilityId": "5aa65a049f928d82", "scanner": "scanner-primary", "fingerprint": "57db07c30c9134c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-28f4388609b85024", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/web/chat/chat-groups-p2p.js:8"}, "properties": {"repobilityId": "7c9e1fd14db29b81", "scanner": "scanner-primary", "fingerprint": "28f4388609b85024", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad9363c5bd81e254", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/chat/crypto.js:74"}, "properties": {"repobilityId": "a7fe9365d6635cf6", "scanner": "scanner-primary", "fingerprint": "ad9363c5bd81e254", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-573cf2777e9e7916", "level": "none", "message": {"text": "Commented-code block (7 lines) in app/web/chat/crypto.js:624"}, "properties": {"repobilityId": "48d54915a87b44fd", "scanner": "scanner-primary", "fingerprint": "573cf2777e9e7916", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-771731d49c024560", "level": "note", "message": {"text": "Legacy-named symbol `humanity_garden_v2` in app/web/chat/app.js:308"}, "properties": {"repobilityId": "c65caed42328ac1c", "scanner": "scanner-primary", "fingerprint": "771731d49c024560", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-11b09f09ca0d2a09", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/web/chat/app.js:1010"}, "properties": {"repobilityId": "eae760a9fc93b9a6", "scanner": "scanner-primary", "fingerprint": "11b09f09ca0d2a09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b6b8fc5ea555bba", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/web/chat/chat-voice-rooms.js:10"}, "properties": {"repobilityId": "9e7f4ebdb0ff8e4c", "scanner": "scanner-primary", "fingerprint": "7b6b8fc5ea555bba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-642079b3b4471943", "level": "none", "message": {"text": "Commented-code block (8 lines) in app/web/chat/chat-voice-webrtc.js:1"}, "properties": {"repobilityId": "2562e7e2e6505d38", "scanner": "scanner-primary", "fingerprint": "642079b3b4471943", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3fd1b8220718fef", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/web/chat/chat-voice.js:1"}, "properties": {"repobilityId": "3b7426b863ace4cc", "scanner": "scanner-primary", "fingerprint": "b3fd1b8220718fef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-833e115956579a2f", "level": "none", "message": {"text": "Commented-code block (5 lines) in app/web/chat/chat-social.js:1"}, "properties": {"repobilityId": "8adc96a02f4bfc97", "scanner": "scanner-primary", "fingerprint": "833e115956579a2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc4c4ca36bde284f", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/web/chat/chat-ui.js:1"}, "properties": {"repobilityId": "d3c2c14f892d25b8", "scanner": "scanner-primary", "fingerprint": "bc4c4ca36bde284f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c34db07645cffeb5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/chat/chat-ui.js:271"}, "properties": {"repobilityId": "d07d411fccd4b140", "scanner": "scanner-primary", "fingerprint": "c34db07645cffeb5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d2a3ba6dce6d394a", "level": "note", "message": {"text": "Legacy-named symbol `hos_calendar_v1` in app/web/chat/chat-p2p.js:545"}, "properties": {"repobilityId": "f75d33c41ad6a4e9", "scanner": "scanner-primary", "fingerprint": "d2a3ba6dce6d394a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ad095dd1207857ac", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/web/chat/chat-p2p.js:528"}, "properties": {"repobilityId": "0a90565adbccd1df", "scanner": "scanner-primary", "fingerprint": "ad095dd1207857ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24ee58e9799291b0", "level": "note", "message": {"text": "Legacy-named symbol `hos_skills_v1` in app/web/pages/settings-app.js:320"}, "properties": {"repobilityId": "4da53a63c38930f6", "scanner": "scanner-primary", "fingerprint": "24ee58e9799291b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0db237a395e31e1f", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/web/pages/settings-app.js:1728"}, "properties": {"repobilityId": "5d7e571ed9bb844f", "scanner": "scanner-primary", "fingerprint": "0db237a395e31e1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37c1b3c08045f63e", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/pages/trade-app.js:20"}, "properties": {"repobilityId": "26252ca36355d237", "scanner": "scanner-primary", "fingerprint": "37c1b3c08045f63e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4a1070e51123223e", "level": "note", "message": {"text": "Legacy-named symbol `hos_notes_v1` in app/web/pages/notes-app.js:20"}, "properties": {"repobilityId": "de84350774fb6ca4", "scanner": "scanner-primary", "fingerprint": "4a1070e51123223e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-23c0d916d4d20e8a", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/pages/market-app.js:424"}, "properties": {"repobilityId": "70c5acf02fa0ce5c", "scanner": "scanner-primary", "fingerprint": "23c0d916d4d20e8a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2220b57147559374", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/pages/bugs-app.js:85"}, "properties": {"repobilityId": "427f50b0dd785972", "scanner": "scanner-primary", "fingerprint": "2220b57147559374", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2da1d34331f1100b", "level": "note", "message": {"text": "Legacy-named symbol `hos_calc_history_v1` in app/web/pages/calculator-app.js:5"}, "properties": {"repobilityId": "096867ac99714c1a", "scanner": "scanner-primary", "fingerprint": "2da1d34331f1100b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6d074547d2739bd8", "level": "none", "message": {"text": "Commented-code block (6 lines) in app/web/pages/admin-app.js:20"}, "properties": {"repobilityId": "6441cdcea44c5cdc", "scanner": "scanner-primary", "fingerprint": "6d074547d2739bd8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34ff15178f537b16", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/pages/tasks-app.js:199"}, "properties": {"repobilityId": "c1174272c7f32ea0", "scanner": "scanner-primary", "fingerprint": "34ff15178f537b16", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e5009a69f4aac200", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in app/web/activities/reality.js:1985"}, "properties": {"repobilityId": "925919972e018211", "scanner": "scanner-primary", "fingerprint": "e5009a69f4aac200", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8c7f5e23a8ce5b9d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/reality.js:1637"}, "properties": {"repobilityId": "7ba214f5980bf221", "scanner": "scanner-primary", "fingerprint": "8c7f5e23a8ce5b9d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2873026ecaa19afd", "level": "note", "message": {"text": "Legacy-named symbol `stream_scenes_v1` in app/web/activities/streams.js:126"}, "properties": {"repobilityId": "6cc93a1b8157b963", "scanner": "scanner-primary", "fingerprint": "2873026ecaa19afd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-49c31f2ff9254ef3", "level": "note", "message": {"text": "Legacy-named symbol `humanity_quests_v1` in app/web/activities/core.js:105"}, "properties": {"repobilityId": "cd1e4e3525aad26e", "scanner": "scanner-primary", "fingerprint": "49c31f2ff9254ef3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c0498903a206c1d7", "level": "note", "message": {"text": "Legacy-named symbol `humanity_feature_web_v1` in app/web/activities/browse.js:182"}, "properties": {"repobilityId": "61bc29155d839f0b", "scanner": "scanner-primary", "fingerprint": "c0498903a206c1d7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-422f618000cb8dae", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/browse.js:4070"}, "properties": {"repobilityId": "753131ceff5f4abe", "scanner": "scanner-primary", "fingerprint": "422f618000cb8dae", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8bb15dc24246dd8d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/map.js:146"}, "properties": {"repobilityId": "37ac82bde9eeaef3", "scanner": "scanner-primary", "fingerprint": "8bb15dc24246dd8d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a318fca1ccf75294", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 app/web/activities/celestial.js:16"}, "properties": {"repobilityId": "c6e488fbd3ca5b5f", "scanner": "scanner-primary", "fingerprint": "a318fca1ccf75294", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0e258fcda0bbdc2e", "level": "note", "message": {"text": "Legacy-named symbol `hos_settings_v1` in web/shared/settings.js:499"}, "properties": {"repobilityId": "85453956c92ca871", "scanner": "scanner-primary", "fingerprint": "0e258fcda0bbdc2e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d0bb790abe5f2a61", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/shared/wallet.js:494"}, "properties": {"repobilityId": "6e574656e42fa262", "scanner": "scanner-primary", "fingerprint": "d0bb790abe5f2a61", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e97fd318e12f389", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/shared/wallet.js:4"}, "properties": {"repobilityId": "cdac462c9223e7cb", "scanner": "scanner-primary", "fingerprint": "5e97fd318e12f389", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a90026721df34306", "level": "note", "message": {"text": "Legacy-named symbol `hos_settings_v1` in web/shared/shell.js:1199"}, "properties": {"repobilityId": "d8ee09adab2d10be", "scanner": "scanner-primary", "fingerprint": "a90026721df34306", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-686f2459a154fa2f", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/shared/shell.js:609"}, "properties": {"repobilityId": "94652704325b5d48", "scanner": "scanner-primary", "fingerprint": "686f2459a154fa2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8af61a2c1b05a6c0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/shared/shell.js:97"}, "properties": {"repobilityId": "107c47c5f4391b74", "scanner": "scanner-primary", "fingerprint": "8af61a2c1b05a6c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f9f21538bdccf44b", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in web/shared/pq-relay-auth.js:59"}, "properties": {"repobilityId": "0b458af68971e005", "scanner": "scanner-primary", "fingerprint": "f9f21538bdccf44b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5951a89f8ff11956", "level": "note", "message": {"text": "Legacy-named symbol `cbor_canonical_v1` in web/shared/pq-object.js:22"}, "properties": {"repobilityId": "bc7f162459582e23", "scanner": "scanner-primary", "fingerprint": "5951a89f8ff11956", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ec1a5dc42215f7f5", "level": "note", "message": {"text": "Legacy-named symbol `group_epoch_key_v1` in web/shared/canonical-cbor.js:155"}, "properties": {"repobilityId": "b657f6e69eae4e38", "scanner": "scanner-primary", "fingerprint": "ec1a5dc42215f7f5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cfd8e79838178633", "level": "none", "message": {"text": "Commented-code block (8 lines) in web/shared/canonical-cbor.js:3"}, "properties": {"repobilityId": "e3c621cb581b5834", "scanner": "scanner-primary", "fingerprint": "cfd8e79838178633", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd8634aedc167374", "level": "note", "message": {"text": "Legacy-named symbol `vouch_v1` in web/shared/pq-identity.js:147"}, "properties": {"repobilityId": "eb2e97fd7dfc8593", "scanner": "scanner-primary", "fingerprint": "fd8634aedc167374", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-90ce35affcda5d58", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/shared/pq-identity.js:31"}, "properties": {"repobilityId": "5a913d940cd3218d", "scanner": "scanner-primary", "fingerprint": "90ce35affcda5d58", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ea76260d7e9507ae", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/chat/chat-profile.js:1"}, "properties": {"repobilityId": "38d0a40eff2325e3", "scanner": "scanner-primary", "fingerprint": "ea76260d7e9507ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4170c4f22cfe44eb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/chat/chat-profile.js:467"}, "properties": {"repobilityId": "c9cf3095037ab11f", "scanner": "scanner-primary", "fingerprint": "4170c4f22cfe44eb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4945fdbb7c289553", "level": "none", "message": {"text": "Commented-code block (7 lines) in web/chat/chat-dms.js:1"}, "properties": {"repobilityId": "f5c79ae4392638fc", "scanner": "scanner-primary", "fingerprint": "4945fdbb7c289553", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae379d4c90dc022d", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/chat/chat-onboarding.js:1"}, "properties": {"repobilityId": "283b1be463669246", "scanner": "scanner-primary", "fingerprint": "ae379d4c90dc022d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4934729067bcf45", "level": "none", "message": {"text": "Commented-code block (8 lines) in web/chat/chat-voice-streaming.js:1"}, "properties": {"repobilityId": "efd9e59ae529594e", "scanner": "scanner-primary", "fingerprint": "e4934729067bcf45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3e754990ad86609", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/chat/chat-messages.js:1"}, "properties": {"repobilityId": "c82f0cd11f9a29b0", "scanner": "scanner-primary", "fingerprint": "e3e754990ad86609", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cd74f8e87d8ebe0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/chat/chat-messages.js:413"}, "properties": {"repobilityId": "1f1c433f7f92e278", "scanner": "scanner-primary", "fingerprint": "9cd74f8e87d8ebe0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a482624c38c075e3", "level": "note", "message": {"text": "Legacy-named symbol `group_v1` in web/chat/chat-groups-p2p.js:4"}, "properties": {"repobilityId": "95e09559fd03e8a1", "scanner": "scanner-primary", "fingerprint": "a482624c38c075e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d29ff03158a952d0", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/chat/chat-groups-p2p.js:8"}, "properties": {"repobilityId": "a8fa232dd7639d0f", "scanner": "scanner-primary", "fingerprint": "d29ff03158a952d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-399bf267aab4263b", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in web/chat/crypto.js:74"}, "properties": {"repobilityId": "0eb39db684070fa6", "scanner": "scanner-primary", "fingerprint": "399bf267aab4263b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f96ab57770f469c1", "level": "none", "message": {"text": "Commented-code block (7 lines) in web/chat/crypto.js:624"}, "properties": {"repobilityId": "5507555975c7b284", "scanner": "scanner-primary", "fingerprint": "f96ab57770f469c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e94537550586597", "level": "note", "message": {"text": "Legacy-named symbol `humanity_garden_v2` in web/chat/app.js:308"}, "properties": {"repobilityId": "29dc18edaad9493e", "scanner": "scanner-primary", "fingerprint": "0e94537550586597", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2c42fcffb546209c", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/chat/app.js:1010"}, "properties": {"repobilityId": "d502743b70d754ca", "scanner": "scanner-primary", "fingerprint": "2c42fcffb546209c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5530fc21c60273ff", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/chat/chat-voice-rooms.js:10"}, "properties": {"repobilityId": "a6949b3b17246e35", "scanner": "scanner-primary", "fingerprint": "5530fc21c60273ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-390a8a90b5552b74", "level": "none", "message": {"text": "Commented-code block (8 lines) in web/chat/chat-voice-webrtc.js:1"}, "properties": {"repobilityId": "cdb8b434cb3337bf", "scanner": "scanner-primary", "fingerprint": "390a8a90b5552b74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-801542733558800a", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/chat/chat-voice.js:1"}, "properties": {"repobilityId": "64aeea5e3850d0b4", "scanner": "scanner-primary", "fingerprint": "801542733558800a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-008b6481040c9224", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/chat/chat-social.js:1"}, "properties": {"repobilityId": "954661b45e5d9f75", "scanner": "scanner-primary", "fingerprint": "008b6481040c9224", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91e3df30fd317ad0", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/chat/chat-ui.js:1"}, "properties": {"repobilityId": "3fd85d822ffb0a70", "scanner": "scanner-primary", "fingerprint": "91e3df30fd317ad0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-255c48d26b00484d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/chat/chat-ui.js:271"}, "properties": {"repobilityId": "1f945a72c686a6cf", "scanner": "scanner-primary", "fingerprint": "255c48d26b00484d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bbaf899b0b3f22eb", "level": "note", "message": {"text": "Legacy-named symbol `hos_calendar_v1` in web/chat/chat-p2p.js:545"}, "properties": {"repobilityId": "53ce11ec16c839be", "scanner": "scanner-primary", "fingerprint": "bbaf899b0b3f22eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7d6a10f51be06f99", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/chat/chat-p2p.js:528"}, "properties": {"repobilityId": "db7513b725af89bc", "scanner": "scanner-primary", "fingerprint": "7d6a10f51be06f99", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5cf7de5edd82aab7", "level": "none", "message": {"text": "Commented-code block (5 lines) in web/chat/view/messageRow.js:9"}, "properties": {"repobilityId": "3e66bf9bb9694925", "scanner": "scanner-primary", "fingerprint": "5cf7de5edd82aab7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6661cc2003608d7b", "level": "note", "message": {"text": "Legacy-named symbol `hos_skills_v1` in web/pages/settings-app.js:320"}, "properties": {"repobilityId": "0025057a7349e126", "scanner": "scanner-primary", "fingerprint": "6661cc2003608d7b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3ba4ce1d4fba13f6", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/pages/settings-app.js:1728"}, "properties": {"repobilityId": "42273f91f10305c4", "scanner": "scanner-primary", "fingerprint": "3ba4ce1d4fba13f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5724cd7ff031e962", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in web/pages/trade-app.js:20"}, "properties": {"repobilityId": "4b388febae9b5456", "scanner": "scanner-primary", "fingerprint": "5724cd7ff031e962", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-35feeea1558e4db8", "level": "note", "message": {"text": "Legacy-named symbol `hos_notes_v1` in web/pages/notes-app.js:20"}, "properties": {"repobilityId": "3b22f9e8e11b158b", "scanner": "scanner-primary", "fingerprint": "35feeea1558e4db8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-df6991c6e415d9d8", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in web/pages/market-app.js:424"}, "properties": {"repobilityId": "d1e4c2c70c7d3e64", "scanner": "scanner-primary", "fingerprint": "df6991c6e415d9d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9f7d465c1675566d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/pages/bugs-app.js:85"}, "properties": {"repobilityId": "11d3696dd02f268f", "scanner": "scanner-primary", "fingerprint": "9f7d465c1675566d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e21af4b80e322393", "level": "note", "message": {"text": "Legacy-named symbol `hos_calc_history_v1` in web/pages/calculator-app.js:5"}, "properties": {"repobilityId": "18138b76e3643088", "scanner": "scanner-primary", "fingerprint": "e21af4b80e322393", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4e1eb80233b12106", "level": "none", "message": {"text": "Commented-code block (6 lines) in web/pages/admin-app.js:20"}, "properties": {"repobilityId": "e23f12dd9dfbfc08", "scanner": "scanner-primary", "fingerprint": "4e1eb80233b12106", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36b8d6ff4e0d4271", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in web/pages/tasks-app.js:199"}, "properties": {"repobilityId": "fdd7b5b573a16188", "scanner": "scanner-primary", "fingerprint": "36b8d6ff4e0d4271", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-96bdd8bbbcf931d8", "level": "note", "message": {"text": "Legacy-named symbol `humanity_key_backup` in web/activities/reality.js:1985"}, "properties": {"repobilityId": "cedd7ef124d9706f", "scanner": "scanner-primary", "fingerprint": "96bdd8bbbcf931d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a0557bd55d20fa1a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/reality.js:1637"}, "properties": {"repobilityId": "10744f10ad32bdc8", "scanner": "scanner-primary", "fingerprint": "a0557bd55d20fa1a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8fd82f90f36e433b", "level": "note", "message": {"text": "Legacy-named symbol `stream_scenes_v1` in web/activities/streams.js:126"}, "properties": {"repobilityId": "18341044b7379371", "scanner": "scanner-primary", "fingerprint": "8fd82f90f36e433b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-71dd217444bc5f18", "level": "note", "message": {"text": "Legacy-named symbol `humanity_quests_v1` in web/activities/core.js:105"}, "properties": {"repobilityId": "9f92fb002b29f59a", "scanner": "scanner-primary", "fingerprint": "71dd217444bc5f18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dcb60881944e642d", "level": "note", "message": {"text": "Legacy-named symbol `humanity_feature_web_v1` in web/activities/browse.js:182"}, "properties": {"repobilityId": "5ba828f1a6fa5525", "scanner": "scanner-primary", "fingerprint": "dcb60881944e642d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e9a077bd3197eb7d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/browse.js:4070"}, "properties": {"repobilityId": "f5fb861b19feda9b", "scanner": "scanner-primary", "fingerprint": "e9a077bd3197eb7d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4ec1350fb3d96636", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/map.js:146"}, "properties": {"repobilityId": "7537bd88030122d6", "scanner": "scanner-primary", "fingerprint": "4ec1350fb3d96636", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ed86ba776061ec26", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/activities/celestial.js:16"}, "properties": {"repobilityId": "7228edc5fc5773b9", "scanner": "scanner-primary", "fingerprint": "ed86ba776061ec26", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}]}]}