{"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-8cb13debf7b625cb", "name": "Stray `console.log` in TS/JS \u2014 skills/workflow/writing-skills/render-graphs.js:124", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 skills/workflow/writing-skills/render-graphs.js:124"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6670c351546b8ef", "name": "Stray `console.log` in TS/JS \u2014 src/commands/run.ts:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/run.ts:135"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce79e5b2f12fe800", "name": "Stray `console.log` in TS/JS \u2014 src/commands/login.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/login.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d1b561babf04571", "name": "Stray `console.log` in TS/JS \u2014 src/commands/doctor.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/doctor.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74c57d856e4d0d96", "name": "Stray `console.log` in TS/JS \u2014 src/commands/open.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/open.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3711284005ab1e2", "name": "Stray `console.log` in TS/JS \u2014 src/commands/status.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/status.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04057703c1575aa4", "name": "Stray `console.log` in TS/JS \u2014 src/commands/cloud.ts:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/cloud.ts:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9bbacf6db42cc14a", "name": "Stray `console.log` in TS/JS \u2014 src/commands/mcp.ts:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/mcp.ts:54"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48a4ab2072cea3bc", "name": "Stray `console.log` in TS/JS \u2014 src/commands/skills.ts:353", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/skills.ts:353"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29a1cf92854f33b0", "name": "Stray `console.log` in TS/JS \u2014 src/commands/orchestrator.ts:115", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/orchestrator.ts:115"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80c38897e48f9009", "name": "Stray `console.log` in TS/JS \u2014 src/commands/create.ts:56", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/create.ts:56"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5fb79902ec7b4c80", "name": "Stray `console.log` in TS/JS \u2014 src/commands/logout.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/logout.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-ec0b764eb12e481e", "name": "Stray `console.log` in TS/JS \u2014 src/commands/plan.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/plan.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4997fd4893922713", "name": "Stray `console.log` in TS/JS \u2014 src/commands/list.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/list.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a34f2100bff23054", "name": "Stray `console.log` in TS/JS \u2014 src/commands/setup.ts:92", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/setup.ts:92"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a0de7e4e42b996e", "name": "Stray `console.log` in TS/JS \u2014 src/commands/install.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/install.ts:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07d5e2789b657072", "name": "Stray `console.log` in TS/JS \u2014 src/commands/memory.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/memory.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6aba5e106c62342b", "name": "Stray `console.log` in TS/JS \u2014 src/lib/banner.ts:134", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/banner.ts:134"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd56c52aee6b38b4", "name": "Insecure pattern 'direct_innerhtml_assignment' in skills/workflow/brainstorming/scripts/helper.js:57", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/workflow/brainstorming/scripts/helper.js:57"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-deef4692852940c1", "name": "Insecure pattern 'node_child_process' in skills/workflow/writing-skills/render-graphs.js:18", "shortDescription": {"text": "Insecure pattern 'node_child_process' in skills/workflow/writing-skills/render-graphs.js:18"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-188cbd69ba388dcd", "name": "Insecure pattern 'node_child_process' in src/commands/run.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/commands/run.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cc68cb7d59766735", "name": "Insecure pattern 'node_child_process' in src/commands/doctor.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/commands/doctor.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-84c4ece0dc1051e5", "name": "Insecure pattern 'node_child_process' in src/commands/orchestrator.ts:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/commands/orchestrator.ts:8"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-855eccd39e58d5c5", "name": "Insecure pattern 'node_child_process' in src/commands/setup.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/commands/setup.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-05ff18522dd4a1ad", "name": "Insecure pattern 'node_child_process' in src/commands/install.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/commands/install.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e988ace8919504cd", "name": "Insecure pattern 'node_child_process' in src/lib/cloud/checkpoint.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in src/lib/cloud/checkpoint.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-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 195 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-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing ci. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f06da9c0ab6c4a48", "name": "Agent instruction contains unpinned remote install: GEMINI.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: GEMINI.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cc55229a7a3c078d", "name": "Agent authority lacks a verifier contract: .mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9e8c3687795fa3d", "name": "Agent authority lacks a verifier contract: docs/CODEX.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: docs/CODEX.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-42564bf98b72a07b", "name": "Agent instruction contains unpinned remote install: docs/CODEX.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: docs/CODEX.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-815d8b45b385572a", "name": "Agent authority lacks a verifier contract: docs/CURSOR.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: docs/CURSOR.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-b41a06ba7ce2e259", "name": "Agent instruction contains unpinned remote install: docs/CURSOR.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: docs/CURSOR.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ac9ece1340713d21", "name": "Agent instruction/config may expose a secret: skills/ai-and-npcs/design-npc/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/ai-and-npcs/design-npc/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b19e635bb2e2400b", "name": "Agent instruction/config may expose a secret: skills/ui-and-ux/ui-basics/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/ui-and-ux/ui-basics/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b7ca5c4fd2f3db33", "name": "Agent authority lacks a verifier contract: skills/3d-assets/character-model/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/3d-assets/character-model/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-397820868d4a34a5", "name": "Agent instruction/config may expose a secret: skills/audio/audio-direction/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/audio/audio-direction/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d75c7a2ea323b84b", "name": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/hit-spark/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/hit-spark/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-c160c3a83ea4a089", "name": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/smoke/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/smoke/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-c9074614f54c1fb4", "name": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/fire/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/fire/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-1285fe320661284f", "name": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/magic-glow/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/magic-glow/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-3e6b3a47ea663a30", "name": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/muzzle-flash/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/muzzle-flash/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-6600ef1d167545ff", "name": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/water-ripple/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/water-ripple/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-e16a2eba726e9047", "name": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/dissolve/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/dissolve/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-d969f1939a1fff3e", "name": "Agent instruction contains unpinned remote install: skills/workflow/using-summer/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/workflow/using-summer/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ec8a344664e0fcee", "name": "Agent instruction/config may expose a secret: skills/multiplayer-and-networking/peer-to-peer-multiplayer/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/multiplayer-and-networking/peer-to-peer-multiplayer/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-62e3b84f8f9fddc2", "name": "Agent authority lacks a verifier contract: skills/2d-assets/use-widget-asset/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/2d-assets/use-widget-asset/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-8d4512d74840300a", "name": "Agent authority lacks a verifier contract: skills/2d-assets/concept-art/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/2d-assets/concept-art/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9515eae470c3bc7a", "name": "Agent authority lacks a verifier contract: skills/2d-assets/sprite-sheet/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/2d-assets/sprite-sheet/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-4f94646d79ea68cb", "name": "Agent instruction/config may expose a secret: skills/rendering-and-lighting/3d-lighting/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/rendering-and-lighting/3d-lighting/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2a6262280a4bfc58", "name": "Agent instruction/config may expose a secret: skills/rendering-and-lighting/art-direction/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/rendering-and-lighting/art-direction/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e10ed6ce6bb4fc77", "name": "Agent instruction/config may expose a secret: skills/animation/procedural-animation/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/animation/procedural-animation/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bead75225bed1e28", "name": "Agent authority lacks a verifier contract: skills/animation/procedural-animation/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/animation/procedural-animation/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-e1b3c1e6e49d5bf7", "name": "Agent authority lacks a verifier contract: skills/animation/facial-and-lipsync/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/animation/facial-and-lipsync/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-12075a32533b489f", "name": "Agent authority lacks a verifier contract: skills/scripting-patterns/gdscript-patterns/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/scripting-patterns/gdscript-patterns/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-a91bb22fa1b9e61a", "name": "Agent authority lacks a verifier contract: skills/asset-pipeline/asset-strategy/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/asset-pipeline/asset-strategy/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-5af24298e1861b17", "name": "Commented-code block (8 lines) in skills/workflow/investigating-bugs/condition-based-waiting-example.ts:140", "shortDescription": {"text": "Commented-code block (8 lines) in skills/workflow/investigating-bugs/condition-based-waiting-example.ts:140"}, "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-d4f82d0f3b716c71", "name": "Commented-code block (5 lines) in src/mcp/tools/with-engine.ts:15", "shortDescription": {"text": "Commented-code block (5 lines) in src/mcp/tools/with-engine.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-a089ece5749126ea", "name": "Legacy-named symbol `eleven_multilingual_v2` in src/mcp/tools/generate-tools.ts:372", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/mcp/tools/generate-tools.ts:372"}, "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-1adb0b278de71e06", "name": "Commented-code block (8 lines) in src/mcp/tools/generate-tools.ts:617", "shortDescription": {"text": "Commented-code block (8 lines) in src/mcp/tools/generate-tools.ts:617"}, "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-debebb9809e4e4ec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/commands/install.ts:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/commands/install.ts:21"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ee64bcb7921c59aa", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/commands/install.test.ts:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/commands/install.test.ts:14"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cd0cedc80d697c1f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/version-check.ts:95", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/version-check.ts:95"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8243e75ea8841635", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/remote-templates.ts:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/remote-templates.ts:60"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f6d32bd095482845", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/cloud/api.ts:128", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/cloud/api.ts:128"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dcacdbc0c57d4bdb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/cloud/http.ts:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/cloud/http.ts:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/20490"}, "properties": {"repository": "SummerEngine/summer-engine-agent", "repoUrl": "https://github.com/SummerEngine/summer-engine-agent", "branch": "main"}, "results": [{"ruleId": "scanner-8cb13debf7b625cb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 skills/workflow/writing-skills/render-graphs.js:124"}, "properties": {"repobilityId": "8a2f75c8c2745f6c", "scanner": "scanner-primary", "fingerprint": "8cb13debf7b625cb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e6670c351546b8ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/run.ts:135"}, "properties": {"repobilityId": "3eb792801c5818ec", "scanner": "scanner-primary", "fingerprint": "e6670c351546b8ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ce79e5b2f12fe800", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/login.ts:18"}, "properties": {"repobilityId": "fc97475fcc1798e2", "scanner": "scanner-primary", "fingerprint": "ce79e5b2f12fe800", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d1b561babf04571", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/doctor.ts:64"}, "properties": {"repobilityId": "5d621c7e12723d38", "scanner": "scanner-primary", "fingerprint": "6d1b561babf04571", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-74c57d856e4d0d96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/open.ts:30"}, "properties": {"repobilityId": "5c7e360d8782b0d3", "scanner": "scanner-primary", "fingerprint": "74c57d856e4d0d96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3711284005ab1e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/status.ts:10"}, "properties": {"repobilityId": "2f1888b825048c46", "scanner": "scanner-primary", "fingerprint": "a3711284005ab1e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04057703c1575aa4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/cloud.ts:89"}, "properties": {"repobilityId": "1fcf4350502766b5", "scanner": "scanner-primary", "fingerprint": "04057703c1575aa4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9bbacf6db42cc14a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/mcp.ts:54"}, "properties": {"repobilityId": "da763c35455bd702", "scanner": "scanner-primary", "fingerprint": "9bbacf6db42cc14a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48a4ab2072cea3bc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/skills.ts:353"}, "properties": {"repobilityId": "0403113830e1ef33", "scanner": "scanner-primary", "fingerprint": "48a4ab2072cea3bc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-29a1cf92854f33b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/orchestrator.ts:115"}, "properties": {"repobilityId": "4e33b5cad695d880", "scanner": "scanner-primary", "fingerprint": "29a1cf92854f33b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80c38897e48f9009", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/create.ts:56"}, "properties": {"repobilityId": "489b222deedf6f79", "scanner": "scanner-primary", "fingerprint": "80c38897e48f9009", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5fb79902ec7b4c80", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/logout.ts:23"}, "properties": {"repobilityId": "ffc7af480afbe3b0", "scanner": "scanner-primary", "fingerprint": "5fb79902ec7b4c80", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec0b764eb12e481e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/plan.ts:35"}, "properties": {"repobilityId": "4d6cc1a0b2ee41f2", "scanner": "scanner-primary", "fingerprint": "ec0b764eb12e481e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4997fd4893922713", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/list.ts:21"}, "properties": {"repobilityId": "7737f4cad84607bd", "scanner": "scanner-primary", "fingerprint": "4997fd4893922713", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a34f2100bff23054", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/setup.ts:92"}, "properties": {"repobilityId": "b271b3868cf3fe4a", "scanner": "scanner-primary", "fingerprint": "a34f2100bff23054", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a0de7e4e42b996e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/install.ts:68"}, "properties": {"repobilityId": "a80bd970592fbf05", "scanner": "scanner-primary", "fingerprint": "5a0de7e4e42b996e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-07d5e2789b657072", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/commands/memory.ts:31"}, "properties": {"repobilityId": "83147897ec37cd89", "scanner": "scanner-primary", "fingerprint": "07d5e2789b657072", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6aba5e106c62342b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/banner.ts:134"}, "properties": {"repobilityId": "cad3573ba97de777", "scanner": "scanner-primary", "fingerprint": "6aba5e106c62342b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-bd56c52aee6b38b4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in skills/workflow/brainstorming/scripts/helper.js:57"}, "properties": {"repobilityId": "697d23b816dfe917", "scanner": "scanner-primary", "fingerprint": "bd56c52aee6b38b4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/workflow/brainstorming/scripts/helper.js"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-deef4692852940c1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in skills/workflow/writing-skills/render-graphs.js:18"}, "properties": {"repobilityId": "6c35b749a1f011f7", "scanner": "scanner-primary", "fingerprint": "deef4692852940c1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/workflow/writing-skills/render-graphs.js"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-188cbd69ba388dcd", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/commands/run.ts:2"}, "properties": {"repobilityId": "a187ee5851a3bf19", "scanner": "scanner-primary", "fingerprint": "188cbd69ba388dcd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/commands/run.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-cc68cb7d59766735", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/commands/doctor.ts:1"}, "properties": {"repobilityId": "495b2e23ac22dcb5", "scanner": "scanner-primary", "fingerprint": "cc68cb7d59766735", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/commands/doctor.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84c4ece0dc1051e5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/commands/orchestrator.ts:8"}, "properties": {"repobilityId": "5b2b6b47b7d97e1d", "scanner": "scanner-primary", "fingerprint": "84c4ece0dc1051e5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/commands/orchestrator.ts"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-855eccd39e58d5c5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/commands/setup.ts:1"}, "properties": {"repobilityId": "eab3dd54018904fc", "scanner": "scanner-primary", "fingerprint": "855eccd39e58d5c5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/commands/setup.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-05ff18522dd4a1ad", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/commands/install.ts:2"}, "properties": {"repobilityId": "19f52817df41b121", "scanner": "scanner-primary", "fingerprint": "05ff18522dd4a1ad", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/commands/install.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-e988ace8919504cd", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in src/lib/cloud/checkpoint.ts:1"}, "properties": {"repobilityId": "4c47de033683cd96", "scanner": "scanner-primary", "fingerprint": "e988ace8919504cd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/cloud/checkpoint.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"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": "1421a7044a737ffa", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "f95e8b42f79b4cbe", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "64a439660b6ff37a", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "80ad3709170c554f", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-f06da9c0ab6c4a48", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: GEMINI.md"}, "properties": {"repobilityId": "00a7de1ef31fa667", "scanner": "scanner-primary", "fingerprint": "f06da9c0ab6c4a48", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "gemini_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "GEMINI.md"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-cc55229a7a3c078d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "properties": {"repobilityId": "51942fb3d5b8b5b4", "scanner": "scanner-primary", "fingerprint": "cc55229a7a3c078d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9e8c3687795fa3d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: docs/CODEX.md"}, "properties": {"repobilityId": "43c3e4f7e2ffc40f", "scanner": "scanner-primary", "fingerprint": "b9e8c3687795fa3d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/CODEX.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-42564bf98b72a07b", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: docs/CODEX.md"}, "properties": {"repobilityId": "acdc72fc55982907", "scanner": "scanner-primary", "fingerprint": "42564bf98b72a07b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/CODEX.md"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-815d8b45b385572a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: docs/CURSOR.md"}, "properties": {"repobilityId": "432c6c339c146fba", "scanner": "scanner-primary", "fingerprint": "815d8b45b385572a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agent_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/CURSOR.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b41a06ba7ce2e259", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: docs/CURSOR.md"}, "properties": {"repobilityId": "a4859e089fb2cb03", "scanner": "scanner-primary", "fingerprint": "b41a06ba7ce2e259", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "agent_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/CURSOR.md"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-ac9ece1340713d21", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/ai-and-npcs/design-npc/SKILL.md"}, "properties": {"repobilityId": "f9352c99598b22a5", "scanner": "scanner-primary", "fingerprint": "ac9ece1340713d21", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/ai-and-npcs/design-npc/SKILL.md"}, "region": {"startLine": 190}}}]}, {"ruleId": "scanner-b19e635bb2e2400b", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/ui-and-ux/ui-basics/SKILL.md"}, "properties": {"repobilityId": "0f4babdd9acf6b74", "scanner": "scanner-primary", "fingerprint": "b19e635bb2e2400b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/ui-and-ux/ui-basics/SKILL.md"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-b7ca5c4fd2f3db33", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/3d-assets/character-model/SKILL.md"}, "properties": {"repobilityId": "792ae449e2e9ead6", "scanner": "scanner-primary", "fingerprint": "b7ca5c4fd2f3db33", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/3d-assets/character-model/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-397820868d4a34a5", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/audio/audio-direction/SKILL.md"}, "properties": {"repobilityId": "7a327e11eea0d818", "scanner": "scanner-primary", "fingerprint": "397820868d4a34a5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/audio/audio-direction/SKILL.md"}, "region": {"startLine": 147}}}]}, {"ruleId": "scanner-d75c7a2ea323b84b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/hit-spark/SKILL.md"}, "properties": {"repobilityId": "1373e203e38203e8", "scanner": "scanner-primary", "fingerprint": "d75c7a2ea323b84b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/visual-effects/recipes/hit-spark/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c160c3a83ea4a089", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/smoke/SKILL.md"}, "properties": {"repobilityId": "6cd9d21ba1087308", "scanner": "scanner-primary", "fingerprint": "c160c3a83ea4a089", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/visual-effects/recipes/smoke/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c9074614f54c1fb4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/fire/SKILL.md"}, "properties": {"repobilityId": "138a0d45bc54fa52", "scanner": "scanner-primary", "fingerprint": "c9074614f54c1fb4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/visual-effects/recipes/fire/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1285fe320661284f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/magic-glow/SKILL.md"}, "properties": {"repobilityId": "afd0f4f3d582ee6c", "scanner": "scanner-primary", "fingerprint": "1285fe320661284f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/visual-effects/recipes/magic-glow/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e6b3a47ea663a30", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/muzzle-flash/SKILL.md"}, "properties": {"repobilityId": "4ef64401341cdd8d", "scanner": "scanner-primary", "fingerprint": "3e6b3a47ea663a30", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/visual-effects/recipes/muzzle-flash/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6600ef1d167545ff", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/water-ripple/SKILL.md"}, "properties": {"repobilityId": "de489732b3a9823f", "scanner": "scanner-primary", "fingerprint": "6600ef1d167545ff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/visual-effects/recipes/water-ripple/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e16a2eba726e9047", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/visual-effects/recipes/dissolve/SKILL.md"}, "properties": {"repobilityId": "c624639941189704", "scanner": "scanner-primary", "fingerprint": "e16a2eba726e9047", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/visual-effects/recipes/dissolve/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d969f1939a1fff3e", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/workflow/using-summer/SKILL.md"}, "properties": {"repobilityId": "819f7239ce9102d7", "scanner": "scanner-primary", "fingerprint": "d969f1939a1fff3e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/workflow/using-summer/SKILL.md"}, "region": {"startLine": 128}}}]}, {"ruleId": "scanner-ec8a344664e0fcee", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/multiplayer-and-networking/peer-to-peer-multiplayer/SKILL.md"}, "properties": {"repobilityId": "e3d708b1ec88be4a", "scanner": "scanner-primary", "fingerprint": "ec8a344664e0fcee", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/multiplayer-and-networking/peer-to-peer-multiplayer/SKILL.md"}, "region": {"startLine": 124}}}]}, {"ruleId": "scanner-62e3b84f8f9fddc2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/2d-assets/use-widget-asset/SKILL.md"}, "properties": {"repobilityId": "5978c1802bdb4922", "scanner": "scanner-primary", "fingerprint": "62e3b84f8f9fddc2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/2d-assets/use-widget-asset/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d4512d74840300a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/2d-assets/concept-art/SKILL.md"}, "properties": {"repobilityId": "1764b0a1d6965895", "scanner": "scanner-primary", "fingerprint": "8d4512d74840300a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/2d-assets/concept-art/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9515eae470c3bc7a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/2d-assets/sprite-sheet/SKILL.md"}, "properties": {"repobilityId": "0a397b043a1d836a", "scanner": "scanner-primary", "fingerprint": "9515eae470c3bc7a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/2d-assets/sprite-sheet/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4f94646d79ea68cb", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/rendering-and-lighting/3d-lighting/SKILL.md"}, "properties": {"repobilityId": "6cc235dd64d19332", "scanner": "scanner-primary", "fingerprint": "4f94646d79ea68cb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/rendering-and-lighting/3d-lighting/SKILL.md"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-2a6262280a4bfc58", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/rendering-and-lighting/art-direction/SKILL.md"}, "properties": {"repobilityId": "8013df2267ff8031", "scanner": "scanner-primary", "fingerprint": "2a6262280a4bfc58", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/rendering-and-lighting/art-direction/SKILL.md"}, "region": {"startLine": 178}}}]}, {"ruleId": "scanner-e10ed6ce6bb4fc77", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/animation/procedural-animation/SKILL.md"}, "properties": {"repobilityId": "2c8c9c44970db331", "scanner": "scanner-primary", "fingerprint": "e10ed6ce6bb4fc77", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/animation/procedural-animation/SKILL.md"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-bead75225bed1e28", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/animation/procedural-animation/SKILL.md"}, "properties": {"repobilityId": "5de668a516f970e9", "scanner": "scanner-primary", "fingerprint": "bead75225bed1e28", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/animation/procedural-animation/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e1b3c1e6e49d5bf7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/animation/facial-and-lipsync/SKILL.md"}, "properties": {"repobilityId": "6f2477e88f7a467c", "scanner": "scanner-primary", "fingerprint": "e1b3c1e6e49d5bf7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/animation/facial-and-lipsync/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-12075a32533b489f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/scripting-patterns/gdscript-patterns/SKILL.md"}, "properties": {"repobilityId": "4074dc6790a0e4c8", "scanner": "scanner-primary", "fingerprint": "12075a32533b489f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/scripting-patterns/gdscript-patterns/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a91bb22fa1b9e61a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/asset-pipeline/asset-strategy/SKILL.md"}, "properties": {"repobilityId": "4c66e782c4cb5ff4", "scanner": "scanner-primary", "fingerprint": "a91bb22fa1b9e61a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/asset-pipeline/asset-strategy/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5af24298e1861b17", "level": "none", "message": {"text": "Commented-code block (8 lines) in skills/workflow/investigating-bugs/condition-based-waiting-example.ts:140"}, "properties": {"repobilityId": "e10d130b186c93f9", "scanner": "scanner-primary", "fingerprint": "5af24298e1861b17", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d4f82d0f3b716c71", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/mcp/tools/with-engine.ts:15"}, "properties": {"repobilityId": "9b33df7a975c08cd", "scanner": "scanner-primary", "fingerprint": "d4f82d0f3b716c71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a089ece5749126ea", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/mcp/tools/generate-tools.ts:372"}, "properties": {"repobilityId": "f1db2be995f76ab2", "scanner": "scanner-primary", "fingerprint": "a089ece5749126ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1adb0b278de71e06", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/mcp/tools/generate-tools.ts:617"}, "properties": {"repobilityId": "bd12861ee9a93880", "scanner": "scanner-primary", "fingerprint": "1adb0b278de71e06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-debebb9809e4e4ec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/commands/install.ts:21"}, "properties": {"repobilityId": "62f52c95b1ab30c7", "scanner": "scanner-primary", "fingerprint": "debebb9809e4e4ec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ee64bcb7921c59aa", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/commands/install.test.ts:14"}, "properties": {"repobilityId": "14ed56d08c2700e1", "scanner": "scanner-primary", "fingerprint": "ee64bcb7921c59aa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cd0cedc80d697c1f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/version-check.ts:95"}, "properties": {"repobilityId": "c718cda8ab3dae09", "scanner": "scanner-primary", "fingerprint": "cd0cedc80d697c1f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8243e75ea8841635", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/remote-templates.ts:60"}, "properties": {"repobilityId": "3327f154357c5d8d", "scanner": "scanner-primary", "fingerprint": "8243e75ea8841635", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f6d32bd095482845", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/cloud/api.ts:128"}, "properties": {"repobilityId": "435d32edd4a764ed", "scanner": "scanner-primary", "fingerprint": "f6d32bd095482845", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dcacdbc0c57d4bdb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/cloud/http.ts:20"}, "properties": {"repobilityId": "3063796efbb35bd3", "scanner": "scanner-primary", "fingerprint": "dcacdbc0c57d4bdb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}]}]}