{"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-a361f7491335d27d", "name": "Stray `console.log` in TS/JS \u2014 src/cli/commands/benchmark.ts:459", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/benchmark.ts:459"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7116d619b99ca31b", "name": "Stray `console.log` in TS/JS \u2014 src/cli/commands/status.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/status.ts: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-57baa0a925cac088", "name": "Stray `console.log` in TS/JS \u2014 src/cli/commands/count.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/count.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-8f447caf1902a49b", "name": "Stray `console.log` in TS/JS \u2014 src/cli/commands/uninstall.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/uninstall.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7295f0b4bed5ad3", "name": "Stray `console.log` in TS/JS \u2014 src/cli/commands/report.ts:648", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/report.ts: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-b23a161b75cdba4d", "name": "Stray `console.log` in TS/JS \u2014 src/cli/commands/init.ts:123", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/init.ts:123"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b13cb29af0cd5ffd", "name": "Stray `console.log` in TS/JS \u2014 src/cli/commands/set-mode.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/set-mode.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2cee9f5461666d4c", "name": "Stray `console.log` in TS/JS \u2014 src/cli/commands/stats.ts:59", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/stats.ts:59"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b175bdf34c8308d4", "name": "Stray `console.log` in TS/JS \u2014 src/cli/commands/savings.ts:139", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/savings.ts:139"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4851398512bdff0e", "name": "TODO/FIXME marker in shipping code \u2014 test/engine/marker-styles.test.ts:278", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 test/engine/marker-styles.test.ts:278"}, "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-753a0620322686d1", "name": "Insecure pattern 'node_child_process' in src/paths.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/paths.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-13150418ea96624d", "name": "Insecure pattern 'exec_used' in src/cli/commands/benchmark.ts:152", "shortDescription": {"text": "Insecure pattern 'exec_used' in src/cli/commands/benchmark.ts:152"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e6f440b99d08d38c", "name": "Insecure pattern 'node_child_process' in src/cli/commands/benchmark.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/cli/commands/benchmark.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-e602535473eb7327", "name": "Insecure pattern 'node_child_process' in src/bench/cell.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/bench/cell.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-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-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 398 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-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-61bda1b3d8db3524", "name": "Commented-code block (5 lines) in src/opencode-plugin-entry.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/opencode-plugin-entry.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-aea02c3f35f5a0d3", "name": "Commented-code block (25 lines) in src/adapters/copilot.ts:28", "shortDescription": {"text": "Commented-code block (25 lines) in src/adapters/copilot.ts:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6e3c705ab1c64ae3", "name": "Commented-code block (9 lines) in src/adapters/cursor.ts:21", "shortDescription": {"text": "Commented-code block (9 lines) in src/adapters/cursor.ts:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d74be1d926b281ab", "name": "Commented-code block (7 lines) in src/adapters/opencode.ts:13", "shortDescription": {"text": "Commented-code block (7 lines) in src/adapters/opencode.ts: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-d9d18aa3c4aeafce", "name": "Commented-code block (9 lines) in src/hook/copilot.ts:17", "shortDescription": {"text": "Commented-code block (9 lines) in src/hook/copilot.ts:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-13c51ab2c31e1e45", "name": "Commented-code block (6 lines) in src/hook/core.ts:15", "shortDescription": {"text": "Commented-code block (6 lines) in src/hook/core.ts:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8d3f360c900d6fae", "name": "Commented-code block (5 lines) in src/hook/opencode.ts:24", "shortDescription": {"text": "Commented-code block (5 lines) in src/hook/opencode.ts:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b39ece260223d1d2", "name": "Commented-code block (8 lines) in src/hook/recovery.ts:7", "shortDescription": {"text": "Commented-code block (8 lines) in src/hook/recovery.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-44c30bd6f540bc70", "name": "Commented-code block (5 lines) in src/ledger/write.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/ledger/write.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-f655b30814799d40", "name": "Commented-code block (6 lines) in src/ledger/report.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/ledger/report.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-363cc6eb1f282b97", "name": "Commented-code block (8 lines) in src/engine/index.ts:48", "shortDescription": {"text": "Commented-code block (8 lines) in src/engine/index.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-153f2a7302228be4", "name": "Commented-code block (7 lines) in src/bench/runner.ts:90", "shortDescription": {"text": "Commented-code block (7 lines) in src/bench/runner.ts:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f4c1499badda28c5", "name": "Commented-code block (10 lines) in src/bench/cell.ts:212", "shortDescription": {"text": "Commented-code block (10 lines) in src/bench/cell.ts:212"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bb118ccd42077269", "name": "Commented-code block (5 lines) in test/adapters/opencode.test.ts:16", "shortDescription": {"text": "Commented-code block (5 lines) in test/adapters/opencode.test.ts: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-8ba79f9bb48aa966", "name": "Legacy-named symbol `oursOld` in test/adapters/claude-code.test.ts:335", "shortDescription": {"text": "Legacy-named symbol `oursOld` in test/adapters/claude-code.test.ts:335"}, "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-01065e4de2267cbc", "name": "Commented-code block (9 lines) in test/hook/exit.test.ts:14", "shortDescription": {"text": "Commented-code block (9 lines) in test/hook/exit.test.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-81c4a203c8efb0e8", "name": "Commented-code block (5 lines) in test/hook/opencode-bundle.test.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in test/hook/opencode-bundle.test.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f30849d71fc3c45a", "name": "Commented-code block (5 lines) in test/hook/post-tool-use.test.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in test/hook/post-tool-use.test.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-43577e3cd29a39f3", "name": "Commented-code block (5 lines) in test/hook/opencode.test.ts:15", "shortDescription": {"text": "Commented-code block (5 lines) in test/hook/opencode.test.ts:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7373146e0c82d7ad", "name": "Commented-code block (5 lines) in test/hook/bundle.test.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in test/hook/bundle.test.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-fd1d87057db35440", "name": "Commented-code block (5 lines) in test/hook/copilot.test.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in test/hook/copilot.test.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eac4338fb6d69ff9", "name": "Commented-code block (5 lines) in test/hook/recovery.test.ts:22", "shortDescription": {"text": "Commented-code block (5 lines) in test/hook/recovery.test.ts:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e6fa7d144bcc7ef2", "name": "Commented-code block (10 lines) in test/hook/worthwhile-floor.test.ts:7", "shortDescription": {"text": "Commented-code block (10 lines) in test/hook/worthwhile-floor.test.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-1f854dc820bb7cdb", "name": "Commented-code block (5 lines) in test/paths/hook-command.test.ts:73", "shortDescription": {"text": "Commented-code block (5 lines) in test/paths/hook-command.test.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-c888af08462a5173", "name": "Commented-code block (13 lines) in test/fixtures/fake-claude.mjs:2", "shortDescription": {"text": "Commented-code block (13 lines) in test/fixtures/fake-claude.mjs:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c6499a3816f4d46", "name": "Commented-code block (6 lines) in test/engine/compress.test.ts:107", "shortDescription": {"text": "Commented-code block (6 lines) in test/engine/compress.test.ts:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c8f28c6b2c66b4b", "name": "Commented-code block (6 lines) in test/bench/cell-env.test.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in test/bench/cell-env.test.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5174543fe659112", "name": "Commented-code block (5 lines) in test/bench/runner.test.ts:273", "shortDescription": {"text": "Commented-code block (5 lines) in test/bench/runner.test.ts:273"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc4b153e35d28b3c", "name": "Commented-code block (5 lines) in bench/fixtures/wide-refactor/manifest.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in bench/fixtures/wide-refactor/manifest.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8b640fd872a70f46", "name": "Commented-code block (5 lines) in bench/fixtures/wide-refactor/beacon.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in bench/fixtures/wide-refactor/beacon.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7f2dc46e347ca227", "name": "Commented-code block (5 lines) in bench/fixtures/wide-refactor/telemetry.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in bench/fixtures/wide-refactor/telemetry.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c7d0d537047889f", "name": "Commented-code block (5 lines) in bench/fixtures/huge-log-diagnosis/util.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in bench/fixtures/huge-log-diagnosis/util.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/24251"}, "properties": {"repository": "anvanster/compressor", "repoUrl": "https://github.com/anvanster/compressor", "branch": "main"}, "results": [{"ruleId": "scanner-a361f7491335d27d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/benchmark.ts:459"}, "properties": {"repobilityId": "606a3ea668922d74", "scanner": "scanner-primary", "fingerprint": "a361f7491335d27d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7116d619b99ca31b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/status.ts:11"}, "properties": {"repobilityId": "5f6099c3502da1e0", "scanner": "scanner-primary", "fingerprint": "7116d619b99ca31b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57baa0a925cac088", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/count.ts:17"}, "properties": {"repobilityId": "e8c792aff8866136", "scanner": "scanner-primary", "fingerprint": "57baa0a925cac088", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8f447caf1902a49b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/uninstall.ts:19"}, "properties": {"repobilityId": "2deaf4d6e1c6292d", "scanner": "scanner-primary", "fingerprint": "8f447caf1902a49b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f7295f0b4bed5ad3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/report.ts:648"}, "properties": {"repobilityId": "56d4109e7eb5ce92", "scanner": "scanner-primary", "fingerprint": "f7295f0b4bed5ad3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b23a161b75cdba4d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/init.ts:123"}, "properties": {"repobilityId": "02c9f63024ea958c", "scanner": "scanner-primary", "fingerprint": "b23a161b75cdba4d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b13cb29af0cd5ffd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/set-mode.ts:15"}, "properties": {"repobilityId": "9d13c926e81a23e1", "scanner": "scanner-primary", "fingerprint": "b13cb29af0cd5ffd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2cee9f5461666d4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/stats.ts:59"}, "properties": {"repobilityId": "b83e96c09a262566", "scanner": "scanner-primary", "fingerprint": "2cee9f5461666d4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b175bdf34c8308d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/commands/savings.ts:139"}, "properties": {"repobilityId": "5efb0e9e2a378994", "scanner": "scanner-primary", "fingerprint": "b175bdf34c8308d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4851398512bdff0e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 test/engine/marker-styles.test.ts:278"}, "properties": {"repobilityId": "67fd157b03df68f5", "scanner": "scanner-primary", "fingerprint": "4851398512bdff0e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-753a0620322686d1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/paths.ts:1"}, "properties": {"repobilityId": "5b9d0a1dc62c3261", "scanner": "scanner-primary", "fingerprint": "753a0620322686d1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/paths.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-13150418ea96624d", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in src/cli/commands/benchmark.ts:152"}, "properties": {"repobilityId": "e77fe4f75219320a", "scanner": "scanner-primary", "fingerprint": "13150418ea96624d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/cli/commands/benchmark.ts"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-e6f440b99d08d38c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/cli/commands/benchmark.ts:1"}, "properties": {"repobilityId": "56d9e0034871b590", "scanner": "scanner-primary", "fingerprint": "e6f440b99d08d38c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/cli/commands/benchmark.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e602535473eb7327", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/bench/cell.ts:1"}, "properties": {"repobilityId": "65fa6e2bb9ba8531", "scanner": "scanner-primary", "fingerprint": "e602535473eb7327", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/bench/cell.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "b86179956da3a4a8", "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-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "59529b3cc148f313", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "524fa166aa0c5430", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-61bda1b3d8db3524", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/opencode-plugin-entry.ts:3"}, "properties": {"repobilityId": "00b4eea715ddf517", "scanner": "scanner-primary", "fingerprint": "61bda1b3d8db3524", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aea02c3f35f5a0d3", "level": "none", "message": {"text": "Commented-code block (25 lines) in src/adapters/copilot.ts:28"}, "properties": {"repobilityId": "2dee73d5ccc01508", "scanner": "scanner-primary", "fingerprint": "aea02c3f35f5a0d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e3c705ab1c64ae3", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/adapters/cursor.ts:21"}, "properties": {"repobilityId": "2c6976223b8cf7a9", "scanner": "scanner-primary", "fingerprint": "6e3c705ab1c64ae3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d74be1d926b281ab", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/adapters/opencode.ts:13"}, "properties": {"repobilityId": "dba45607d660ded3", "scanner": "scanner-primary", "fingerprint": "d74be1d926b281ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9d18aa3c4aeafce", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/hook/copilot.ts:17"}, "properties": {"repobilityId": "714afd4677c1ccad", "scanner": "scanner-primary", "fingerprint": "d9d18aa3c4aeafce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13c51ab2c31e1e45", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/hook/core.ts:15"}, "properties": {"repobilityId": "abe6e2008a9e61c8", "scanner": "scanner-primary", "fingerprint": "13c51ab2c31e1e45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d3f360c900d6fae", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/hook/opencode.ts:24"}, "properties": {"repobilityId": "93e9b66fe121db5b", "scanner": "scanner-primary", "fingerprint": "8d3f360c900d6fae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b39ece260223d1d2", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/hook/recovery.ts:7"}, "properties": {"repobilityId": "6dde703ea7465a1d", "scanner": "scanner-primary", "fingerprint": "b39ece260223d1d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44c30bd6f540bc70", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/ledger/write.ts:7"}, "properties": {"repobilityId": "73e13848bd1decba", "scanner": "scanner-primary", "fingerprint": "44c30bd6f540bc70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f655b30814799d40", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/ledger/report.ts:3"}, "properties": {"repobilityId": "ca2d9d2cf45af490", "scanner": "scanner-primary", "fingerprint": "f655b30814799d40", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-363cc6eb1f282b97", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/engine/index.ts:48"}, "properties": {"repobilityId": "6e43142ad5c23cc2", "scanner": "scanner-primary", "fingerprint": "363cc6eb1f282b97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-153f2a7302228be4", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/bench/runner.ts:90"}, "properties": {"repobilityId": "1216af90862c00a6", "scanner": "scanner-primary", "fingerprint": "153f2a7302228be4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4c1499badda28c5", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/bench/cell.ts:212"}, "properties": {"repobilityId": "28a28dcb7da3bf02", "scanner": "scanner-primary", "fingerprint": "f4c1499badda28c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb118ccd42077269", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/adapters/opencode.test.ts:16"}, "properties": {"repobilityId": "6c1af3bb93d7aef2", "scanner": "scanner-primary", "fingerprint": "bb118ccd42077269", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ba79f9bb48aa966", "level": "note", "message": {"text": "Legacy-named symbol `oursOld` in test/adapters/claude-code.test.ts:335"}, "properties": {"repobilityId": "c9c4d267c4256564", "scanner": "scanner-primary", "fingerprint": "8ba79f9bb48aa966", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-01065e4de2267cbc", "level": "none", "message": {"text": "Commented-code block (9 lines) in test/hook/exit.test.ts:14"}, "properties": {"repobilityId": "a6c74315bd253108", "scanner": "scanner-primary", "fingerprint": "01065e4de2267cbc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81c4a203c8efb0e8", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/hook/opencode-bundle.test.ts:11"}, "properties": {"repobilityId": "796e5a95b067d96a", "scanner": "scanner-primary", "fingerprint": "81c4a203c8efb0e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f30849d71fc3c45a", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/hook/post-tool-use.test.ts:11"}, "properties": {"repobilityId": "f30cac89235ee04b", "scanner": "scanner-primary", "fingerprint": "f30849d71fc3c45a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-43577e3cd29a39f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/hook/opencode.test.ts:15"}, "properties": {"repobilityId": "7e28451c36913ea8", "scanner": "scanner-primary", "fingerprint": "43577e3cd29a39f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7373146e0c82d7ad", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/hook/bundle.test.ts:9"}, "properties": {"repobilityId": "8fe896cf574b62de", "scanner": "scanner-primary", "fingerprint": "7373146e0c82d7ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd1d87057db35440", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/hook/copilot.test.ts:10"}, "properties": {"repobilityId": "28cd653e8bfaa11d", "scanner": "scanner-primary", "fingerprint": "fd1d87057db35440", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eac4338fb6d69ff9", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/hook/recovery.test.ts:22"}, "properties": {"repobilityId": "ea5d173810c0895d", "scanner": "scanner-primary", "fingerprint": "eac4338fb6d69ff9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6fa7d144bcc7ef2", "level": "none", "message": {"text": "Commented-code block (10 lines) in test/hook/worthwhile-floor.test.ts:7"}, "properties": {"repobilityId": "9860e3a95ab83918", "scanner": "scanner-primary", "fingerprint": "e6fa7d144bcc7ef2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f854dc820bb7cdb", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/paths/hook-command.test.ts:73"}, "properties": {"repobilityId": "4ee5b79426313951", "scanner": "scanner-primary", "fingerprint": "1f854dc820bb7cdb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c888af08462a5173", "level": "none", "message": {"text": "Commented-code block (13 lines) in test/fixtures/fake-claude.mjs:2"}, "properties": {"repobilityId": "595690cf70f9b4b8", "scanner": "scanner-primary", "fingerprint": "c888af08462a5173", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c6499a3816f4d46", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/engine/compress.test.ts:107"}, "properties": {"repobilityId": "508160013f62ed56", "scanner": "scanner-primary", "fingerprint": "1c6499a3816f4d46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c8f28c6b2c66b4b", "level": "none", "message": {"text": "Commented-code block (6 lines) in test/bench/cell-env.test.ts:10"}, "properties": {"repobilityId": "ba9107ea05c56e5a", "scanner": "scanner-primary", "fingerprint": "9c8f28c6b2c66b4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5174543fe659112", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/bench/runner.test.ts:273"}, "properties": {"repobilityId": "2652a22119e1fcfe", "scanner": "scanner-primary", "fingerprint": "b5174543fe659112", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc4b153e35d28b3c", "level": "none", "message": {"text": "Commented-code block (5 lines) in bench/fixtures/wide-refactor/manifest.mjs:3"}, "properties": {"repobilityId": "83dc78052c1b7dd7", "scanner": "scanner-primary", "fingerprint": "bc4b153e35d28b3c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b640fd872a70f46", "level": "none", "message": {"text": "Commented-code block (5 lines) in bench/fixtures/wide-refactor/beacon.mjs:3"}, "properties": {"repobilityId": "efbc1b7c1a46af2b", "scanner": "scanner-primary", "fingerprint": "8b640fd872a70f46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f2dc46e347ca227", "level": "none", "message": {"text": "Commented-code block (5 lines) in bench/fixtures/wide-refactor/telemetry.mjs:3"}, "properties": {"repobilityId": "c3e174398ee42aea", "scanner": "scanner-primary", "fingerprint": "7f2dc46e347ca227", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c7d0d537047889f", "level": "none", "message": {"text": "Commented-code block (5 lines) in bench/fixtures/huge-log-diagnosis/util.mjs:3"}, "properties": {"repobilityId": "54fd9bd08dac0787", "scanner": "scanner-primary", "fingerprint": "3c7d0d537047889f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}