{"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-9834cf405c21fc91", "name": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/doc-sources-config-cli.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/doc-sources-config-cli.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-30de829ca80f4ea7", "name": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/episodic-search-cli.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/episodic-search-cli.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37382cc5fef06df2", "name": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/graph-neighbors-cli.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/graph-neighbors-cli.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-caa09c88707903e6", "name": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/raw-scan-cli.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/raw-scan-cli.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-4c9c4219570da196", "name": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/context-serve-cli.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/context-serve-cli.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8b483adae9b95a3", "name": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/knowledge-search-cli.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/knowledge-search-cli.ts:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e3674f1922692217", "name": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/raw-capture-cli.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/raw-capture-cli.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-559cd8c70551ecec", "name": "Privileged port 1 in use", "shortDescription": {"text": "Privileged port 1 in use"}, "fullDescription": {"text": "Port 1 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-a4400030d483e4e3", "name": "Privileged port 2 in use", "shortDescription": {"text": "Privileged port 2 in use"}, "fullDescription": {"text": "Port 2 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-500ef7685132de24", "name": "Privileged port 3 in use", "shortDescription": {"text": "Privileged port 3 in use"}, "fullDescription": {"text": "Port 3 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-36418431cd5fc51e", "name": "Privileged port 4 in use", "shortDescription": {"text": "Privileged port 4 in use"}, "fullDescription": {"text": "Port 4 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-60ca66b1ccca8e99", "name": "Privileged port 10 in use", "shortDescription": {"text": "Privileged port 10 in use"}, "fullDescription": {"text": "Port 10 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c44abbebe7fb5bf", "name": "Privileged port 11 in use", "shortDescription": {"text": "Privileged port 11 in use"}, "fullDescription": {"text": "Port 11 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b30f948adf18d295", "name": "Privileged port 15 in use", "shortDescription": {"text": "Privileged port 15 in use"}, "fullDescription": {"text": "Port 15 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d2f6dd49bbb2fc9", "name": "Privileged port 37 in use", "shortDescription": {"text": "Privileged port 37 in use"}, "fullDescription": {"text": "Port 37 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2f2364036289de52", "name": "Privileged port 16 in use", "shortDescription": {"text": "Privileged port 16 in use"}, "fullDescription": {"text": "Port 16 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4eb06669cb96c166", "name": "Privileged port 5 in use", "shortDescription": {"text": "Privileged port 5 in use"}, "fullDescription": {"text": "Port 5 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-d449879591d4dec6", "name": "Privileged port 20 in use", "shortDescription": {"text": "Privileged port 20 in use"}, "fullDescription": {"text": "Port 20 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-007dd0c827d98bad", "name": "Privileged port 12 in use", "shortDescription": {"text": "Privileged port 12 in use"}, "fullDescription": {"text": "Port 12 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8234d0b8304ff15b", "name": "Privileged port 976 in use", "shortDescription": {"text": "Privileged port 976 in use"}, "fullDescription": {"text": "Port 976 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-66d077f380df0258", "name": "Possible secret in tests/test-flow-guard.sh", "shortDescription": {"text": "Possible secret in tests/test-flow-guard.sh"}, "fullDescription": {"text": "Detected pattern matching github_token. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-82476587257c4c82", "name": "Possible secret in tests/test-session-load-auth-banner.sh", "shortDescription": {"text": "Possible secret in tests/test-session-load-auth-banner.sh"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-36dbe801441b7159", "name": "Insecure pattern 'node_child_process' in mcp/src/tools/persona-think.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in mcp/src/tools/persona-think.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-27cc7715729a4eb7", "name": "Insecure pattern 'node_child_process' in mcp/src/tools/doc-sources.ts:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in mcp/src/tools/doc-sources.ts:4"}, "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-87e54cf08af61b8c", "name": "Insecure pattern 'exec_used' in mcp/src/tools/dream.ts:143", "shortDescription": {"text": "Insecure pattern 'exec_used' in mcp/src/tools/dream.ts:143"}, "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-4d1d020c2b9004a9", "name": "Insecure pattern 'node_child_process' in mcp/src/tools/dream.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in mcp/src/tools/dream.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-58bd2d56d3213eb1", "name": "Insecure pattern 'node_child_process' in mcp/src/cli/sb.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in mcp/src/cli/sb.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-8bab6790c107bd2b", "name": "Possible secret in mcp/test/sb-cli.test.ts", "shortDescription": {"text": "Possible secret in mcp/test/sb-cli.test.ts"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-322e33c71b7bef0b", "name": "Very large file: scripts/lib.sh (1368 lines)", "shortDescription": {"text": "Very large file: scripts/lib.sh (1368 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 41 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-283e63d4a1b25941", "name": "Agent authority lacks a verifier contract: cost-router/skills/orchestrate/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: cost-router/skills/orchestrate/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2f749d300e252bbf", "name": "Agent authority lacks a verifier contract: skills/think/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/think/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-986e32357caa1d1e", "name": "Agent authority lacks a verifier contract: skills/lint/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/lint/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-730a109ce82a9825", "name": "Agent authority lacks a verifier contract: skills/using-second-brain/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/using-second-brain/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fcc69bc446b5cc5e", "name": "Agent authority lacks a verifier contract: skills/maintain/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/maintain/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b88542646cdacc8c", "name": "Agent authority lacks a verifier contract: skills/code-review-deep/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/code-review-deep/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e449b8c4f3291cc", "name": "Agent authority lacks a verifier contract: skills/dream/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/dream/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1021bd2b00a5b88", "name": "Agent authority lacks a verifier contract: skills/audit/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/audit/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aa20760c7d082dc7", "name": "Agent authority lacks a verifier contract: skills/query/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/query/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-048b927425f4448f", "name": "Commented-code block (5 lines) in mcp/src/tools/ai-block-render-cli.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in mcp/src/tools/ai-block-render-cli.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-2d8e4d2394ed9851", "name": "Commented-code block (7 lines) in mcp/src/tools/raw-scan.ts:10", "shortDescription": {"text": "Commented-code block (7 lines) in mcp/src/tools/raw-scan.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-788d38bf1a9dfd95", "name": "Commented-code block (7 lines) in mcp/src/tools/graph-project.ts:28", "shortDescription": {"text": "Commented-code block (7 lines) in mcp/src/tools/graph-project.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-13f6c9a33d165c2b", "name": "Commented-code block (5 lines) in mcp/src/tools/embeddings.ts:46", "shortDescription": {"text": "Commented-code block (5 lines) in mcp/src/tools/embeddings.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-011c4f17e31d6eb7", "name": "Commented-code block (8 lines) in mcp/src/tools/context-serve-cli.ts:5", "shortDescription": {"text": "Commented-code block (8 lines) in mcp/src/tools/context-serve-cli.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa0bdf0556d00719", "name": "Commented-code block (8 lines) in mcp/src/tools/knowledge-search.test.ts:78", "shortDescription": {"text": "Commented-code block (8 lines) in mcp/src/tools/knowledge-search.test.ts:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98ec58af2bd692f0", "name": "Commented-code block (5 lines) in mcp/src/tools/knowledge-search.ts:72", "shortDescription": {"text": "Commented-code block (5 lines) in mcp/src/tools/knowledge-search.ts:72"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-174c986c59f2f6d9", "name": "Commented-code block (6 lines) in mcp/src/tools/knowledge-validate.ts:95", "shortDescription": {"text": "Commented-code block (6 lines) in mcp/src/tools/knowledge-validate.ts:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da0a4c2516c21c28", "name": "Commented-code block (9 lines) in mcp/src/tools/episodic-search.ts:475", "shortDescription": {"text": "Commented-code block (9 lines) in mcp/src/tools/episodic-search.ts:475"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da16d3305ba1742f", "name": "Commented-code block (9 lines) in mcp/src/cli/sb.ts:62", "shortDescription": {"text": "Commented-code block (9 lines) in mcp/src/cli/sb.ts:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ad2d897120487e3", "name": "Commented-code block (7 lines) in mcp/test/episodic-index.test.ts:68", "shortDescription": {"text": "Commented-code block (7 lines) in mcp/test/episodic-index.test.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b4411db87a0db8a", "name": "Commented-code block (7 lines) in mcp/test/sb-cli.test.ts:129", "shortDescription": {"text": "Commented-code block (7 lines) in mcp/test/sb-cli.test.ts:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/24794"}, "properties": {"repository": "Cain-Ish/claude-code-plugin", "repoUrl": "https://github.com/Cain-Ish/claude-code-plugin", "branch": "main"}, "results": [{"ruleId": "scanner-9834cf405c21fc91", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/doc-sources-config-cli.ts:17"}, "properties": {"repobilityId": "864e23eec0c87417", "scanner": "scanner-primary", "fingerprint": "9834cf405c21fc91", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-30de829ca80f4ea7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/episodic-search-cli.ts:26"}, "properties": {"repobilityId": "f40a05a485012b23", "scanner": "scanner-primary", "fingerprint": "30de829ca80f4ea7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-37382cc5fef06df2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/graph-neighbors-cli.ts:16"}, "properties": {"repobilityId": "2dbb61624809216d", "scanner": "scanner-primary", "fingerprint": "37382cc5fef06df2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-caa09c88707903e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/raw-scan-cli.ts:17"}, "properties": {"repobilityId": "9a342a6349a7d57a", "scanner": "scanner-primary", "fingerprint": "caa09c88707903e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c9c4219570da196", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/context-serve-cli.ts:61"}, "properties": {"repobilityId": "eef359c04f482138", "scanner": "scanner-primary", "fingerprint": "4c9c4219570da196", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e8b483adae9b95a3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/knowledge-search-cli.ts:27"}, "properties": {"repobilityId": "a3e33727a0080470", "scanner": "scanner-primary", "fingerprint": "e8b483adae9b95a3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e3674f1922692217", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 mcp/src/tools/raw-capture-cli.ts:23"}, "properties": {"repobilityId": "b295f17382cb1305", "scanner": "scanner-primary", "fingerprint": "e3674f1922692217", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-559cd8c70551ecec", "level": "warning", "message": {"text": "Privileged port 1 in use"}, "properties": {"repobilityId": "ddf3fa6c29abb8d2", "scanner": "scanner-primary", "fingerprint": "559cd8c70551ecec", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-wiki-archived-slugs.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4400030d483e4e3", "level": "warning", "message": {"text": "Privileged port 2 in use"}, "properties": {"repobilityId": "755b04866010e843", "scanner": "scanner-primary", "fingerprint": "a4400030d483e4e3", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-wiki-archived-slugs.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-500ef7685132de24", "level": "warning", "message": {"text": "Privileged port 3 in use"}, "properties": {"repobilityId": "261b7b1c6a18d412", "scanner": "scanner-primary", "fingerprint": "500ef7685132de24", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-wiki-archived-slugs.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-36418431cd5fc51e", "level": "warning", "message": {"text": "Privileged port 4 in use"}, "properties": {"repobilityId": "1594bfeff919296e", "scanner": "scanner-primary", "fingerprint": "36418431cd5fc51e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-wiki-archived-slugs.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-60ca66b1ccca8e99", "level": "warning", "message": {"text": "Privileged port 10 in use"}, "properties": {"repobilityId": "735372d6b5594915", "scanner": "scanner-primary", "fingerprint": "60ca66b1ccca8e99", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-merge-edges-conflict.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c44abbebe7fb5bf", "level": "warning", "message": {"text": "Privileged port 11 in use"}, "properties": {"repobilityId": "5b3038c67fabb4c8", "scanner": "scanner-primary", "fingerprint": "6c44abbebe7fb5bf", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-merge-edges-conflict.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b30f948adf18d295", "level": "warning", "message": {"text": "Privileged port 15 in use"}, "properties": {"repobilityId": "3340f9a170f285cd", "scanner": "scanner-primary", "fingerprint": "b30f948adf18d295", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-dream-nudge.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d2f6dd49bbb2fc9", "level": "warning", "message": {"text": "Privileged port 37 in use"}, "properties": {"repobilityId": "3bc0728a81a76695", "scanner": "scanner-primary", "fingerprint": "1d2f6dd49bbb2fc9", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-dream-nudge.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f2364036289de52", "level": "warning", "message": {"text": "Privileged port 16 in use"}, "properties": {"repobilityId": "d31009168c502ace", "scanner": "scanner-primary", "fingerprint": "2f2364036289de52", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-dream-nudge.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4eb06669cb96c166", "level": "warning", "message": {"text": "Privileged port 5 in use"}, "properties": {"repobilityId": "a8f80b4866464301", "scanner": "scanner-primary", "fingerprint": "4eb06669cb96c166", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-cost-router-capture.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d449879591d4dec6", "level": "warning", "message": {"text": "Privileged port 20 in use"}, "properties": {"repobilityId": "a59f3e53d617e0f8", "scanner": "scanner-primary", "fingerprint": "d449879591d4dec6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-cost-router-capture.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-007dd0c827d98bad", "level": "warning", "message": {"text": "Privileged port 12 in use"}, "properties": {"repobilityId": "65e7eefa33f2def4", "scanner": "scanner-primary", "fingerprint": "007dd0c827d98bad", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-cost-router-capture.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8234d0b8304ff15b", "level": "warning", "message": {"text": "Privileged port 976 in use"}, "properties": {"repobilityId": "208e866f767ef5d5", "scanner": "scanner-primary", "fingerprint": "8234d0b8304ff15b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/session-load.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-66d077f380df0258", "level": "error", "message": {"text": "Possible secret in tests/test-flow-guard.sh"}, "properties": {"repobilityId": "f0e146b59835937d", "scanner": "scanner-primary", "fingerprint": "66d077f380df0258", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-flow-guard.sh"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-66d077f380df0258", "level": "error", "message": {"text": "Possible secret in tests/test-flow-guard.sh"}, "properties": {"repobilityId": "f0e146b59835937d", "scanner": "scanner-primary", "fingerprint": "66d077f380df0258", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-flow-guard.sh"}, "region": {"startLine": 100}}}]}, {"ruleId": "scanner-82476587257c4c82", "level": "error", "message": {"text": "Possible secret in tests/test-session-load-auth-banner.sh"}, "properties": {"repobilityId": "3ccae15954ba248e", "scanner": "scanner-primary", "fingerprint": "82476587257c4c82", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test-session-load-auth-banner.sh"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-36dbe801441b7159", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in mcp/src/tools/persona-think.ts:1"}, "properties": {"repobilityId": "97c1501f7ec7327c", "scanner": "scanner-primary", "fingerprint": "36dbe801441b7159", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp/src/tools/persona-think.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27cc7715729a4eb7", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in mcp/src/tools/doc-sources.ts:4"}, "properties": {"repobilityId": "e2af3ecc5046902b", "scanner": "scanner-primary", "fingerprint": "27cc7715729a4eb7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp/src/tools/doc-sources.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-87e54cf08af61b8c", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in mcp/src/tools/dream.ts:143"}, "properties": {"repobilityId": "418c183c01019e19", "scanner": "scanner-primary", "fingerprint": "87e54cf08af61b8c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp/src/tools/dream.ts"}, "region": {"startLine": 143}}}]}, {"ruleId": "scanner-4d1d020c2b9004a9", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in mcp/src/tools/dream.ts:3"}, "properties": {"repobilityId": "0f7fc984f0bcf175", "scanner": "scanner-primary", "fingerprint": "4d1d020c2b9004a9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp/src/tools/dream.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-58bd2d56d3213eb1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in mcp/src/cli/sb.ts:3"}, "properties": {"repobilityId": "b20f98c71674d1bf", "scanner": "scanner-primary", "fingerprint": "58bd2d56d3213eb1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp/src/cli/sb.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-8bab6790c107bd2b", "level": "error", "message": {"text": "Possible secret in mcp/test/sb-cli.test.ts"}, "properties": {"repobilityId": "9531fde25a0f7dec", "scanner": "scanner-primary", "fingerprint": "8bab6790c107bd2b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp/test/sb-cli.test.ts"}, "region": {"startLine": 158}}}]}, {"ruleId": "scanner-8bab6790c107bd2b", "level": "error", "message": {"text": "Possible secret in mcp/test/sb-cli.test.ts"}, "properties": {"repobilityId": "9531fde25a0f7dec", "scanner": "scanner-primary", "fingerprint": "8bab6790c107bd2b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp/test/sb-cli.test.ts"}, "region": {"startLine": 171}}}]}, {"ruleId": "scanner-322e33c71b7bef0b", "level": "note", "message": {"text": "Very large file: scripts/lib.sh (1368 lines)"}, "properties": {"repobilityId": "aebfc710f51a9333", "scanner": "scanner-primary", "fingerprint": "322e33c71b7bef0b", "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": "8bada3d70c32e12e", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-283e63d4a1b25941", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: cost-router/skills/orchestrate/SKILL.md"}, "properties": {"repobilityId": "2116e74c427fb672", "scanner": "scanner-primary", "fingerprint": "283e63d4a1b25941", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cost-router/skills/orchestrate/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f749d300e252bbf", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/think/SKILL.md"}, "properties": {"repobilityId": "5a7c06e2e7c118b1", "scanner": "scanner-primary", "fingerprint": "2f749d300e252bbf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/think/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-986e32357caa1d1e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/lint/SKILL.md"}, "properties": {"repobilityId": "f9b44bf9839bb2e3", "scanner": "scanner-primary", "fingerprint": "986e32357caa1d1e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/lint/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-730a109ce82a9825", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/using-second-brain/SKILL.md"}, "properties": {"repobilityId": "c2d613c05dd1d54d", "scanner": "scanner-primary", "fingerprint": "730a109ce82a9825", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/using-second-brain/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fcc69bc446b5cc5e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/maintain/SKILL.md"}, "properties": {"repobilityId": "6b40f8302cf05a66", "scanner": "scanner-primary", "fingerprint": "fcc69bc446b5cc5e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/maintain/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b88542646cdacc8c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/code-review-deep/SKILL.md"}, "properties": {"repobilityId": "b31ee19a79cb4aaf", "scanner": "scanner-primary", "fingerprint": "b88542646cdacc8c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/code-review-deep/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e449b8c4f3291cc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/dream/SKILL.md"}, "properties": {"repobilityId": "ca95688bce534094", "scanner": "scanner-primary", "fingerprint": "6e449b8c4f3291cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/dream/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c1021bd2b00a5b88", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/audit/SKILL.md"}, "properties": {"repobilityId": "63ec8abe68e7f48c", "scanner": "scanner-primary", "fingerprint": "c1021bd2b00a5b88", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/audit/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aa20760c7d082dc7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/query/SKILL.md"}, "properties": {"repobilityId": "835fcfbfd5ff98d7", "scanner": "scanner-primary", "fingerprint": "aa20760c7d082dc7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/query/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-048b927425f4448f", "level": "none", "message": {"text": "Commented-code block (5 lines) in mcp/src/tools/ai-block-render-cli.ts:1"}, "properties": {"repobilityId": "6b8b1e7a760fbd4e", "scanner": "scanner-primary", "fingerprint": "048b927425f4448f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d8e4d2394ed9851", "level": "none", "message": {"text": "Commented-code block (7 lines) in mcp/src/tools/raw-scan.ts:10"}, "properties": {"repobilityId": "bd7b483907033109", "scanner": "scanner-primary", "fingerprint": "2d8e4d2394ed9851", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-788d38bf1a9dfd95", "level": "none", "message": {"text": "Commented-code block (7 lines) in mcp/src/tools/graph-project.ts:28"}, "properties": {"repobilityId": "7c29bad261c932d9", "scanner": "scanner-primary", "fingerprint": "788d38bf1a9dfd95", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13f6c9a33d165c2b", "level": "none", "message": {"text": "Commented-code block (5 lines) in mcp/src/tools/embeddings.ts:46"}, "properties": {"repobilityId": "a3fc8237de19ac97", "scanner": "scanner-primary", "fingerprint": "13f6c9a33d165c2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-011c4f17e31d6eb7", "level": "none", "message": {"text": "Commented-code block (8 lines) in mcp/src/tools/context-serve-cli.ts:5"}, "properties": {"repobilityId": "9b02a030d59031ec", "scanner": "scanner-primary", "fingerprint": "011c4f17e31d6eb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa0bdf0556d00719", "level": "none", "message": {"text": "Commented-code block (8 lines) in mcp/src/tools/knowledge-search.test.ts:78"}, "properties": {"repobilityId": "43e7954c909bcaf7", "scanner": "scanner-primary", "fingerprint": "aa0bdf0556d00719", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98ec58af2bd692f0", "level": "none", "message": {"text": "Commented-code block (5 lines) in mcp/src/tools/knowledge-search.ts:72"}, "properties": {"repobilityId": "02c7f3aa6bf9d3cb", "scanner": "scanner-primary", "fingerprint": "98ec58af2bd692f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-174c986c59f2f6d9", "level": "none", "message": {"text": "Commented-code block (6 lines) in mcp/src/tools/knowledge-validate.ts:95"}, "properties": {"repobilityId": "bddf669563071134", "scanner": "scanner-primary", "fingerprint": "174c986c59f2f6d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da0a4c2516c21c28", "level": "none", "message": {"text": "Commented-code block (9 lines) in mcp/src/tools/episodic-search.ts:475"}, "properties": {"repobilityId": "aeae994bbf795a97", "scanner": "scanner-primary", "fingerprint": "da0a4c2516c21c28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da16d3305ba1742f", "level": "none", "message": {"text": "Commented-code block (9 lines) in mcp/src/cli/sb.ts:62"}, "properties": {"repobilityId": "5655f97eaf08c8a0", "scanner": "scanner-primary", "fingerprint": "da16d3305ba1742f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ad2d897120487e3", "level": "none", "message": {"text": "Commented-code block (7 lines) in mcp/test/episodic-index.test.ts:68"}, "properties": {"repobilityId": "5f9531e723eb1a6c", "scanner": "scanner-primary", "fingerprint": "3ad2d897120487e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b4411db87a0db8a", "level": "none", "message": {"text": "Commented-code block (7 lines) in mcp/test/sb-cli.test.ts:129"}, "properties": {"repobilityId": "11df7a2cd985d3fa", "scanner": "scanner-primary", "fingerprint": "9b4411db87a0db8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}