{"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-dc618d9f9f61b8dd", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/editor/ExperienceForm.tsx:213", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/editor/ExperienceForm.tsx:213"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e14a870dd13eec8", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/canvas/LivePreviewCanvas.tsx:56", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/canvas/LivePreviewCanvas.tsx:56"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b43efe1ff8f8a6a1", "name": "Insecure pattern 'node_child_process' in scripts/fpat/eval/check-fixtures.mjs:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/fpat/eval/check-fixtures.mjs:22"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e96f05acad559a1", "name": "Insecure pattern 'node_child_process' in scripts/fpat/eval/audit-planning-accuracy.mjs:19", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/fpat/eval/audit-planning-accuracy.mjs:19"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-86e312c5b01fadd0", "name": "Insecure pattern 'node_child_process' in scripts/fpat/eval/lib/gh.mjs:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/fpat/eval/lib/gh.mjs: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-1e2e6056de90c40c", "name": "Insecure pattern 'node_child_process' in .claude/skills/vercel-optimize/lib/verify-claim.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in .claude/skills/vercel-optimize/lib/verify-claim.mjs: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-dbe1f4611173303b", "name": "Insecure pattern 'exec_used' in .claude/skills/vercel-optimize/lib/vercel.mjs:16", "shortDescription": {"text": "Insecure pattern 'exec_used' in .claude/skills/vercel-optimize/lib/vercel.mjs:16"}, "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-70bb8bceaff3fdcc", "name": "Insecure pattern 'node_child_process' in .claude/skills/vercel-optimize/lib/vercel.mjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in .claude/skills/vercel-optimize/lib/vercel.mjs: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-dfeb88edb1e3f5de", "name": "Insecure pattern 'dangerous_innerhtml' in .claude/skills/vercel-react-best-practices/AGENTS.md:2537", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in .claude/skills/vercel-react-best-practices/AGENTS.md:2537"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f71af8c2e94dde12", "name": "Very large file: .claude/skills/vercel-optimize/lib/verify-claim.mjs (1199 lines)", "shortDescription": {"text": "Very large file: .claude/skills/vercel-optimize/lib/verify-claim.mjs (1199 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "1 test file(s) for 131 source file(s) (ratio 0.01). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 66 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 14 placeholder/mock markers across 6 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11825279136b53a3", "name": "CI is configured but no tests are detected", "shortDescription": {"text": "CI is configured but no tests are detected"}, "fullDescription": {"text": "A CI pipeline exists, but the scan found no test files to gate. Opus labeled this generated-code pattern as config theater: release machinery exists, but it has little behavioral signal."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, tests. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "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 license, tests. 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-21ff49421bda04c8", "name": "Agent authority lacks a verifier contract: .claude/rules/skills.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/rules/skills.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-486b610d47658026", "name": "Agent authority lacks a verifier contract: .claude/commands/fpat-continuation.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fpat-continuation.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-760843eb2f641c06", "name": "Agent authority lacks a verifier contract: .claude/commands/fpat-handoff.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fpat-handoff.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-43ec48bb935bb5d3", "name": "Agent authority lacks a verifier contract: .claude/commands/fpat-prime.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/fpat-prime.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-a4e501dd3e58820e", "name": "Agent authority lacks a verifier contract: .claude/commands/commit.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/commit.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-5c1cead0a049a61b", "name": "Agent authority lacks a verifier contract: .claude/docs/skills-cli-guide.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/docs/skills-cli-guide.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-94888bea30becb1f", "name": "Agent authority lacks a verifier contract: .claude/docs/flow-pack-agent-team/continuation-discipline.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/docs/flow-pack-agent-team/continuation-discipline.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-8587b5dd64a5ed83", "name": "Agent authority lacks a verifier contract: .claude/docs/flow-pack-agent-team/decomposition.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/docs/flow-pack-agent-team/decomposition.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-4c0d6954f3ea6361", "name": "Agent authority lacks a verifier contract: .claude/docs/flow-pack-agent-team/agent-team.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/docs/flow-pack-agent-team/agent-team.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-1ca50ef4047a1626", "name": "Agent authority lacks a verifier contract: .claude/skills/web-design-guidelines/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/web-design-guidelines/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-8cd0d8a4ea7b373f", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-view-transitions/README.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-view-transitions/README.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-45c19aa15866db36", "name": "Agent instruction contains unpinned remote install: .claude/skills/deploy-to-vercel/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: .claude/skills/deploy-to-vercel/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-a38338ad31ff9fff", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-composition-patterns/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-composition-patterns/AGENTS.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed7b10d414a686b3", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-composition-patterns/rules/patterns-explicit-variants.m", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-composition-patterns/rules/patterns-explicit-variants.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-32f955cefee5a3ad", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-optimize/references/playbooks/sveltekit.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-optimize/references/playbooks/sveltekit.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-147109259faf5424", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-optimize/references/playbooks/ai-application.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-optimize/references/playbooks/ai-application.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-5b48700ad48e9af7", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-optimize/references/playbooks/saas.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-optimize/references/playbooks/saas.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-8d5ee4ad6db1e39a", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/advanced-init-once.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/advanced-init-once.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-3be63d58ae2f512c", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-hoist-static-io.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-hoist-static-io.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-06de946f8492faed", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-cache-react.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-cache-react.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-7b19df7e602bc140", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.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-8de3286afcf087b1", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.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-42fccc8975005dd9", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rendering-resource-hints.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rendering-resource-hints.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-85f39657dd05c44d", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rerender-split-combined-hook", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.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-994972a56f1f53b5", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/async-dependencies.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/async-dependencies.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-f50ad04d10a70b78", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/async-parallel.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/async-parallel.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-d69e51d42b0c61d8", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-no-shared-module-stat", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-no-shared-module-state.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-5ca1e1b649775b91", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/js-length-check-first.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/js-length-check-first.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-b4fc1de90442c5a3", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.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-97137f602936ba76", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-even", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.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-d88fc688663c0550", "name": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/async-cheap-condition-before", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.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-e725d2ab884fbd49", "name": "Multiple root agent instruction files without precedence", "shortDescription": {"text": "Multiple root agent instruction files without precedence"}, "fullDescription": {"text": "The repo has multiple top-level AI-coder instruction files. Without precedence rules, different agents may follow different policies."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4299c1d478fe11c8", "name": "Commented-code block (8 lines) in scripts/fpat/validate-package.mjs:5", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/fpat/validate-package.mjs: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-1ef754de006774a3", "name": "Commented-code block (8 lines) in scripts/fpat/dogfood-a4.mjs:8", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/fpat/dogfood-a4.mjs:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5935429e08893a00", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fpat/dogfood-a4.mjs:82", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fpat/dogfood-a4.mjs:82"}, "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-f1a2c4fab60dc329", "name": "Commented-code block (7 lines) in scripts/fpat/eval/check-fixtures.mjs:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/fpat/eval/check-fixtures.mjs: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-797102b8f0634bc8", "name": "Commented-code block (9 lines) in scripts/fpat/eval/audit-signal-quality.mjs:1", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/fpat/eval/audit-signal-quality.mjs: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-24bc683388ac7fec", "name": "Commented-code block (7 lines) in scripts/fpat/eval/audit-planning-accuracy.mjs:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/fpat/eval/audit-planning-accuracy.mjs: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-ea36971a1ecdcd12", "name": "Commented-code block (6 lines) in scripts/fpat/eval/check-scorecard.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/fpat/eval/check-scorecard.mjs: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-da8a07b9605c7fc1", "name": "Commented-code block (5 lines) in scripts/fpat/eval/analyze-project-sync-cancellation.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fpat/eval/analyze-project-sync-cancellation.mjs: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-a8a77e4a102bef2c", "name": "Commented-code block (8 lines) in scripts/fpat/eval/audit-board-consistency.mjs:1", "shortDescription": {"text": "Commented-code block (8 lines) in scripts/fpat/eval/audit-board-consistency.mjs: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-3939a009e289baeb", "name": "Commented-code block (5 lines) in scripts/fpat/eval/lib/schema.mjs:200", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fpat/eval/lib/schema.mjs:200"}, "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-368ef3969120b12f", "name": "Commented-code block (5 lines) in scripts/fpat/eval/lib/gh.mjs:6", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/fpat/eval/lib/gh.mjs:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-18f8b3785f5ec39c", "name": "Commented-code block (7 lines) in scripts/fpat/eval/lib/scorecard.mjs:1", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/fpat/eval/lib/scorecard.mjs: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-a0a4428f19d12abe", "name": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/scripts/render-report.mjs:31", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/scripts/render-report.mjs:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4143d0d31f470fc", "name": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/scripts/collect-signals.mjs:281", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/scripts/collect-signals.mjs:281"}, "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-35077cfe69057073", "name": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/grade-recommendation.mjs:6", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/grade-recommendation.mjs:6"}, "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-e8c4250eb5c45bc8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/investigation-brief.mjs:604", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/investigation-brief.mjs:604"}, "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-534232c78c642187", "name": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/scanners/edge-heavy-import.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/scanners/edge-heavy-import.mjs: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-82348050efcb1304", "name": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/scanners/cache-components-suspense-dedu", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/scanners/cache-components-suspense-dedupe.mjs:65"}, "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-c961fd2b16c2e43b", "name": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/scanners/use-cache-date-stamp.mjs:5", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/scanners/use-cache-date-stamp.mjs: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-2a665d9cf000f459", "name": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/scanners/missing-cache-headers.mjs:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/scanners/missing-cache-headers.mjs:3"}, "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-b0ffe65548dc0223", "name": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/scanners/turbo-force-bypass.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/scanners/turbo-force-bypass.mjs:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e3a7264e36d9b6ab", "name": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/gates/region-misconfig.mjs:3", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/gates/region-misconfig.mjs:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf662fc13077d7b4", "name": "Commented-code block (8 lines) in src/app/studio/page.tsx:74", "shortDescription": {"text": "Commented-code block (8 lines) in src/app/studio/page.tsx:74"}, "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/22483"}, "properties": {"repository": "w7-mgfcode/cvforge-ai", "repoUrl": "https://github.com/w7-mgfcode/cvforge-ai", "branch": "main"}, "results": [{"ruleId": "scanner-dc618d9f9f61b8dd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/editor/ExperienceForm.tsx:213"}, "properties": {"repobilityId": "625badc9a3263d93", "scanner": "scanner-primary", "fingerprint": "dc618d9f9f61b8dd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9e14a870dd13eec8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/canvas/LivePreviewCanvas.tsx:56"}, "properties": {"repobilityId": "c44fbe231e282321", "scanner": "scanner-primary", "fingerprint": "9e14a870dd13eec8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b43efe1ff8f8a6a1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/fpat/eval/check-fixtures.mjs:22"}, "properties": {"repobilityId": "5235ce755985b717", "scanner": "scanner-primary", "fingerprint": "b43efe1ff8f8a6a1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fpat/eval/check-fixtures.mjs"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-7e96f05acad559a1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/fpat/eval/audit-planning-accuracy.mjs:19"}, "properties": {"repobilityId": "0843b32cd3e32178", "scanner": "scanner-primary", "fingerprint": "7e96f05acad559a1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fpat/eval/audit-planning-accuracy.mjs"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-86e312c5b01fadd0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/fpat/eval/lib/gh.mjs:2"}, "properties": {"repobilityId": "6809b624134e784d", "scanner": "scanner-primary", "fingerprint": "86e312c5b01fadd0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/fpat/eval/lib/gh.mjs"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-1e2e6056de90c40c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in .claude/skills/vercel-optimize/lib/verify-claim.mjs:4"}, "properties": {"repobilityId": "95d3cf1a7e197f97", "scanner": "scanner-primary", "fingerprint": "1e2e6056de90c40c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-optimize/lib/verify-claim.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-dbe1f4611173303b", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in .claude/skills/vercel-optimize/lib/vercel.mjs:16"}, "properties": {"repobilityId": "2b8b71337b8478fb", "scanner": "scanner-primary", "fingerprint": "dbe1f4611173303b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-optimize/lib/vercel.mjs"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-70bb8bceaff3fdcc", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in .claude/skills/vercel-optimize/lib/vercel.mjs:3"}, "properties": {"repobilityId": "faa5158559e242e8", "scanner": "scanner-primary", "fingerprint": "70bb8bceaff3fdcc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-optimize/lib/vercel.mjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-dfeb88edb1e3f5de", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in .claude/skills/vercel-react-best-practices/AGENTS.md:2537"}, "properties": {"repobilityId": "08fa339a58cb4f9d", "scanner": "scanner-primary", "fingerprint": "dfeb88edb1e3f5de", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/AGENTS.md"}, "region": {"startLine": 2537}}}]}, {"ruleId": "scanner-f71af8c2e94dde12", "level": "note", "message": {"text": "Very large file: .claude/skills/vercel-optimize/lib/verify-claim.mjs (1199 lines)"}, "properties": {"repobilityId": "4560080dfa79a53b", "scanner": "scanner-primary", "fingerprint": "f71af8c2e94dde12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "a88c14546d01288a", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "035ce5ff67fb7733", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "f0e6cc761b13fee3", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "afac7c8dc486d198", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-11825279136b53a3", "level": "warning", "message": {"text": "CI is configured but no tests are detected"}, "properties": {"repobilityId": "91b79a62d2c96465", "scanner": "scanner-primary", "fingerprint": "11825279136b53a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "ci", "config-theater", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "23dab094b24336fd", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "23493f1666143eea", "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": "76c8102788e9e101", "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": "000a3abc6d2fbab0", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-21ff49421bda04c8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/rules/skills.md"}, "properties": {"repobilityId": "ce8db643a3bd3561", "scanner": "scanner-primary", "fingerprint": "21ff49421bda04c8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/rules/skills.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-486b610d47658026", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fpat-continuation.md"}, "properties": {"repobilityId": "544e2a474c4f77b5", "scanner": "scanner-primary", "fingerprint": "486b610d47658026", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fpat-continuation.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-760843eb2f641c06", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fpat-handoff.md"}, "properties": {"repobilityId": "514294a69a942e18", "scanner": "scanner-primary", "fingerprint": "760843eb2f641c06", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fpat-handoff.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-43ec48bb935bb5d3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/fpat-prime.md"}, "properties": {"repobilityId": "badfa7e8374c85c8", "scanner": "scanner-primary", "fingerprint": "43ec48bb935bb5d3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/fpat-prime.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4e501dd3e58820e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/commit.md"}, "properties": {"repobilityId": "79faa1702486f61d", "scanner": "scanner-primary", "fingerprint": "a4e501dd3e58820e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/commit.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5c1cead0a049a61b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/docs/skills-cli-guide.md"}, "properties": {"repobilityId": "91a7d7a197ef35be", "scanner": "scanner-primary", "fingerprint": "5c1cead0a049a61b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/docs/skills-cli-guide.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-94888bea30becb1f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/docs/flow-pack-agent-team/continuation-discipline.md"}, "properties": {"repobilityId": "322a2387e497b355", "scanner": "scanner-primary", "fingerprint": "94888bea30becb1f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/docs/flow-pack-agent-team/continuation-discipline.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8587b5dd64a5ed83", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/docs/flow-pack-agent-team/decomposition.md"}, "properties": {"repobilityId": "c40442fc7d7f3a9b", "scanner": "scanner-primary", "fingerprint": "8587b5dd64a5ed83", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/docs/flow-pack-agent-team/decomposition.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4c0d6954f3ea6361", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/docs/flow-pack-agent-team/agent-team.md"}, "properties": {"repobilityId": "e88342c0eb79822e", "scanner": "scanner-primary", "fingerprint": "4c0d6954f3ea6361", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/docs/flow-pack-agent-team/agent-team.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ca50ef4047a1626", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/web-design-guidelines/SKILL.md"}, "properties": {"repobilityId": "f2451fa9a31e4611", "scanner": "scanner-primary", "fingerprint": "1ca50ef4047a1626", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/web-design-guidelines/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8cd0d8a4ea7b373f", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-view-transitions/README.md"}, "properties": {"repobilityId": "d3345035fd873e21", "scanner": "scanner-primary", "fingerprint": "8cd0d8a4ea7b373f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-view-transitions/README.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45c19aa15866db36", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: .claude/skills/deploy-to-vercel/SKILL.md"}, "properties": {"repobilityId": "b1ebc31f00dca73f", "scanner": "scanner-primary", "fingerprint": "45c19aa15866db36", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/deploy-to-vercel/SKILL.md"}, "region": {"startLine": 141}}}]}, {"ruleId": "scanner-a38338ad31ff9fff", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-composition-patterns/AGENTS.md"}, "properties": {"repobilityId": "5b0f997a392e82f3", "scanner": "scanner-primary", "fingerprint": "a38338ad31ff9fff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-composition-patterns/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ed7b10d414a686b3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md"}, "properties": {"repobilityId": "3ac011d7f5f0db0d", "scanner": "scanner-primary", "fingerprint": "ed7b10d414a686b3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-32f955cefee5a3ad", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-optimize/references/playbooks/sveltekit.md"}, "properties": {"repobilityId": "d88f1d9cd6279021", "scanner": "scanner-primary", "fingerprint": "32f955cefee5a3ad", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-optimize/references/playbooks/sveltekit.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-147109259faf5424", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-optimize/references/playbooks/ai-application.md"}, "properties": {"repobilityId": "74a62f7321f498f0", "scanner": "scanner-primary", "fingerprint": "147109259faf5424", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-optimize/references/playbooks/ai-application.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5b48700ad48e9af7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-optimize/references/playbooks/saas.md"}, "properties": {"repobilityId": "85fdbe19c38f36aa", "scanner": "scanner-primary", "fingerprint": "5b48700ad48e9af7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-optimize/references/playbooks/saas.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d5ee4ad6db1e39a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/advanced-init-once.md"}, "properties": {"repobilityId": "9db1328a1676e0f4", "scanner": "scanner-primary", "fingerprint": "8d5ee4ad6db1e39a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/advanced-init-once.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3be63d58ae2f512c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-hoist-static-io.md"}, "properties": {"repobilityId": "74f9988a13b78c80", "scanner": "scanner-primary", "fingerprint": "3be63d58ae2f512c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/server-hoist-static-io.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-06de946f8492faed", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-cache-react.md"}, "properties": {"repobilityId": "3ce5e08f493a39a7", "scanner": "scanner-primary", "fingerprint": "06de946f8492faed", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/server-cache-react.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b19df7e602bc140", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md"}, "properties": {"repobilityId": "bc129d0a1901861d", "scanner": "scanner-primary", "fingerprint": "7b19df7e602bc140", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8de3286afcf087b1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md"}, "properties": {"repobilityId": "b1a52c31b241f98e", "scanner": "scanner-primary", "fingerprint": "8de3286afcf087b1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-42fccc8975005dd9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rendering-resource-hints.md"}, "properties": {"repobilityId": "1109af041dfcb18d", "scanner": "scanner-primary", "fingerprint": "42fccc8975005dd9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/rendering-resource-hints.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-85f39657dd05c44d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md"}, "properties": {"repobilityId": "b7dc45f1f8059b32", "scanner": "scanner-primary", "fingerprint": "85f39657dd05c44d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-994972a56f1f53b5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/async-dependencies.md"}, "properties": {"repobilityId": "04d0ba896db63996", "scanner": "scanner-primary", "fingerprint": "994972a56f1f53b5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/async-dependencies.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f50ad04d10a70b78", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/async-parallel.md"}, "properties": {"repobilityId": "4ba81d4382f5dfd6", "scanner": "scanner-primary", "fingerprint": "f50ad04d10a70b78", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/async-parallel.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d69e51d42b0c61d8", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md"}, "properties": {"repobilityId": "87089c047d239ea6", "scanner": "scanner-primary", "fingerprint": "d69e51d42b0c61d8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5ca1e1b649775b91", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/js-length-check-first.md"}, "properties": {"repobilityId": "9cdfdcf1c77a3caa", "scanner": "scanner-primary", "fingerprint": "5ca1e1b649775b91", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/js-length-check-first.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b4fc1de90442c5a3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md"}, "properties": {"repobilityId": "442c1b09c5840b4d", "scanner": "scanner-primary", "fingerprint": "b4fc1de90442c5a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-97137f602936ba76", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md"}, "properties": {"repobilityId": "e92629638c3acc4c", "scanner": "scanner-primary", "fingerprint": "97137f602936ba76", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d88fc688663c0550", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md"}, "properties": {"repobilityId": "0a67baff8ab2364b", "scanner": "scanner-primary", "fingerprint": "d88fc688663c0550", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e725d2ab884fbd49", "level": "note", "message": {"text": "Multiple root agent instruction files without precedence"}, "properties": {"repobilityId": "1953db6c89508d22", "scanner": "scanner-primary", "fingerprint": "e725d2ab884fbd49", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["agent-instructions", "governance"]}}, {"ruleId": "scanner-4299c1d478fe11c8", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/fpat/validate-package.mjs:5"}, "properties": {"repobilityId": "de58b29995806723", "scanner": "scanner-primary", "fingerprint": "4299c1d478fe11c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ef754de006774a3", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/fpat/dogfood-a4.mjs:8"}, "properties": {"repobilityId": "cb2f4b3925623b7f", "scanner": "scanner-primary", "fingerprint": "1ef754de006774a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5935429e08893a00", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/fpat/dogfood-a4.mjs:82"}, "properties": {"repobilityId": "826d8fdea02413f2", "scanner": "scanner-primary", "fingerprint": "5935429e08893a00", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f1a2c4fab60dc329", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/fpat/eval/check-fixtures.mjs:1"}, "properties": {"repobilityId": "0473db10c165ba7f", "scanner": "scanner-primary", "fingerprint": "f1a2c4fab60dc329", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-797102b8f0634bc8", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/fpat/eval/audit-signal-quality.mjs:1"}, "properties": {"repobilityId": "8b7877322c66ee93", "scanner": "scanner-primary", "fingerprint": "797102b8f0634bc8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24bc683388ac7fec", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/fpat/eval/audit-planning-accuracy.mjs:1"}, "properties": {"repobilityId": "1de7f5765fb4b168", "scanner": "scanner-primary", "fingerprint": "24bc683388ac7fec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea36971a1ecdcd12", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/fpat/eval/check-scorecard.mjs:1"}, "properties": {"repobilityId": "a586934c281f8e46", "scanner": "scanner-primary", "fingerprint": "ea36971a1ecdcd12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da8a07b9605c7fc1", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fpat/eval/analyze-project-sync-cancellation.mjs:1"}, "properties": {"repobilityId": "77fcc2366f49bd5b", "scanner": "scanner-primary", "fingerprint": "da8a07b9605c7fc1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8a77e4a102bef2c", "level": "none", "message": {"text": "Commented-code block (8 lines) in scripts/fpat/eval/audit-board-consistency.mjs:1"}, "properties": {"repobilityId": "d2d50d71b2e9fdcc", "scanner": "scanner-primary", "fingerprint": "a8a77e4a102bef2c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3939a009e289baeb", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fpat/eval/lib/schema.mjs:200"}, "properties": {"repobilityId": "21e276686235be83", "scanner": "scanner-primary", "fingerprint": "3939a009e289baeb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-368ef3969120b12f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/fpat/eval/lib/gh.mjs:6"}, "properties": {"repobilityId": "758eeac551fdbe48", "scanner": "scanner-primary", "fingerprint": "368ef3969120b12f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18f8b3785f5ec39c", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/fpat/eval/lib/scorecard.mjs:1"}, "properties": {"repobilityId": "6cfc14044d075252", "scanner": "scanner-primary", "fingerprint": "18f8b3785f5ec39c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0a4428f19d12abe", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/scripts/render-report.mjs:31"}, "properties": {"repobilityId": "36ff96146312a473", "scanner": "scanner-primary", "fingerprint": "a0a4428f19d12abe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4143d0d31f470fc", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/scripts/collect-signals.mjs:281"}, "properties": {"repobilityId": "1c5bd7086f5aece7", "scanner": "scanner-primary", "fingerprint": "e4143d0d31f470fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35077cfe69057073", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/grade-recommendation.mjs:6"}, "properties": {"repobilityId": "5c777c451c91716c", "scanner": "scanner-primary", "fingerprint": "35077cfe69057073", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e8c4250eb5c45bc8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/investigation-brief.mjs:604"}, "properties": {"repobilityId": "f735ee803044082e", "scanner": "scanner-primary", "fingerprint": "e8c4250eb5c45bc8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-534232c78c642187", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/scanners/edge-heavy-import.mjs:1"}, "properties": {"repobilityId": "6052b329dedb6b5a", "scanner": "scanner-primary", "fingerprint": "534232c78c642187", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82348050efcb1304", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/scanners/cache-components-suspense-dedupe.mjs:65"}, "properties": {"repobilityId": "17719b8ac8a19a32", "scanner": "scanner-primary", "fingerprint": "82348050efcb1304", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c961fd2b16c2e43b", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/scanners/use-cache-date-stamp.mjs:5"}, "properties": {"repobilityId": "c7acfc818044a05c", "scanner": "scanner-primary", "fingerprint": "c961fd2b16c2e43b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a665d9cf000f459", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 .claude/skills/vercel-optimize/lib/scanners/missing-cache-headers.mjs:3"}, "properties": {"repobilityId": "4a16fa7898acc300", "scanner": "scanner-primary", "fingerprint": "2a665d9cf000f459", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b0ffe65548dc0223", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/scanners/turbo-force-bypass.mjs:4"}, "properties": {"repobilityId": "ebe679687f096b17", "scanner": "scanner-primary", "fingerprint": "b0ffe65548dc0223", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3a7264e36d9b6ab", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/vercel-optimize/lib/gates/region-misconfig.mjs:3"}, "properties": {"repobilityId": "8da15944724e1b2a", "scanner": "scanner-primary", "fingerprint": "e3a7264e36d9b6ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf662fc13077d7b4", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/app/studio/page.tsx:74"}, "properties": {"repobilityId": "5a618380e36f4468", "scanner": "scanner-primary", "fingerprint": "bf662fc13077d7b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}