{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-bead75b0f9233e05", "name": "No API endpoints detected", "shortDescription": {"text": "No API endpoints detected"}, "fullDescription": {"text": "The scanner did not find FastAPI/Flask/Express/NestJS/GraphQL/gRPC routes. If this repo exposes APIs, the framework may be unsupported."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3fd8dc1991980e55", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-common-version.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-common-version.js:34"}, "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-21ef11d5b369c8fe", "name": "Stray `console.log` in TS/JS \u2014 scripts/publish-staged-release.js:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-staged-release.js:57"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30c26c2d48473871", "name": "Stray `console.log` in TS/JS \u2014 scripts/postinstall.js:96", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/postinstall.js:96"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c42dfe60218dc660", "name": "Stray `console.log` in TS/JS \u2014 scripts/createCjsWrapper.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/createCjsWrapper.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-73352f8a1cb1c7d4", "name": "Stray `console.log` in TS/JS \u2014 src/utils.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/utils.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-55b14613a64b7f55", "name": "Stray `console.log` in TS/JS \u2014 src/hints/index.ts:126", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/hints/index.ts:126"}, "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-8d5a7a752df43300", "name": "Stray `console.log` in TS/JS \u2014 src/hints/hints.ts:561", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/hints/hints.ts:561"}, "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-0575fbd29f68af58", "name": "Stray `console.log` in TS/JS \u2014 src/agents/prompts.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/prompts.ts: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-0588bcd33adbe799", "name": "Stray `console.log` in TS/JS \u2014 src/agents/runner.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/runner.ts: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-1c4bceba1fb03e9a", "name": "Stray `console.log` in TS/JS \u2014 src/reporters/htmlReporter.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/reporters/htmlReporter.ts: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-897c0df5a1423385", "name": "Stray `console.log` in TS/JS \u2014 src/debug/index.ts:353", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/debug/index.ts:353"}, "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-2738575323f288e5", "name": "Stray `console.log` in TS/JS \u2014 src/runtime/installCommand.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/installCommand.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d901a4eaa3fdf62", "name": "Stray `console.log` in TS/JS \u2014 src/runtime/selfUpdate.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/selfUpdate.ts:28"}, "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-e40322e7b0bbb380", "name": "Stray `console.log` in TS/JS \u2014 src/runtime/browsers.ts:84", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/browsers.ts:84"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f4aeed53f2d94b3", "name": "Stray `console.log` in TS/JS \u2014 src/runtime/installer.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/installer.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce623b1e19ba4072", "name": "Stray `console.log` in TS/JS \u2014 src/runtime/loader.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/loader.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9b4ff938a323ac9", "name": "Stray `console.log` in TS/JS \u2014 src/core/index.ts:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/index.ts: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-4811cd529add70f6", "name": "TODO/FIXME marker in shipping code \u2014 src/core/tests.ts:393", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/tests.ts:393"}, "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-34163c2ea3aa4daf", "name": "Stray `console.log` in TS/JS \u2014 src/core/openapi.ts:194", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/openapi.ts:194"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46ace8921dd50e48", "name": "TODO/FIXME marker in shipping code \u2014 src/core/expressions.ts:246", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/expressions.ts:246"}, "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-36f1a49a209c1df9", "name": "TODO/FIXME marker in shipping code \u2014 src/core/config.ts:366", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/config.ts:366"}, "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-e70d0ed4ff0ea593", "name": "Stray `console.log` in TS/JS \u2014 src/core/utils.ts:515", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/core/utils.ts:515"}, "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-9666d407981edc79", "name": "TODO/FIXME marker in shipping code \u2014 src/core/telem.ts:14", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/telem.ts:14"}, "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-d4d9324dfb7c5233", "name": "TODO/FIXME marker in shipping code \u2014 src/core/tests/moveTo.ts:123", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/tests/moveTo.ts:123"}, "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-18e46035e92e2914", "name": "Stray `console.log` in TS/JS \u2014 src/common/scripts/createCjsWrapper.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/common/scripts/createCjsWrapper.js:24"}, "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-564c3c52c1043a77", "name": "Stray `console.log` in TS/JS \u2014 src/common/dev/dev.js:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/common/dev/dev.js:11"}, "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-0d71dc7d969a37d9", "name": "Stray `console.log` in TS/JS \u2014 src/common/test/validate.test.js:650", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/common/test/validate.test.js:650"}, "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-68b9c1f350ba9df7", "name": "Stray `console.log` in TS/JS \u2014 dev/index.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 dev/index.js:7"}, "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-825b2f61cada320f", "name": "Stray `console.log` in TS/JS \u2014 test/core-heretto-upload.test.js:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/core-heretto-upload.test.js:40"}, "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-aa308c070c8da439", "name": "Stray `console.log` in TS/JS \u2014 test/checkLink.test.js:537", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/checkLink.test.js:537"}, "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-ba1ec14e8ec98ace", "name": "Stray `console.log` in TS/JS \u2014 test/hooks.js:80", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/hooks.js:80"}, "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-e22da6a94556f087", "name": "Stray `console.log` in TS/JS \u2014 test/core-test-enhanced-finding.js:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/core-test-enhanced-finding.js:4"}, "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-702868038c7c4cce", "name": "Stray `console.log` in TS/JS \u2014 test/runTests.test.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/runTests.test.js:28"}, "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-573d774314cfcf99", "name": "Stray `console.log` in TS/JS \u2014 test/core-test-helpers.js:3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/core-test-helpers.js:3"}, "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-9165a556d3ae8467", "name": "Stray `console.log` in TS/JS \u2014 test/resolvedTests.test.js:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/resolvedTests.test.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-c39552e795dc0e1f", "name": "Stray `console.log` in TS/JS \u2014 test/utils.test.js:648", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/utils.test.js:648"}, "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-f0b57ddfdd28d34f", "name": "Stray `console.log` in TS/JS \u2014 test/server/index.js:100", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/server/index.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-a322c1b84c681e21", "name": "Privileged port 9 in use", "shortDescription": {"text": "Privileged port 9 in use"}, "fullDescription": {"text": "Port 9 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eac8ecc7421a2f1e", "name": "Insecure pattern 'node_child_process' in scripts/sync-common-version.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/sync-common-version.js:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-30c61ff3e969b545", "name": "Insecure pattern 'node_child_process' in scripts/publish-staged-release.js:19", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/publish-staged-release.js:19"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b048a10f461a2486", "name": "Insecure pattern 'node_child_process' in scripts/postinstall.js:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/postinstall.js:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25ce0d4b20c7b721", "name": "Insecure pattern 'node_child_process' in src/utils.ts:7", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/utils.ts:7"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3de91d55e0b49b25", "name": "Insecure pattern 'node_child_process' in src/agents/spawn-helper.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/agents/spawn-helper.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b66f2b70d49e8c8f", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/reporters/htmlReporter.ts:870", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/reporters/htmlReporter.ts:870"}, "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-16956bce812fc40f", "name": "Insecure pattern 'node_child_process' in src/debug/tools.ts:21", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/debug/tools.ts:21"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c886697acfd4c5d8", "name": "Insecure pattern 'node_child_process' in src/runtime/selfUpdate.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/runtime/selfUpdate.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3c6c062d29abda30", "name": "Insecure pattern 'node_child_process' in src/runtime/loader.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/runtime/loader.ts:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1014307eba1b6dae", "name": "Insecure pattern 'new_function_used' in src/core/expressions.ts:321", "shortDescription": {"text": "Insecure pattern 'new_function_used' in src/core/expressions.ts:321"}, "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-fa1b9b0f6da3e8fd", "name": "Insecure pattern 'node_child_process' in src/core/config.ts:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/core/config.ts: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-ee8a1e56e1add9b7", "name": "Insecure pattern 'node_child_process' in src/core/utils.ts:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/core/utils.ts:8"}, "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-b706b72ce8e03e84", "name": "Insecure pattern 'node_child_process' in src/container/scripts/build.cjs:11", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/container/scripts/build.cjs:11"}, "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-1838a141491ce38c", "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-f54d0d3a389cb4de", "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-de53ac274e5b4ecf", "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-37716d9c0a33ad5c", "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-89cdc96ea6d8e30d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@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-54d07f12537e2b32", "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-1a38f567d0a4cc60", "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-2c99f0f23b040673", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@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-2d34e5503b414a97", "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-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-529d9f2b5dd1170d", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b11c0a088ebc1e18", "name": "Very large file: src/reporters/htmlReporter.ts (1600 lines)", "shortDescription": {"text": "Very large file: src/reporters/htmlReporter.ts (1600 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b900bd7e6f594bfe", "name": "Very large file: src/core/tests.ts (1906 lines)", "shortDescription": {"text": "Very large file: src/core/tests.ts (1906 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8bb57d74db80f3a0", "name": "Very large file: src/core/integrations/heretto.ts (1524 lines)", "shortDescription": {"text": "Very large file: src/core/integrations/heretto.ts (1524 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d3c9392fd2cf22e", "name": "Very large file: src/common/src/types/generated/test_v3.ts (3678 lines)", "shortDescription": {"text": "Very large file: src/common/src/types/generated/test_v3.ts (3678 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e90f77b25d670dbc", "name": "Very large file: src/common/src/types/generated/step_v3.ts (1603 lines)", "shortDescription": {"text": "Very large file: src/common/src/types/generated/step_v3.ts (1603 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ef9fc3006c7ef95", "name": "Very large file: src/common/test/detectTests.test.js (2891 lines)", "shortDescription": {"text": "Very large file: src/common/test/detectTests.test.js (2891 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4cf0cc111f0cabe", "name": "Very large file: test/hints.test.js (1994 lines)", "shortDescription": {"text": "Very large file: test/hints.test.js (1994 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b95b854ca97a8607", "name": "Very large file: test/utils.test.js (1497 lines)", "shortDescription": {"text": "Very large file: test/utils.test.js (1497 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 135 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 12 placeholder/mock markers across 9 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-bea357a6497a2d5d", "name": "Agent authority lacks a verifier contract: CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b3cc644d6d011c1f", "name": "Agent authority lacks a verifier contract: src/hints/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/hints/AGENTS.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-056ab673d550d40d", "name": "Agent authority lacks a verifier contract: src/common/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/common/AGENTS.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ace61bbe33cd3ac7", "name": "Commented-code block (5 lines) in scripts/publish-staged-release.js:4", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/publish-staged-release.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-15cb2224ae0af5e9", "name": "Commented-code block (8 lines) in scripts/postinstall.js:11", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/postinstall.js:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-72ee105ab4821d00", "name": "Commented-code block (6 lines) in src/cli.ts:86", "shortDescription": {"text": "Commented-code block (6 lines) in src/cli.ts:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c031c421f685958", "name": "Commented-code block (8 lines) in src/utils.ts:275", "shortDescription": {"text": "Commented-code block (8 lines) in src/utils.ts:275"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee2716adfc97ab88", "name": "Commented-code block (6 lines) in src/hints/index.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in src/hints/index.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e894f780d85ceb68", "name": "Commented-code block (7 lines) in src/hints/context.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/hints/context.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-052df5f1a20a4e3f", "name": "Commented-code block (10 lines) in src/hints/render.ts:3", "shortDescription": {"text": "Commented-code block (10 lines) in src/hints/render.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5d90c8c52b4927a", "name": "Commented-code block (7 lines) in src/hints/types.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/hints/types.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eeebab511a3cb456", "name": "Commented-code block (12 lines) in src/hints/hints.ts:7", "shortDescription": {"text": "Commented-code block (12 lines) in src/hints/hints.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3fb546739dae9545", "name": "Commented-code block (6 lines) in src/agents/runner.ts:58", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/runner.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27760d89119a8ca6", "name": "Commented-code block (6 lines) in src/agents/fetcher.ts:75", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/fetcher.ts:75"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dd104f6bb0c6d529", "name": "Commented-code block (5 lines) in src/agents/spawn-helper.ts:58", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/spawn-helper.ts:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9864ea20d115c2a4", "name": "Commented-code block (5 lines) in src/agents/adapters/claude-code.ts:206", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/adapters/claude-code.ts:206"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02061ef4f17bd906", "name": "Commented-code block (5 lines) in src/agents/adapters/codex.ts:167", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/adapters/codex.ts:167"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0eb7e1591720844e", "name": "Commented-code block (8 lines) in src/debug/index.ts:4", "shortDescription": {"text": "Commented-code block (8 lines) in src/debug/index.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e81f5a3205a3eb6a", "name": "Commented-code block (13 lines) in src/debug/tools.ts:3", "shortDescription": {"text": "Commented-code block (13 lines) in src/debug/tools.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e64cf9d5e6335266", "name": "Commented-code block (8 lines) in src/debug/envvars.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in src/debug/envvars.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-54c6da98182297da", "name": "Commented-code block (5 lines) in src/debug/redact.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/debug/redact.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f69ab5dc7f7f635f", "name": "Commented-code block (7 lines) in src/runtime/cacheDir.ts:45", "shortDescription": {"text": "Commented-code block (7 lines) in src/runtime/cacheDir.ts:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-df781b3a174766c0", "name": "Commented-code block (10 lines) in src/runtime/selfUpdate.ts:14", "shortDescription": {"text": "Commented-code block (10 lines) in src/runtime/selfUpdate.ts:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba0b10f70ecc3ef8", "name": "Commented-code block (7 lines) in src/runtime/browsers.ts:73", "shortDescription": {"text": "Commented-code block (7 lines) in src/runtime/browsers.ts:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b9d6deaecda89a70", "name": "Commented-code block (6 lines) in src/runtime/installer.ts:46", "shortDescription": {"text": "Commented-code block (6 lines) in src/runtime/installer.ts:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8a76160a23fa727", "name": "Commented-code block (6 lines) in src/runtime/loader.ts:19", "shortDescription": {"text": "Commented-code block (6 lines) in src/runtime/loader.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c06e664399b706e", "name": "Commented-code block (7 lines) in src/runtime/installOutput.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/runtime/installOutput.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4b843756b291e2fc", "name": "Commented-code block (5 lines) in src/core/index.ts:46", "shortDescription": {"text": "Commented-code block (5 lines) in src/core/index.ts:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e591748cedfacc01", "name": "Commented-code block (6 lines) in src/core/tests.ts:2", "shortDescription": {"text": "Commented-code block (6 lines) in src/core/tests.ts: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-eccbc24b2990ea63", "name": "Commented-code block (31 lines) in src/core/expressions.ts:265", "shortDescription": {"text": "Commented-code block (31 lines) in src/core/expressions.ts:265"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a36e103ce4b3efa3", "name": "Commented-code block (12 lines) in src/core/appium.ts:37", "shortDescription": {"text": "Commented-code block (12 lines) in src/core/appium.ts:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c6b67fb805abfbc", "name": "Commented-code block (8 lines) in src/core/config.ts:512", "shortDescription": {"text": "Commented-code block (8 lines) in src/core/config.ts:512"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3001ee7e43205ab7", "name": "Commented-code block (6 lines) in src/core/utils.ts:36", "shortDescription": {"text": "Commented-code block (6 lines) in src/core/utils.ts:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b3f1adb08289b72", "name": "Commented-code block (14 lines) in src/core/telem.ts:31", "shortDescription": {"text": "Commented-code block (14 lines) in src/core/telem.ts:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c35f64e86016bfb", "name": "Commented-code block (7 lines) in src/core/tests/typeKeys.ts:9", "shortDescription": {"text": "Commented-code block (7 lines) in src/core/tests/typeKeys.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e9ac9d336f29df04", "name": "Commented-code block (6 lines) in src/core/tests/goTo.ts:38", "shortDescription": {"text": "Commented-code block (6 lines) in src/core/tests/goTo.ts:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-424ff48959deefd6", "name": "Commented-code block (8 lines) in src/core/tests/saveScreenshot.ts:14", "shortDescription": {"text": "Commented-code block (8 lines) in src/core/tests/saveScreenshot.ts:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-722455e51cf3e709", "name": "Commented-code block (6 lines) in src/core/tests/checkLink.ts:159", "shortDescription": {"text": "Commented-code block (6 lines) in src/core/tests/checkLink.ts:159"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e47d42062dc8829e", "name": "Commented-code block (5 lines) in src/core/tests/stopRecording.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in src/core/tests/stopRecording.ts:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d9dd4fc9d8d8087", "name": "Legacy-named symbol `config_v2` in src/common/src/validate.ts:53", "shortDescription": {"text": "Legacy-named symbol `config_v2` in src/common/src/validate.ts:53"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49d257cd9ae6ff67", "name": "Legacy-named symbol `test_v2` in src/common/src/detectTests.ts:476", "shortDescription": {"text": "Legacy-named symbol `test_v2` in src/common/src/detectTests.ts:476"}, "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-7e829cdabf528abd", "name": "Commented-code block (5 lines) in src/common/src/detectTests.ts:216", "shortDescription": {"text": "Commented-code block (5 lines) in src/common/src/detectTests.ts:216"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9da1793c416982b3", "name": "Legacy-named symbol `checkLink_v2` in src/common/src/schemas/dereferenceSchemas.cjs:55", "shortDescription": {"text": "Legacy-named symbol `checkLink_v2` in src/common/src/schemas/dereferenceSchemas.cjs:55"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c3b97b324dafe67", "name": "Legacy-named symbol `goTo_v2` in src/common/test/validate.test.js:360", "shortDescription": {"text": "Legacy-named symbol `goTo_v2` in src/common/test/validate.test.js:360"}, "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-52f8513f5805f31a", "name": "Commented-code block (5 lines) in src/container/scripts/build.cjs:6", "shortDescription": {"text": "Commented-code block (5 lines) in src/container/scripts/build.cjs:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8485430ff99829e9", "name": "Commented-code block (7 lines) in src/container/test/runTests.test.cjs:46", "shortDescription": {"text": "Commented-code block (7 lines) in src/container/test/runTests.test.cjs:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-098803a190602751", "name": "Commented-code block (5 lines) in test/core-getrunner-provision.test.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in test/core-getrunner-provision.test.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-784db4eb70bca901", "name": "Legacy-named symbol `render_v2` in test/fetchFile-binary.test.js:133", "shortDescription": {"text": "Legacy-named symbol `render_v2` in test/fetchFile-binary.test.js:133"}, "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-1356355445eccfc3", "name": "Commented-code block (5 lines) in test/fetchFile-binary.test.js:13", "shortDescription": {"text": "Commented-code block (5 lines) in test/fetchFile-binary.test.js:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3b372e6c2094faa8", "name": "Commented-code block (6 lines) in test/goTo.test.js:153", "shortDescription": {"text": "Commented-code block (6 lines) in test/goTo.test.js:153"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-19504534c890d342", "name": "Commented-code block (8 lines) in test/checkLink.test.js:15", "shortDescription": {"text": "Commented-code block (8 lines) in test/checkLink.test.js:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eab9ea5f3fa73a8f", "name": "Commented-code block (6 lines) in test/hooks.js:16", "shortDescription": {"text": "Commented-code block (6 lines) in test/hooks.js:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82b83da1d251a00e", "name": "Commented-code block (5 lines) in test/runtime-installer.test.js:73", "shortDescription": {"text": "Commented-code block (5 lines) in test/runtime-installer.test.js:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e58c98dc0ed8faa4", "name": "Commented-code block (7 lines) in test/runtime-loader.test.js:80", "shortDescription": {"text": "Commented-code block (7 lines) in test/runtime-loader.test.js:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8002b8291c560832", "name": "Commented-code block (5 lines) in test/concurrency.test.js:86", "shortDescription": {"text": "Commented-code block (5 lines) in test/concurrency.test.js:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46c2a11d8a9349de", "name": "Commented-code block (7 lines) in test/hints.test.js:447", "shortDescription": {"text": "Commented-code block (7 lines) in test/hints.test.js:447"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-063937ec0cfafaa2", "name": "Commented-code block (5 lines) in test/agents.test.js:1011", "shortDescription": {"text": "Commented-code block (5 lines) in test/agents.test.js:1011"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b0eecf98d729bd9", "name": "Commented-code block (5 lines) in test/utils.test.js:1279", "shortDescription": {"text": "Commented-code block (5 lines) in test/utils.test.js:1279"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e15b1654c65f4e39", "name": "Commented-code block (5 lines) in test/runner-entrypoint.test.js:376", "shortDescription": {"text": "Commented-code block (5 lines) in test/runner-entrypoint.test.js:376"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-275a88e8b29867eb", "name": "Commented-code block (5 lines) in test/server/index.js:32", "shortDescription": {"text": "Commented-code block (5 lines) in test/server/index.js:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/25466"}, "properties": {"repository": "doc-detective/doc-detective", "repoUrl": "https://github.com/doc-detective/doc-detective", "branch": "main"}, "results": [{"ruleId": "scanner-bead75b0f9233e05", "level": "none", "message": {"text": "No API endpoints detected"}, "properties": {"repobilityId": "0f8bb852027c38f8", "scanner": "scanner-primary", "fingerprint": "bead75b0f9233e05", "layer": "api", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-3fd8dc1991980e55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-common-version.js:34"}, "properties": {"repobilityId": "87268edeca18c987", "scanner": "scanner-primary", "fingerprint": "3fd8dc1991980e55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-21ef11d5b369c8fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/publish-staged-release.js:57"}, "properties": {"repobilityId": "d8e3309e700ed6f0", "scanner": "scanner-primary", "fingerprint": "21ef11d5b369c8fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-30c26c2d48473871", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/postinstall.js:96"}, "properties": {"repobilityId": "91a7d9e02ea7caf9", "scanner": "scanner-primary", "fingerprint": "30c26c2d48473871", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c42dfe60218dc660", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/createCjsWrapper.js:30"}, "properties": {"repobilityId": "f263fe626608b9fe", "scanner": "scanner-primary", "fingerprint": "c42dfe60218dc660", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73352f8a1cb1c7d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/utils.ts:56"}, "properties": {"repobilityId": "1df971dba90423d5", "scanner": "scanner-primary", "fingerprint": "73352f8a1cb1c7d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-55b14613a64b7f55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/hints/index.ts:126"}, "properties": {"repobilityId": "e78e077a647be945", "scanner": "scanner-primary", "fingerprint": "55b14613a64b7f55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8d5a7a752df43300", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/hints/hints.ts:561"}, "properties": {"repobilityId": "11eaf586c65b4be2", "scanner": "scanner-primary", "fingerprint": "8d5a7a752df43300", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0575fbd29f68af58", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/prompts.ts:41"}, "properties": {"repobilityId": "99712fd40037ee0b", "scanner": "scanner-primary", "fingerprint": "0575fbd29f68af58", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0588bcd33adbe799", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/runner.ts:17"}, "properties": {"repobilityId": "55038dd18e8faac8", "scanner": "scanner-primary", "fingerprint": "0588bcd33adbe799", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1c4bceba1fb03e9a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/reporters/htmlReporter.ts:49"}, "properties": {"repobilityId": "3272fabc3f2c2c22", "scanner": "scanner-primary", "fingerprint": "1c4bceba1fb03e9a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-897c0df5a1423385", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/debug/index.ts:353"}, "properties": {"repobilityId": "0d37373db7783089", "scanner": "scanner-primary", "fingerprint": "897c0df5a1423385", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2738575323f288e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/installCommand.ts:44"}, "properties": {"repobilityId": "92e580150b2f51c1", "scanner": "scanner-primary", "fingerprint": "2738575323f288e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d901a4eaa3fdf62", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/selfUpdate.ts:28"}, "properties": {"repobilityId": "7f2015953b58e195", "scanner": "scanner-primary", "fingerprint": "2d901a4eaa3fdf62", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e40322e7b0bbb380", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/browsers.ts:84"}, "properties": {"repobilityId": "7606c2bf25cba00f", "scanner": "scanner-primary", "fingerprint": "e40322e7b0bbb380", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f4aeed53f2d94b3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/installer.ts:56"}, "properties": {"repobilityId": "a44f923bb5da74e7", "scanner": "scanner-primary", "fingerprint": "6f4aeed53f2d94b3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ce623b1e19ba4072", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime/loader.ts:29"}, "properties": {"repobilityId": "63798a686e1bab58", "scanner": "scanner-primary", "fingerprint": "ce623b1e19ba4072", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f9b4ff938a323ac9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/index.ts:77"}, "properties": {"repobilityId": "40849650b477340f", "scanner": "scanner-primary", "fingerprint": "f9b4ff938a323ac9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4811cd529add70f6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/tests.ts:393"}, "properties": {"repobilityId": "98e8d9c987241798", "scanner": "scanner-primary", "fingerprint": "4811cd529add70f6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-34163c2ea3aa4daf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/openapi.ts:194"}, "properties": {"repobilityId": "bb7d37b67f967399", "scanner": "scanner-primary", "fingerprint": "34163c2ea3aa4daf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46ace8921dd50e48", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/expressions.ts:246"}, "properties": {"repobilityId": "3e06c5cca8b3490e", "scanner": "scanner-primary", "fingerprint": "46ace8921dd50e48", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-36f1a49a209c1df9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/config.ts:366"}, "properties": {"repobilityId": "c65ab6f2e3ef5fab", "scanner": "scanner-primary", "fingerprint": "36f1a49a209c1df9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e70d0ed4ff0ea593", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/core/utils.ts:515"}, "properties": {"repobilityId": "ac0133a3284cc054", "scanner": "scanner-primary", "fingerprint": "e70d0ed4ff0ea593", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9666d407981edc79", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/telem.ts:14"}, "properties": {"repobilityId": "55b17683bdc6a3fd", "scanner": "scanner-primary", "fingerprint": "9666d407981edc79", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d4d9324dfb7c5233", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/core/tests/moveTo.ts:123"}, "properties": {"repobilityId": "d19a6bad44e5d5f0", "scanner": "scanner-primary", "fingerprint": "d4d9324dfb7c5233", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-18e46035e92e2914", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/common/scripts/createCjsWrapper.js:24"}, "properties": {"repobilityId": "c4af0016b328455f", "scanner": "scanner-primary", "fingerprint": "18e46035e92e2914", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-564c3c52c1043a77", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/common/dev/dev.js:11"}, "properties": {"repobilityId": "b71e0e6b0f3a3d90", "scanner": "scanner-primary", "fingerprint": "564c3c52c1043a77", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d71dc7d969a37d9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/common/test/validate.test.js:650"}, "properties": {"repobilityId": "a6a1a85213db8bca", "scanner": "scanner-primary", "fingerprint": "0d71dc7d969a37d9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-68b9c1f350ba9df7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 dev/index.js:7"}, "properties": {"repobilityId": "cef2c90d13e52c8c", "scanner": "scanner-primary", "fingerprint": "68b9c1f350ba9df7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-825b2f61cada320f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/core-heretto-upload.test.js:40"}, "properties": {"repobilityId": "84fa751730739caa", "scanner": "scanner-primary", "fingerprint": "825b2f61cada320f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa308c070c8da439", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/checkLink.test.js:537"}, "properties": {"repobilityId": "5bf91612a8b335e2", "scanner": "scanner-primary", "fingerprint": "aa308c070c8da439", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ba1ec14e8ec98ace", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/hooks.js:80"}, "properties": {"repobilityId": "639bb5217beaea37", "scanner": "scanner-primary", "fingerprint": "ba1ec14e8ec98ace", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e22da6a94556f087", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/core-test-enhanced-finding.js:4"}, "properties": {"repobilityId": "7e2c7080becff755", "scanner": "scanner-primary", "fingerprint": "e22da6a94556f087", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-702868038c7c4cce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/runTests.test.js:28"}, "properties": {"repobilityId": "bca6ba1dd9b4bdc7", "scanner": "scanner-primary", "fingerprint": "702868038c7c4cce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-573d774314cfcf99", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/core-test-helpers.js:3"}, "properties": {"repobilityId": "097e01f40c9b18a4", "scanner": "scanner-primary", "fingerprint": "573d774314cfcf99", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9165a556d3ae8467", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/resolvedTests.test.js:41"}, "properties": {"repobilityId": "a171c9300301bf7d", "scanner": "scanner-primary", "fingerprint": "9165a556d3ae8467", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c39552e795dc0e1f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/utils.test.js:648"}, "properties": {"repobilityId": "2173ddfa271c5491", "scanner": "scanner-primary", "fingerprint": "c39552e795dc0e1f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0b57ddfdd28d34f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/server/index.js:100"}, "properties": {"repobilityId": "60454c1e6e77acb8", "scanner": "scanner-primary", "fingerprint": "f0b57ddfdd28d34f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a322c1b84c681e21", "level": "warning", "message": {"text": "Privileged port 9 in use"}, "properties": {"repobilityId": "31590a6ba3409390", "scanner": "scanner-primary", "fingerprint": "a322c1b84c681e21", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/install-agents-integration.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eac8ecc7421a2f1e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/sync-common-version.js:2"}, "properties": {"repobilityId": "b199efc5ababec36", "scanner": "scanner-primary", "fingerprint": "eac8ecc7421a2f1e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/sync-common-version.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-30c61ff3e969b545", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/publish-staged-release.js:19"}, "properties": {"repobilityId": "e51b3465de5982f2", "scanner": "scanner-primary", "fingerprint": "30c61ff3e969b545", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/publish-staged-release.js"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-b048a10f461a2486", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/postinstall.js:3"}, "properties": {"repobilityId": "b76cf7b9db7cfe0a", "scanner": "scanner-primary", "fingerprint": "b048a10f461a2486", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/postinstall.js"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-25ce0d4b20c7b721", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/utils.ts:7"}, "properties": {"repobilityId": "0a562d97ac9755b2", "scanner": "scanner-primary", "fingerprint": "25ce0d4b20c7b721", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/utils.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-3de91d55e0b49b25", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/agents/spawn-helper.ts:1"}, "properties": {"repobilityId": "3018df11df45f525", "scanner": "scanner-primary", "fingerprint": "3de91d55e0b49b25", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agents/spawn-helper.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b66f2b70d49e8c8f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/reporters/htmlReporter.ts:870"}, "properties": {"repobilityId": "15ba5290548ec261", "scanner": "scanner-primary", "fingerprint": "b66f2b70d49e8c8f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/reporters/htmlReporter.ts"}, "region": {"startLine": 870}}}]}, {"ruleId": "scanner-16956bce812fc40f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/debug/tools.ts:21"}, "properties": {"repobilityId": "0f96fc1bc3167b44", "scanner": "scanner-primary", "fingerprint": "16956bce812fc40f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/debug/tools.ts"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-c886697acfd4c5d8", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/runtime/selfUpdate.ts:2"}, "properties": {"repobilityId": "0687adeedad66243", "scanner": "scanner-primary", "fingerprint": "c886697acfd4c5d8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/runtime/selfUpdate.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-3c6c062d29abda30", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/runtime/loader.ts:3"}, "properties": {"repobilityId": "35c37c5b79e951ff", "scanner": "scanner-primary", "fingerprint": "3c6c062d29abda30", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/runtime/loader.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-1014307eba1b6dae", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in src/core/expressions.ts:321"}, "properties": {"repobilityId": "7f5a8671949be25e", "scanner": "scanner-primary", "fingerprint": "1014307eba1b6dae", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/core/expressions.ts"}, "region": {"startLine": 321}}}]}, {"ruleId": "scanner-fa1b9b0f6da3e8fd", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/core/config.ts:6"}, "properties": {"repobilityId": "81bf636ec11eb122", "scanner": "scanner-primary", "fingerprint": "fa1b9b0f6da3e8fd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/core/config.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-ee8a1e56e1add9b7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/core/utils.ts:8"}, "properties": {"repobilityId": "685e1b2cba249fca", "scanner": "scanner-primary", "fingerprint": "ee8a1e56e1add9b7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/core/utils.ts"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-b706b72ce8e03e84", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/container/scripts/build.cjs:11"}, "properties": {"repobilityId": "75b147a6750bad40", "scanner": "scanner-primary", "fingerprint": "b706b72ce8e03e84", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/container/scripts/build.cjs"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "93666d037cc96330", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 141}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b9939ac39f8868e5", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 144}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "524cd7f22306d448", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 156}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f992a0f3a9da3b1a", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 180}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a60afc9f26129783", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 193}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd56c11f7620ac8a", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 218}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1431e41a5cb61a4e", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 236}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1431e41a5cb61a4e", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 242}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "524cd7f22306d448", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 248}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f992a0f3a9da3b1a", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 251}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "93666d037cc96330", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 321}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b9939ac39f8868e5", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 324}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f992a0f3a9da3b1a", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 407}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "93666d037cc96330", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 464}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b9939ac39f8868e5", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 467}}}]}, {"ruleId": "scanner-f54d0d3a389cb4de", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f992a0f3a9da3b1a", "scanner": "scanner-primary", "fingerprint": "f54d0d3a389cb4de", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-build.yml"}, "region": {"startLine": 543}}}]}, {"ruleId": "scanner-de53ac274e5b4ecf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "02600186fc092bd4", "scanner": "scanner-primary", "fingerprint": "de53ac274e5b4ecf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude.yml"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-de53ac274e5b4ecf", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8ead6a2c2bfe167b", "scanner": "scanner-primary", "fingerprint": "de53ac274e5b4ecf", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude.yml"}, "region": {"startLine": 43}}}]}, {"ruleId": "scanner-37716d9c0a33ad5c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "abfb5752158cf655", "scanner": "scanner-primary", "fingerprint": "37716d9c0a33ad5c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-89cdc96ea6d8e30d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ec136bd60503230e", "scanner": "scanner-primary", "fingerprint": "89cdc96ea6d8e30d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/install-agents-integration.yml"}, "region": {"startLine": 186}}}]}, {"ruleId": "scanner-54d07f12537e2b32", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "56004628b72c2302", "scanner": "scanner-primary", "fingerprint": "54d07f12537e2b32", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-pr-review.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-54d07f12537e2b32", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f1bc0defa4f6560c", "scanner": "scanner-primary", "fingerprint": "54d07f12537e2b32", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-pr-review.yml"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-1a38f567d0a4cc60", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "f75abb164094db78", "scanner": "scanner-primary", "fingerprint": "1a38f567d0a4cc60", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude-pr-review.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2c99f0f23b040673", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fa6d760bce6c2590", "scanner": "scanner-primary", "fingerprint": "2c99f0f23b040673", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/common/.github/workflows/npm-test.yml"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-2c99f0f23b040673", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e8be63f36b811cb", "scanner": "scanner-primary", "fingerprint": "2c99f0f23b040673", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/common/.github/workflows/npm-test.yml"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-2c99f0f23b040673", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fa6d760bce6c2590", "scanner": "scanner-primary", "fingerprint": "2c99f0f23b040673", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/common/.github/workflows/npm-test.yml"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-2d34e5503b414a97", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0cf8ea254e59bfa9", "scanner": "scanner-primary", "fingerprint": "2d34e5503b414a97", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/common/.github/workflows/auto-dev-release.yml"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-2d34e5503b414a97", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c38d4d4eeff5a529", "scanner": "scanner-primary", "fingerprint": "2d34e5503b414a97", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/common/.github/workflows/auto-dev-release.yml"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "714673743ff59cef", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-529d9f2b5dd1170d", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "2439334d3cfe9a0e", "scanner": "scanner-primary", "fingerprint": "529d9f2b5dd1170d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b11c0a088ebc1e18", "level": "note", "message": {"text": "Very large file: src/reporters/htmlReporter.ts (1600 lines)"}, "properties": {"repobilityId": "2705e132d43baab4", "scanner": "scanner-primary", "fingerprint": "b11c0a088ebc1e18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b900bd7e6f594bfe", "level": "note", "message": {"text": "Very large file: src/core/tests.ts (1906 lines)"}, "properties": {"repobilityId": "25de824c1fedcaa0", "scanner": "scanner-primary", "fingerprint": "b900bd7e6f594bfe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8bb57d74db80f3a0", "level": "note", "message": {"text": "Very large file: src/core/integrations/heretto.ts (1524 lines)"}, "properties": {"repobilityId": "cdc38995e1a96915", "scanner": "scanner-primary", "fingerprint": "8bb57d74db80f3a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6d3c9392fd2cf22e", "level": "note", "message": {"text": "Very large file: src/common/src/types/generated/test_v3.ts (3678 lines)"}, "properties": {"repobilityId": "5d9646a169b0ce80", "scanner": "scanner-primary", "fingerprint": "6d3c9392fd2cf22e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e90f77b25d670dbc", "level": "note", "message": {"text": "Very large file: src/common/src/types/generated/step_v3.ts (1603 lines)"}, "properties": {"repobilityId": "46832b7ee09fd44a", "scanner": "scanner-primary", "fingerprint": "e90f77b25d670dbc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7ef9fc3006c7ef95", "level": "note", "message": {"text": "Very large file: src/common/test/detectTests.test.js (2891 lines)"}, "properties": {"repobilityId": "3620790c6605b2fc", "scanner": "scanner-primary", "fingerprint": "7ef9fc3006c7ef95", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f4cf0cc111f0cabe", "level": "note", "message": {"text": "Very large file: test/hints.test.js (1994 lines)"}, "properties": {"repobilityId": "4986f2511c930d7d", "scanner": "scanner-primary", "fingerprint": "f4cf0cc111f0cabe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b95b854ca97a8607", "level": "note", "message": {"text": "Very large file: test/utils.test.js (1497 lines)"}, "properties": {"repobilityId": "ba1f1fe0f50a01cb", "scanner": "scanner-primary", "fingerprint": "b95b854ca97a8607", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "a7b116938f60bc25", "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": "b0c3b3395aaab818", "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": "dbcda7a0fd281c3c", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-bea357a6497a2d5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "properties": {"repobilityId": "aae72df3934829ac", "scanner": "scanner-primary", "fingerprint": "bea357a6497a2d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b3cc644d6d011c1f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/hints/AGENTS.md"}, "properties": {"repobilityId": "e89704bfa5efd8d6", "scanner": "scanner-primary", "fingerprint": "b3cc644d6d011c1f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/hints/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-056ab673d550d40d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/common/AGENTS.md"}, "properties": {"repobilityId": "8b1cc42d3e7aba84", "scanner": "scanner-primary", "fingerprint": "056ab673d550d40d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/common/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ace61bbe33cd3ac7", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/publish-staged-release.js:4"}, "properties": {"repobilityId": "a24d5000fa8802a8", "scanner": "scanner-primary", "fingerprint": "ace61bbe33cd3ac7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-15cb2224ae0af5e9", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/postinstall.js:11"}, "properties": {"repobilityId": "77d9c27761ada66c", "scanner": "scanner-primary", "fingerprint": "15cb2224ae0af5e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72ee105ab4821d00", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/cli.ts:86"}, "properties": {"repobilityId": "e44f50ce4e7b7400", "scanner": "scanner-primary", "fingerprint": "72ee105ab4821d00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c031c421f685958", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/utils.ts:275"}, "properties": {"repobilityId": "b7c6d0066724bf65", "scanner": "scanner-primary", "fingerprint": "6c031c421f685958", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee2716adfc97ab88", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/hints/index.ts:8"}, "properties": {"repobilityId": "2b454a6a17e6602b", "scanner": "scanner-primary", "fingerprint": "ee2716adfc97ab88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e894f780d85ceb68", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/hints/context.ts:3"}, "properties": {"repobilityId": "a7ec6f483b1446a6", "scanner": "scanner-primary", "fingerprint": "e894f780d85ceb68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-052df5f1a20a4e3f", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/hints/render.ts:3"}, "properties": {"repobilityId": "be2621b9cf2c2e94", "scanner": "scanner-primary", "fingerprint": "052df5f1a20a4e3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5d90c8c52b4927a", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/hints/types.ts:3"}, "properties": {"repobilityId": "b632783ab2ea542c", "scanner": "scanner-primary", "fingerprint": "f5d90c8c52b4927a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eeebab511a3cb456", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/hints/hints.ts:7"}, "properties": {"repobilityId": "1c9440eb61c84fd0", "scanner": "scanner-primary", "fingerprint": "eeebab511a3cb456", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3fb546739dae9545", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/runner.ts:58"}, "properties": {"repobilityId": "74497f318c75f303", "scanner": "scanner-primary", "fingerprint": "3fb546739dae9545", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27760d89119a8ca6", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/fetcher.ts:75"}, "properties": {"repobilityId": "5d0e13d45d3a8669", "scanner": "scanner-primary", "fingerprint": "27760d89119a8ca6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd104f6bb0c6d529", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/spawn-helper.ts:58"}, "properties": {"repobilityId": "c0a8572d8a604507", "scanner": "scanner-primary", "fingerprint": "dd104f6bb0c6d529", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9864ea20d115c2a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/adapters/claude-code.ts:206"}, "properties": {"repobilityId": "df417241d9696887", "scanner": "scanner-primary", "fingerprint": "9864ea20d115c2a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02061ef4f17bd906", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/adapters/codex.ts:167"}, "properties": {"repobilityId": "2ecea115f5e6196d", "scanner": "scanner-primary", "fingerprint": "02061ef4f17bd906", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0eb7e1591720844e", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/debug/index.ts:4"}, "properties": {"repobilityId": "1bb7d7245c7ec459", "scanner": "scanner-primary", "fingerprint": "0eb7e1591720844e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e81f5a3205a3eb6a", "level": "none", "message": {"text": "Commented-code block (13 lines) in src/debug/tools.ts:3"}, "properties": {"repobilityId": "8103a240b3a3ec53", "scanner": "scanner-primary", "fingerprint": "e81f5a3205a3eb6a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e64cf9d5e6335266", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/debug/envvars.ts:3"}, "properties": {"repobilityId": "5b83f70ed49763bd", "scanner": "scanner-primary", "fingerprint": "e64cf9d5e6335266", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54c6da98182297da", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/debug/redact.ts:3"}, "properties": {"repobilityId": "03426573bba487b3", "scanner": "scanner-primary", "fingerprint": "54c6da98182297da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f69ab5dc7f7f635f", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/runtime/cacheDir.ts:45"}, "properties": {"repobilityId": "1333227968a409d8", "scanner": "scanner-primary", "fingerprint": "f69ab5dc7f7f635f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df781b3a174766c0", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/runtime/selfUpdate.ts:14"}, "properties": {"repobilityId": "ce220a96239d7208", "scanner": "scanner-primary", "fingerprint": "df781b3a174766c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba0b10f70ecc3ef8", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/runtime/browsers.ts:73"}, "properties": {"repobilityId": "9ccf98634d45b6e4", "scanner": "scanner-primary", "fingerprint": "ba0b10f70ecc3ef8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9d6deaecda89a70", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/runtime/installer.ts:46"}, "properties": {"repobilityId": "f7bf7df07e245389", "scanner": "scanner-primary", "fingerprint": "b9d6deaecda89a70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8a76160a23fa727", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/runtime/loader.ts:19"}, "properties": {"repobilityId": "8881ea1e6a6672ba", "scanner": "scanner-primary", "fingerprint": "d8a76160a23fa727", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c06e664399b706e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/runtime/installOutput.ts:1"}, "properties": {"repobilityId": "8ff6d26db5937370", "scanner": "scanner-primary", "fingerprint": "6c06e664399b706e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b843756b291e2fc", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/core/index.ts:46"}, "properties": {"repobilityId": "df916b77f3cf96cd", "scanner": "scanner-primary", "fingerprint": "4b843756b291e2fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e591748cedfacc01", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/core/tests.ts:2"}, "properties": {"repobilityId": "b150a8f60cc43634", "scanner": "scanner-primary", "fingerprint": "e591748cedfacc01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eccbc24b2990ea63", "level": "none", "message": {"text": "Commented-code block (31 lines) in src/core/expressions.ts:265"}, "properties": {"repobilityId": "6a1d7341288b594c", "scanner": "scanner-primary", "fingerprint": "eccbc24b2990ea63", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a36e103ce4b3efa3", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/core/appium.ts:37"}, "properties": {"repobilityId": "1bb577607e0b8f29", "scanner": "scanner-primary", "fingerprint": "a36e103ce4b3efa3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c6b67fb805abfbc", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/core/config.ts:512"}, "properties": {"repobilityId": "7c83be572971f786", "scanner": "scanner-primary", "fingerprint": "4c6b67fb805abfbc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3001ee7e43205ab7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/core/utils.ts:36"}, "properties": {"repobilityId": "f47d38c37538b387", "scanner": "scanner-primary", "fingerprint": "3001ee7e43205ab7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b3f1adb08289b72", "level": "none", "message": {"text": "Commented-code block (14 lines) in src/core/telem.ts:31"}, "properties": {"repobilityId": "f61adcfb2e18bc49", "scanner": "scanner-primary", "fingerprint": "1b3f1adb08289b72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c35f64e86016bfb", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/core/tests/typeKeys.ts:9"}, "properties": {"repobilityId": "df60e4726dd2e95e", "scanner": "scanner-primary", "fingerprint": "6c35f64e86016bfb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9ac9d336f29df04", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/core/tests/goTo.ts:38"}, "properties": {"repobilityId": "4a565986cddb1a36", "scanner": "scanner-primary", "fingerprint": "e9ac9d336f29df04", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-424ff48959deefd6", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/core/tests/saveScreenshot.ts:14"}, "properties": {"repobilityId": "ccf7d643e28471db", "scanner": "scanner-primary", "fingerprint": "424ff48959deefd6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-722455e51cf3e709", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/core/tests/checkLink.ts:159"}, "properties": {"repobilityId": "0c4b77c6f4aa739c", "scanner": "scanner-primary", "fingerprint": "722455e51cf3e709", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e47d42062dc8829e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/core/tests/stopRecording.ts:14"}, "properties": {"repobilityId": "c16031d45d66402e", "scanner": "scanner-primary", "fingerprint": "e47d42062dc8829e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d9dd4fc9d8d8087", "level": "note", "message": {"text": "Legacy-named symbol `config_v2` in src/common/src/validate.ts:53"}, "properties": {"repobilityId": "9fb0e2f7aec7e78e", "scanner": "scanner-primary", "fingerprint": "7d9dd4fc9d8d8087", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-49d257cd9ae6ff67", "level": "note", "message": {"text": "Legacy-named symbol `test_v2` in src/common/src/detectTests.ts:476"}, "properties": {"repobilityId": "5dcf69d6e6b6d0ea", "scanner": "scanner-primary", "fingerprint": "49d257cd9ae6ff67", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7e829cdabf528abd", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/common/src/detectTests.ts:216"}, "properties": {"repobilityId": "beee7d09df295977", "scanner": "scanner-primary", "fingerprint": "7e829cdabf528abd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9da1793c416982b3", "level": "note", "message": {"text": "Legacy-named symbol `checkLink_v2` in src/common/src/schemas/dereferenceSchemas.cjs:55"}, "properties": {"repobilityId": "c643ceadc6e56af4", "scanner": "scanner-primary", "fingerprint": "9da1793c416982b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8c3b97b324dafe67", "level": "note", "message": {"text": "Legacy-named symbol `goTo_v2` in src/common/test/validate.test.js:360"}, "properties": {"repobilityId": "3ad46d30eb71cfe5", "scanner": "scanner-primary", "fingerprint": "8c3b97b324dafe67", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-52f8513f5805f31a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/container/scripts/build.cjs:6"}, "properties": {"repobilityId": "ea3fcd1a736dcacf", "scanner": "scanner-primary", "fingerprint": "52f8513f5805f31a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8485430ff99829e9", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/container/test/runTests.test.cjs:46"}, "properties": {"repobilityId": "3ea496c6364b4bd5", "scanner": "scanner-primary", "fingerprint": "8485430ff99829e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-098803a190602751", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/core-getrunner-provision.test.js:1"}, "properties": {"repobilityId": "6c98aaa26714e77b", "scanner": "scanner-primary", "fingerprint": "098803a190602751", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-784db4eb70bca901", "level": "note", "message": {"text": "Legacy-named symbol `render_v2` in test/fetchFile-binary.test.js:133"}, "properties": {"repobilityId": "4bfa9db2b794e10f", "scanner": "scanner-primary", "fingerprint": "784db4eb70bca901", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1356355445eccfc3", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/fetchFile-binary.test.js:13"}, "properties": {"repobilityId": "99eb7991af928c26", "scanner": "scanner-primary", "fingerprint": "1356355445eccfc3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3b372e6c2094faa8", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/goTo.test.js:153"}, "properties": {"repobilityId": "3748b08a24d2bec3", "scanner": "scanner-primary", "fingerprint": "3b372e6c2094faa8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19504534c890d342", "level": "none", "message": {"text": "Commented-code block (8 lines) in test/checkLink.test.js:15"}, "properties": {"repobilityId": "40f6f80dd84d4e36", "scanner": "scanner-primary", "fingerprint": "19504534c890d342", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eab9ea5f3fa73a8f", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/hooks.js:16"}, "properties": {"repobilityId": "cbe4aa40e9c0d92a", "scanner": "scanner-primary", "fingerprint": "eab9ea5f3fa73a8f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82b83da1d251a00e", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/runtime-installer.test.js:73"}, "properties": {"repobilityId": "5a677d39c0d18902", "scanner": "scanner-primary", "fingerprint": "82b83da1d251a00e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e58c98dc0ed8faa4", "level": "none", "message": {"text": "Commented-code block (7 lines) in test/runtime-loader.test.js:80"}, "properties": {"repobilityId": "f2bd8c63a0b957db", "scanner": "scanner-primary", "fingerprint": "e58c98dc0ed8faa4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8002b8291c560832", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/concurrency.test.js:86"}, "properties": {"repobilityId": "aabe02a7d011ea83", "scanner": "scanner-primary", "fingerprint": "8002b8291c560832", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46c2a11d8a9349de", "level": "none", "message": {"text": "Commented-code block (7 lines) in test/hints.test.js:447"}, "properties": {"repobilityId": "5da8393fd4faefa0", "scanner": "scanner-primary", "fingerprint": "46c2a11d8a9349de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-063937ec0cfafaa2", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/agents.test.js:1011"}, "properties": {"repobilityId": "cb6eeb1995d2dea4", "scanner": "scanner-primary", "fingerprint": "063937ec0cfafaa2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b0eecf98d729bd9", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/utils.test.js:1279"}, "properties": {"repobilityId": "2bf31f7cded5a5ea", "scanner": "scanner-primary", "fingerprint": "7b0eecf98d729bd9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e15b1654c65f4e39", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/runner-entrypoint.test.js:376"}, "properties": {"repobilityId": "118f842bab098546", "scanner": "scanner-primary", "fingerprint": "e15b1654c65f4e39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-275a88e8b29867eb", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/server/index.js:32"}, "properties": {"repobilityId": "9ebfe113f04be522", "scanner": "scanner-primary", "fingerprint": "275a88e8b29867eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}