{"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-89ec192dd0e23a0b", "name": "Possibly dead Python function: magenta", "shortDescription": {"text": "Possibly dead Python function: magenta"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9e2804408092d78", "name": "Possibly dead Python function: global_path", "shortDescription": {"text": "Possibly dead Python function: global_path"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-45b4ac994b50f797", "name": "Possibly dead Python function: extract_blade", "shortDescription": {"text": "Possibly dead Python function: extract_blade"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0b2addf2c66c4261", "name": "Possibly dead Python function: extract_verilog", "shortDescription": {"text": "Possibly dead Python function: extract_verilog"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-409f0114cce4aa76", "name": "Possibly dead Python function: extract_lua", "shortDescription": {"text": "Possibly dead Python function: extract_lua"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f72ede7d914d5f6", "name": "Possibly dead Python function: extract_zig", "shortDescription": {"text": "Possibly dead Python function: extract_zig"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-41f4d6a2eb58181d", "name": "Possibly dead Python function: node_in_section", "shortDescription": {"text": "Possibly dead Python function: node_in_section"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-354a21c72deb3af4", "name": "Possibly dead Python function: fallback_key", "shortDescription": {"text": "Possibly dead Python function: fallback_key"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1fb98bcf60cbf928", "name": "Possibly dead Python function: prune_dangling_edges", "shortDescription": {"text": "Possibly dead Python function: prune_dangling_edges"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-34450d497fa25179", "name": "Possibly dead Python function: push_to_neo4j", "shortDescription": {"text": "Possibly dead Python function: push_to_neo4j"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-400764840e0671a1", "name": "Possibly dead Python function: save_semantic_cache", "shortDescription": {"text": "Possibly dead Python function: save_semantic_cache"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b02688c5e76cb73", "name": "Possibly dead Python function: deduplicate_by_label", "shortDescription": {"text": "Possibly dead Python function: deduplicate_by_label"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ec69a4c930f1e6d", "name": "Possibly dead Python function: xlsx_extract_structure", "shortDescription": {"text": "Possibly dead Python function: xlsx_extract_structure"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d1df6587b76d9d9", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/sdks/vscode/esbuild.js:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/sdks/vscode/esbuild.js:14"}, "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-7b2d3167b70bcd44", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/github/index.ts:155", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/github/index.ts:155"}, "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-ae7eaa4287960f6c", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/enterprise/test-debug.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/enterprise/test-debug.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c4f539869b5c9fe", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/plugin/script/publish.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/plugin/script/publish.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-effe51b1fad2596c", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/function/src/api.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/function/src/api.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-a33f1fa2e3f8e4ad", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/tui/src/app.tsx:998", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/tui/src/app.tsx:998"}, "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-731b5a6db337e896", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/tui/src/parsers-config.ts:153", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/tui/src/parsers-config.ts:153"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b75e6ce870a99a6e", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/tui/src/component/prompt/index.tsx:396", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/tui/src/component/prompt/index.tsx:396"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f8595b876eb353eb", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/tui/src/component/prompt/index.tsx:1007", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/tui/src/component/prompt/index.tsx:1007"}, "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-2de89bd3b0573ca3", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/effect-drizzle-sqlite/examples/basic.ts:92", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/effect-drizzle-sqlite/examples/basic.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-14735cd16da418ca", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/ui/script/build-oc2-v2-overrides.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/ui/script/build-oc2-v2-overrides.ts:20"}, "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-9c8d0541f1c174c6", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/ui/src/v2/components/tabs-v2.stories.tsx:127", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/ui/src/v2/components/tabs-v2.stories.tsx:127"}, "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-0d9e6aa0df41cfc8", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/test/provider/gitlab-duo.test.ts:2", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/test/provider/gitlab-duo.test.ts:2"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3b51f4c34d6fb792", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/test/cli/run/scrollback.surface.test.ts:500", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/test/cli/run/scrollback.surface.test.ts:500"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a7904556cd154121", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/cli/run/scrollback.surface.test.ts:303", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/cli/run/scrollback.surface.test.ts:303"}, "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-57382635b104db94", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-ui.test.ts:229", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-ui.test.ts:229"}, "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-3c2c7c91a51efeb4", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-exercise/report.ts:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-exercise/report.ts:22"}, "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-d3a746945ebf6122", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-exercise/index.ts:1519", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-exercise/index.ts:1519"}, "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-d0f620ee8e5a1720", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-exercise/runner.ts:203", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-exercise/runner.ts:203"}, "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-56edba4962933c16", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/tool/shell.test.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/tool/shell.test.ts:114"}, "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-4ba3229fef14ab43", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/bench-test-suite.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/bench-test-suite.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-265bbfc7a9112bde", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/schema.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/schema.ts:71"}, "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-80ad7a015bcbc4bb", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/bench-search.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/bench-search.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-091ec8eba76f77c7", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/trace-imports.ts:108", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/trace-imports.ts:108"}, "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-7cdf1d481917f8de", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/profile-test-files.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/profile-test-files.ts:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9ec0e2066de74d7", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/generate.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/generate.ts:14"}, "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-3cfb6edddd864a43", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/build.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/build.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a63bfa218546f339", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/time.ts:6", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/time.ts:6"}, "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-d2679b457e0193e2", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/build-node.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/build-node.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-b0bab2b634fd0480", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/publish.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/publish.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a383e62fdc23e682", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/provider/provider.ts:299", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/provider/provider.ts:299"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b407060620db401c", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/provider/transform.ts:64", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/provider/transform.ts:64"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-afd193c8bca36794", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/plugin/index.ts:226", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/plugin/index.ts:226"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff6fe6d49495536c", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/stats.ts:150", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/stats.ts:150"}, "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-fd7989bd5fad1fd2", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/session.ts:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/session.ts:104"}, "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-766845f47b829ed7", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:169", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:169"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-90f5fe63d8855fda", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:517", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:517"}, "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-35201c4829f5467b", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/agent.ts:225", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/agent.ts:225"}, "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-1d77df671740bec0", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/db.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/db.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-be46e0f1f5f75ade", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/serve.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/serve.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aaa0548a51903538", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/debug/snapshot.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/debug/snapshot.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-8e196707ef30ffb8", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/debug/index.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/debug/index.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48d1ff67b75a8feb", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/agent/agent.ts:382", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/agent/agent.ts:382"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-076589f19996577e", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/control-plane/workspace.ts:487", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/control-plane/workspace.ts:487"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b3b08923630dc022", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/middlewar", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/middleware/cors-vary.ts:11"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0485ea42c6e2796d", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/account/account.ts:423", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/account/account.ts:423"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd9bd60939423878", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/tool/todo.ts:6", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/tool/todo.ts:6"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad1d1f35ced75479", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/tool/tool.ts:15", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/tool/tool.ts:15"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b746a3bcd9dd243d", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/session/prompt.ts:1076", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/session/prompt.ts:1076"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7f454e68288fe000", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/session/session.ts:446", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/session/session.ts:446"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf16a18ab494c5ed", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/session/processor.ts:250", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/session/processor.ts:250"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62d7d5bf6b1004f7", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/format/index.ts:140", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/format/index.ts:140"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55e038b9e8d0d195", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/specs/v2/api.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/specs/v2/api.ts:46"}, "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-320bb0ce7170aa22", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/script/generate.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/script/generate.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0eccaa747f54b8f8", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/script/build.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/script/build.ts:69"}, "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-e0a529193c402e7a", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/script/publish.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/script/publish.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cdea57738ad9dcc", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/src/commands/handlers/serve.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/src/commands/handlers/serve.ts:20"}, "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-f70df37c15864b91", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/copy-icons.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/copy-icons.ts:12"}, "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-df32cfa6c841da9a", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/finalize-latest-json.ts:214", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/finalize-latest-json.ts:214"}, "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-b8ea7bf77f4e0f1e", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/utils.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/utils.ts:71"}, "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-703100038ee8b557", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/prepare.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/prepare.ts:9"}, "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-66235333faf21aca", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/finalize-latest-yml.ts:121", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/finalize-latest-yml.ts:121"}, "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-740708669632586f", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/copy-metainfo.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/copy-metainfo.ts:47"}, "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-17b880898cb153eb", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/src/main/shell-env.ts:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/src/main/shell-env.ts:46"}, "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-ade31cd8adb4eb9e", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/app/src/pages/session.tsx:124", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/app/src/pages/session.tsx:124"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fca0293185f4807c", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/app/e2e/regression/session-timeline-context-resize.spec.ts:", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/app/e2e/regression/session-timeline-context-resize.spec.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-7a3a6d6c283c91f9", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/web/src/components/share/content-code.tsx:14", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/web/src/components/share/content-code.tsx:14"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-579b9d7a9a4a1b71", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/script/src/index.ts:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/script/src/index.ts:77"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee9d9c6ae883a899", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/containers/script/build.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/containers/script/build.ts:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-af3e06de33234ee6", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/core/test/process/process.test.ts:283", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/core/test/process/process.test.ts:283"}, "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-844f47652a9da162", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/core/test/effect/cross-spawn-spawner.test.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/core/test/effect/cross-spawn-spawner.test.ts:76"}, "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-9421f92294efe7c3", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/core/script/fix-node-pty.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/core/script/fix-node-pty.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0200c451c76f83b", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/file-mutation.ts:198", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/file-mutation.ts:198"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee9c64afc8d77c4f", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/session.ts:252", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/session.ts:252"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35987ea5e3e4ebb2", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/github-copilot/responses/openai-responses-la", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/github-copilot/responses/openai-responses-language-model.ts:1728"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-71b40940212d4cd1", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/github-copilot/chat/openai-compatible-chat-l", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/github-copilot/chat/openai-compatible-chat-language-model.ts:386"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a98470325f26797", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/tool/edit.ts:83", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/tool/edit.ts:83"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-29bf290bc58ff2e6", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/tool/bash.ts:80", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/tool/bash.ts:80"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62627b45810ed812", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/tool/write.ts:19", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/tool/write.ts:19"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-86d633f877735f7a", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/public/opencode.ts:82", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/public/opencode.ts:82"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d76205420c3f2af", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/session/runner/to-llm-message.ts:41", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/session/runner/to-llm-message.ts:41"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-17845bc09b664251", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/function/src/auth.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/function/src/auth.ts:58"}, "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-ec2407e3b653859d", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/function/src/log-processor.ts:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/function/src/log-processor.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-0bdfb80d1efca5b4", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/script/generate-sitemap.ts:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/script/generate-sitemap.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-45558b6b5dea7507", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/component/email-signup.tsx:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/component/email-signup.tsx:20"}, "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-53a988e3363ef830", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/zen/util/logger.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/zen/util/logger.ts:5"}, "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-9a0ba459a44d2e8d", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/zen/util/provider/anthropic.ts:134", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/zen/util/provider/anthropic.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-f92058552bf748dd", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/honeycomb/webhook.ts:85", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/honeycomb/webhook.ts:85"}, "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-76a073b063b2440e", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/stripe/webhook.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/stripe/webhook.ts:20"}, "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-82e4352fd95ac9c2", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/console/app/src/routes/black/workspace.tsx:26", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/console/app/src/routes/black/workspace.tsx:26"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4676a2e059733939", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/disable-reload.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/disable-reload.ts:26"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b74d518df985b7f1", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/update-models.ts:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/update-models.ts:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74a9f1a578c81839", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-gift.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-gift.ts:14"}, "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-fd26cb5b59c66940", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-select-workspaces.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-select-workspaces.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-323dccf635a32e2e", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-transfer.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-transfer.ts:13"}, "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-1d201181a8f4835a", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-stats.ts:215", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-stats.ts:215"}, "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-d42b73e165ab48d1", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/credit-workspace.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/credit-workspace.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-3bddb06b1196fbfc", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/lookup-user.ts:369", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/lookup-user.ts:369"}, "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-41a1c0d1978b9fe0", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-onboard-waitlist.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-onboard-waitlist.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46aef54a041f32c2", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/referral-backfill.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/referral-backfill.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35e0a338bd1370eb", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-cancel-waitlist.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-cancel-waitlist.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33fc1dc90d4c7614", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/freeze-workspace.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/freeze-workspace.ts:39"}, "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-ff48e008a9308bd4", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/create-api-key.ts:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/create-api-key.ts:111"}, "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-c61388565dc247de", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/update-limits.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/update-limits.ts:20"}, "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-e0fbd6a0d7533df2", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/create-coupon.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/create-coupon.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0424ac01bf0449a", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/src/util/log.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/src/util/log.ts:20"}, "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-3f9ba0ad31c79a97", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/slack/src/index.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/slack/src/index.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79cc8a2afcf6a121", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/stats/core/src/honeycomb-backfill.ts:91", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/stats/core/src/honeycomb-backfill.ts:91"}, "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-71fc1ae72199765f", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/sdk/js/script/publish.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/sdk/js/script/publish.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-daf510e0506e4fe0", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/sdk/js/example/example.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/sdk/js/example/example.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00cf46b69617a751", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/sdk/js/src/v2/gen/client/client.gen.ts:226", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/sdk/js/src/v2/gen/client/client.gen.ts:226"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d9bf6d1b3eba310b", "name": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/sdk/js/src/gen/client/client.gen.ts:172", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/sdk/js/src/gen/client/client.gen.ts:172"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b166b7a5b7ba3bc1", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/llm/script/recording-cost-report.ts:236", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/llm/script/recording-cost-report.ts:236"}, "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-c4716126a27018c1", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/llm/example/tutorial.ts:70", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/llm/example/tutorial.ts:70"}, "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-80f021c3977af63a", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/nix/scripts/canonicalize-node-modules.ts:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/nix/scripts/canonicalize-node-modules.ts:82"}, "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-3b6bd60e635c26ba", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/nix/scripts/normalize-bun-binaries.ts:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/nix/scripts/normalize-bun-binaries.ts:48"}, "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-176973d35b272602", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/upgrade-opentui.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/upgrade-opentui.ts:9"}, "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-fecb9fabff0b4bc2", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/stats.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/stats.ts:87"}, "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-5690977d58066050", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/raw-changelog.ts:263", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/raw-changelog.ts:263"}, "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-04efa5e501dcec5b", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/beta.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/beta.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-0cc6c32ca3ba7e17", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/changelog.ts:27", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/changelog.ts:27"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a18b8468729620e3", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/duplicate-pr.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/duplicate-pr.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b80390728e7ccf7", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/publish.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/publish.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-499ccd9ab2ea2859", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/github/close-issues.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/github/close-issues.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-075740b5e896b2ca", "name": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/github/close-prs.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/github/close-prs.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b29b8f85ea974e58", "name": "Privileged port 12 in use", "shortDescription": {"text": "Privileged port 12 in use"}, "fullDescription": {"text": "Port 12 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-21e64aa4372aa9b1", "name": "Dockerfile runs as root: third_party/opencode/packages/opencode/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: third_party/opencode/packages/opencode/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dd30fc7545adfce8", "name": "Docker base image uses a mutable or implicit tag: alpine", "shortDescription": {"text": "Docker base image uses a mutable or implicit tag: alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-35bf61b46ac540e9", "name": "Docker base image uses a mutable or implicit tag: build-${TARGETARCH}", "shortDescription": {"text": "Docker base image uses a mutable or implicit tag: build-${TARGETARCH}"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-abef486e1c274104", "name": "Dockerfile runs as root: third_party/opencode/packages/containers/publish/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/publish/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e7223d0cc4b7baf1", "name": "Dockerfile runs as root: third_party/opencode/packages/containers/base/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/base/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7762f799244331ce", "name": "Docker base image is tag-pinned but not digest-pinned: ubuntu:24.04", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: ubuntu:24.04"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6115e3ef3d55353e", "name": "Dockerfile runs as root: third_party/opencode/packages/containers/rust/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/rust/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b626d4a8765cf33", "name": "Dockerfile runs as root: third_party/opencode/packages/containers/bun-node/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/bun-node/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-057bbf2de9244ba8", "name": "Dockerfile runs as root: third_party/opencode/packages/containers/tauri-linux/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/tauri-linux/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a80d85fc352900c4", "name": "Dockerfile runs as root: third_party/opencode/packages/stats/server/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: third_party/opencode/packages/stats/server/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5fad2ea53fd330a3", "name": "Docker base image is tag-pinned but not digest-pinned: oven/bun:1.3.14-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: oven/bun:1.3.14-alpine"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e3697ba8cb52663", "name": "Insecure pattern 'node_child_process' in third_party/opencode/github/index.ts:10", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/github/index.ts:10"}, "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-3f9239fa1f504c36", "name": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/enterprise/src/routes/api/[...path].ts:13", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/enterprise/src/routes/api/[...path].ts:13"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed1f4987ca75bf0b", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/tui/src/editor.ts:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/tui/src/editor.ts:6"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-70f8cf038a24f97b", "name": "Insecure pattern 'exec_used' in third_party/opencode/packages/tui/src/clipboard.ts:33", "shortDescription": {"text": "Insecure pattern 'exec_used' in third_party/opencode/packages/tui/src/clipboard.ts:33"}, "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-5e9db53c5bfab95d", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/tui/src/clipboard.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/tui/src/clipboard.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-7c10d5715706ff83", "name": "Insecure pattern 'new_function_used' in third_party/opencode/packages/effect-drizzle-sqlite/src/internal/drizzle-utils.t", "shortDescription": {"text": "Insecure pattern 'new_function_used' in third_party/opencode/packages/effect-drizzle-sqlite/src/internal/drizzle-utils.ts:32"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d1a8a77057e51460", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/v2/components/icon.tsx:89", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/v2/components/icon.tsx:89"}, "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-e1e45658d9c3a740", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/components/icon.tsx:133", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/components/icon.tsx:133"}, "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-0ab58cbc6235530c", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/components/markdown.tsx:91", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/components/markdown.tsx:91"}, "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-6623be434777ead1", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/components/file.tsx:500", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/components/file.tsx:500"}, "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-72f60f95b0347dad", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/pierre/file-find.ts:137", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/pierre/file-find.ts:137"}, "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-2a9ab80db77abdb6", "name": "Possible secret in third_party/opencode/packages/opencode/test/server/httpapi-exercise/backend.ts", "shortDescription": {"text": "Possible secret in third_party/opencode/packages/opencode/test/server/httpapi-exercise/backend.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-a1441760238815ca", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/script/postinstall.mjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/script/postinstall.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-44319449cbb6fad1", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/util/process.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/util/process.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-09893f743d41102b", "name": "Insecure pattern 'exec_used' in third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:295", "shortDescription": {"text": "Insecure pattern 'exec_used' in third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:295"}, "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-93819ac2b437263e", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/cli/cmd/github.handler.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-e3a6fcd2240b5283", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/cli/cmd/db.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/cli/cmd/db.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-ea4749631fcb4590", "name": "Insecure pattern 'new_function_used' in third_party/opencode/packages/opencode/src/cli/cmd/debug/agent.handler.ts:110", "shortDescription": {"text": "Insecure pattern 'new_function_used' in third_party/opencode/packages/opencode/src/cli/cmd/debug/agent.handler.ts:110"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d81998525acf8edc", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/shell/shell.ts:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/shell/shell.ts:6"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0d304cac1b5fdf29", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/lsp/launch.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/lsp/launch.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-8dd1d0104d6fac92", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/lsp/server.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/lsp/server.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-71aac143ea5214ad", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/cli/src/services/daemon.ts:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/cli/src/services/daemon.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-c7d29109c2e5124f", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/electron-builder.config.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/electron-builder.config.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-8a9a5f320458fec1", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/shell-env.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/shell-env.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-1f3b2feef9854457", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/apps.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/apps.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-8cc7b7af5382d644", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/ipc.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/ipc.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-89446fb0a8bdbdca", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/wsl/sidecar.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/wsl/sidecar.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-722b939e766592f6", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/wsl/runtime.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/wsl/runtime.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-4f20d4838ec2d558", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/theme-preload.test.ts:8", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/theme-preload.test.ts:8"}, "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-cc67a2f326ded3eb", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/addons/serialize.test.ts:17", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/addons/serialize.test.ts:17"}, "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-27ae53f420999ea3", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/components/file-tree.tsx:98", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/components/file-tree.tsx:98"}, "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-ea07b52fe654a7bd", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/components/prompt-input.tsx:534", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/components/prompt-input.tsx:534"}, "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-d549d4ad5ddf7db9", "name": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/pages/session/helpers.test.ts:75", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/pages/session/helpers.test.ts:75"}, "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-6d52cc9208b6d6b1", "name": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/app/e2e/utils/mock-server.ts:78", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/app/e2e/utils/mock-server.ts:78"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea4078a8c771808b", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/web/astro.config.mjs:10", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/web/astro.config.mjs:10"}, "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-2dc88942f3ec1d81", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/core/src/cross-spawn-spawner.ts:24", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/core/src/cross-spawn-spawner.ts:24"}, "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-577d7e1969fdb019", "name": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/console/app/src/routes/changelog.json.ts:4", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/console/app/src/routes/changelog.json.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d59d84f0a292347", "name": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/console/app/src/routes/zen/util/modelsHandler.ts:5", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/console/app/src/routes/zen/util/modelsHandler.ts:5"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3915ceaa7dc0b34d", "name": "Insecure pattern 'node_child_process' in third_party/opencode/packages/sdk/js/src/process.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/sdk/js/src/process.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-84a5e9debcc6505f", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dd05521da54f4ff2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c28645eca1195a64", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4819f8c86ec8734c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c2311212f50f826e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-56e900aff92d2365", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-06579f5bc3808289", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1565a798bc36a778", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-32a9da838c2c53ea", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-94e0741075945bd1", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bc3283103dd33313", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c40d5eaeffd000cf", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-295c1137ab5e8a76", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7bd714106220cf06", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b459de7d606c82f7", "name": "Very large file: third_party/opencode/packages/tui/src/component/prompt/index.tsx (1688 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/tui/src/component/prompt/index.tsx (1688 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-a1d5e02b4c9ddfec", "name": "Very large file: third_party/opencode/packages/tui/src/routes/session/index.tsx (2642 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/tui/src/routes/session/index.tsx (2642 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-6e4c97593e332c44", "name": "Very large file: third_party/opencode/packages/ui/src/components/timeline-playground.stories.tsx (2041 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/ui/src/components/timeline-playground.stories.tsx (2041 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-72ea1e29985c2720", "name": "Very large file: third_party/opencode/packages/ui/src/components/message-part.tsx (2413 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/ui/src/components/message-part.tsx (2413 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-28be962cdb1f9a0d", "name": "Very large file: third_party/opencode/packages/opencode/test/provider/provider.test.ts (1793 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/test/provider/provider.test.ts (1793 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-08ab856f1a20daab", "name": "Very large file: third_party/opencode/packages/opencode/test/provider/transform.test.ts (4120 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/test/provider/transform.test.ts (4120 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-86662f712bcd13dc", "name": "Very large file: third_party/opencode/packages/opencode/test/config/config.test.ts (2041 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/test/config/config.test.ts (2041 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-47052ce251d29dd6", "name": "Very large file: third_party/opencode/packages/opencode/test/cli/run/stream.transport.test.ts (2363 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/test/cli/run/stream.transport.test.ts (2363 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-7f70314961087d2e", "name": "Very large file: third_party/opencode/packages/opencode/test/control-plane/workspace.test.ts (1703 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/test/control-plane/workspace.test.ts (1703 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-2769c0331332bc24", "name": "Very large file: third_party/opencode/packages/opencode/test/server/httpapi-exercise/index.ts (1541 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/test/server/httpapi-exercise/index.ts (1541 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-d10e90c847021230", "name": "Very large file: third_party/opencode/packages/opencode/test/session/compaction.test.ts (1834 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/test/session/compaction.test.ts (1834 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-fe1e7c6ca9beee10", "name": "Very large file: third_party/opencode/packages/opencode/test/session/llm.test.ts (1932 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/test/session/llm.test.ts (1932 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-6f95c88dd914b4e0", "name": "Very large file: third_party/opencode/packages/opencode/test/session/prompt.test.ts (2280 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/test/session/prompt.test.ts (2280 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-55c1d1181f30a1c9", "name": "Very large file: third_party/opencode/packages/opencode/src/provider/provider.ts (1962 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/src/provider/provider.ts (1962 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-c0378690b7967e5b", "name": "Very large file: third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts (1593 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts (1593 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-cfa923b9956685ae", "name": "Very large file: third_party/opencode/packages/opencode/src/lsp/server.ts (1983 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/src/lsp/server.ts (1983 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-9d0a5d200125f02c", "name": "Very large file: third_party/opencode/packages/opencode/src/session/prompt.ts (1704 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/opencode/src/session/prompt.ts (1704 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-71cc91dc67bc4e3e", "name": "Very large file: third_party/opencode/packages/app/src/i18n/fr.ts (871 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/fr.ts (871 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-51dd39f8826dbc15", "name": "Very large file: third_party/opencode/packages/app/src/i18n/ru.ts (939 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/ru.ts (939 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-be637f304d436f66", "name": "Very large file: third_party/opencode/packages/app/src/i18n/uk.ts (969 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/uk.ts (969 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-5df4183387713e82", "name": "Very large file: third_party/opencode/packages/app/src/i18n/en.ts (1041 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/en.ts (1041 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-21c04d01c1745e6b", "name": "Very large file: third_party/opencode/packages/app/src/i18n/th.ts (926 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/th.ts (926 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-9dde92f9f5262ed2", "name": "Very large file: third_party/opencode/packages/app/src/i18n/de.ts (872 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/de.ts (872 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-b29b14253a116e18", "name": "Very large file: third_party/opencode/packages/app/src/i18n/es.ts (943 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/es.ts (943 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-0a769eb648a57a3e", "name": "Very large file: third_party/opencode/packages/app/src/i18n/bs.ts (936 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/bs.ts (936 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-3f86bd719661978f", "name": "Very large file: third_party/opencode/packages/app/src/i18n/ko.ts (849 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/ko.ts (849 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-939a0a6cf79a614d", "name": "Very large file: third_party/opencode/packages/app/src/i18n/ar.ts (847 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/ar.ts (847 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-78bf167e84ef51bb", "name": "Very large file: third_party/opencode/packages/app/src/i18n/pl.ts (858 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/pl.ts (858 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-4448dd06233f5442", "name": "Very large file: third_party/opencode/packages/app/src/i18n/tr.ts (945 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/tr.ts (945 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-af9337033427e74a", "name": "Very large file: third_party/opencode/packages/app/src/i18n/br.ts (860 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/br.ts (860 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-2027b269723d22d3", "name": "Very large file: third_party/opencode/packages/app/src/i18n/ja.ts (854 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/ja.ts (854 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-dacec812413e8b00", "name": "Very large file: third_party/opencode/packages/app/src/components/prompt-input.tsx (2218 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/components/prompt-input.tsx (2218 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-6cfae9bb7dbb356d", "name": "Very large file: third_party/opencode/packages/app/src/pages/layout.tsx (2561 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/pages/layout.tsx (2561 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-38722a1bd1247499", "name": "Very large file: third_party/opencode/packages/app/src/pages/session.tsx (1867 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/pages/session.tsx (1867 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-8078f30ead61ddef", "name": "Very large file: third_party/opencode/packages/app/src/pages/session/message-timeline.tsx (1614 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/app/src/pages/session/message-timeline.tsx (1614 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-fe89da2cd86da317", "name": "Very large file: third_party/opencode/packages/web/src/components/icons/index.tsx (4454 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/web/src/components/icons/index.tsx (4454 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-aafa3b205987f1fe", "name": "Very large file: third_party/opencode/packages/core/test/session-runner.test.ts (3574 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/core/test/session-runner.test.ts (3574 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-ca4ea71fd221e401", "name": "Very large file: third_party/opencode/packages/core/src/github-copilot/responses/openai-responses-language-model.ts (177", "shortDescription": {"text": "Very large file: third_party/opencode/packages/core/src/github-copilot/responses/openai-responses-language-model.ts (1770 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-56340cde73148de7", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/fr.ts (834 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/fr.ts (834 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-d377d6ee17c1bef1", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/ru.ts (831 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/ru.ts (831 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-3e4ae3f65a4e912e", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/th.ts (817 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/th.ts (817 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-81b28eb51a45587d", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/de.ts (827 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/de.ts (827 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-dcebe9949b6cd334", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/es.ts (826 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/es.ts (826 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-6e5b42c1ed0941a9", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/ko.ts (814 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/ko.ts (814 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-ca0248f79b38664f", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/ar.ts (814 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/ar.ts (814 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-4c7c70ce5adb2761", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/pl.ts (827 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/pl.ts (827 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-e3cb2e9ab6a39fff", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/tr.ts (827 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/tr.ts (827 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-99e4a8cdbc03ffe1", "name": "Very large file: third_party/opencode/packages/console/app/src/i18n/ja.ts (823 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/ja.ts (823 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-544876a8ccff1cc4", "name": "Very large file: third_party/opencode/packages/console/app/src/routes/index.tsx (837 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/routes/index.tsx (837 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-5d34d3f6aeea017b", "name": "Very large file: third_party/opencode/packages/console/app/src/routes/legal/privacy-policy/index.tsx (1516 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/console/app/src/routes/legal/privacy-policy/index.tsx (1516 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-b09291d4f32e02a7", "name": "Very large file: third_party/opencode/packages/stats/app/src/routes/index.tsx (1774 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/stats/app/src/routes/index.tsx (1774 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-1318c3f137323562", "name": "Very large file: third_party/opencode/packages/sdk/js/src/v2/gen/types.gen.ts (10456 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/sdk/js/src/v2/gen/types.gen.ts (10456 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-d28096fbec1abf48", "name": "Very large file: third_party/opencode/packages/sdk/js/src/v2/gen/sdk.gen.ts (5980 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/sdk/js/src/v2/gen/sdk.gen.ts (5980 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-bee54f42f616b2fb", "name": "Very large file: third_party/opencode/packages/sdk/js/src/gen/types.gen.ts (3907 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/sdk/js/src/gen/types.gen.ts (3907 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-37eb904a068bb322", "name": "Very large file: third_party/opencode/packages/llm/test/provider/openai-responses.test.ts (1401 lines)", "shortDescription": {"text": "Very large file: third_party/opencode/packages/llm/test/provider/openai-responses.test.ts (1401 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-165c7ad6b1595cdb", "name": "Very large file: third_party/graphify/tests/test_detect.py (1302 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/tests/test_detect.py (1302 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-e85996de813085a8", "name": "Very large file: third_party/graphify/tests/test_scip_ingest.py (1670 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/tests/test_scip_ingest.py (1670 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-b1231b911d41c9de", "name": "Very large file: third_party/graphify/tests/test_languages.py (1630 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/tests/test_languages.py (1630 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-ab8939807bfe81e5", "name": "Very large file: third_party/graphify/graphify/llm.py (1953 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/graphify/llm.py (1953 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-caae067494063eba", "name": "Very large file: third_party/graphify/graphify/extract.py (11657 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/graphify/extract.py (11657 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-7088dc22aa601a30", "name": "Very large file: third_party/graphify/graphify/callflow_html.py (2020 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/graphify/callflow_html.py (2020 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-c6efb54870890abd", "name": "Very large file: third_party/graphify/graphify/export.py (1410 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/graphify/export.py (1410 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-8208534bb6a2a562", "name": "Very large file: third_party/graphify/graphify/__main__.py (4582 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/graphify/__main__.py (4582 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-e43d32116ae84499", "name": "Very large file: third_party/graphify/graphify/detect.py (1379 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/graphify/detect.py (1379 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-10124571926dbcc1", "name": "Very large file: third_party/graphify/graphify/serve.py (1311 lines)", "shortDescription": {"text": "Very large file: third_party/graphify/graphify/serve.py (1311 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-2bc4f8797027ea8a", "name": "194 TODO/FIXME markers", "shortDescription": {"text": "194 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ac318bd945f4945", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/enterprise/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/enterprise/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dac746011d8ef6f1", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/plugin/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/plugin/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3093c4dfd0196754", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/function/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/function/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-40db085611bb9d67", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/tui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/tui/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-95e195b8ca62153c", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/effect-drizzle-sqlite/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/effect-drizzle-sqlite/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-340b9263088637b2", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/ui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/ui/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-85bee94adc3eba8e", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/opencode/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/opencode/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e8454e8acef5f04", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/cli/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/cli/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1dfd899d86a14a00", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/desktop/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/desktop/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cbe6215efce9e6a5", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/storybook/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/storybook/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a60aec366541f3d1", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/app/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/app/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19a9af4e4349a1a9", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/effect-sqlite-node/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/effect-sqlite-node/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cbb8654c583a2bb0", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/web/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/web/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0c2a7ce40f405a8", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/script/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/script/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1d782c9050759fb4", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/server/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/server/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4dc0974a30bb749", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/core/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c4ad20ce413b186a", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/mail/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/mail/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3007260f3872f17", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/function/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/function/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1d99831ee5f194c", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/app/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/app/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b235697ae19fa0e", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/core/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-60cdb00542cbb1d2", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/support/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/support/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2074845c5eb48004", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/slack/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/slack/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e0d741a9d1c47f0", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/stats/app/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/stats/app/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9c1bd0826825f3c2", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/stats/server/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/stats/server/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1fa549917de77f0e", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/stats/core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/stats/core/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcb1b58bc7e10579", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/sdk/js/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/sdk/js/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18e362439f596693", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/http-recorder/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/http-recorder/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-426af84eb96cc7b1", "name": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/llm/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/llm/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "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 1158 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 1327 placeholder/mock markers across 205 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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: ci, lockfile. 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 ci, lockfile. 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-4942dfe7cfd849f0", "name": "Agent authority lacks a verifier contract: third_party/opencode/packages/opencode/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: third_party/opencode/packages/opencode/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-4e2334750438cde4", "name": "Agent authority lacks a verifier contract: third_party/opencode/packages/core/src/tool/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: third_party/opencode/packages/core/src/tool/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-6ea6defebea6f74d", "name": "Agent authority lacks a verifier contract: third_party/opencode/packages/stats/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: third_party/opencode/packages/stats/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-ab815fe72e99eb65", "name": "Agent instruction/config may expose a secret: third_party/opencode/packages/llm/AGENTS.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: third_party/opencode/packages/llm/AGENTS.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-4cf138398fe4a9e5", "name": "Commented-code block (5 lines) in cmd/praimate-gui/frontend/src/lib/stores.js:15", "shortDescription": {"text": "Commented-code block (5 lines) in cmd/praimate-gui/frontend/src/lib/stores.js:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-00d80ff7f6939096", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/sdks/vscode/src/extension.ts:94", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/sdks/vscode/src/extension.ts:94"}, "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-166f11a2966d402e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/github/index.ts:377", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/github/index.ts:377"}, "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-8ce95ced5ddf86d1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/enterprise/src/routes/api/[...path].ts:142", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/enterprise/src/routes/api/[...path].ts:142"}, "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-fe6636b33f79aaaf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/enterprise/src/core/storage.ts:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/enterprise/src/core/storage.ts:16"}, "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-e98abefddde03232", "name": "Legacy-named symbol `syncOld` in third_party/opencode/packages/enterprise/src/core/share.ts:168", "shortDescription": {"text": "Legacy-named symbol `syncOld` in third_party/opencode/packages/enterprise/src/core/share.ts:168"}, "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-d05ea04c29dc9f15", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/function/src/api.ts:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/function/src/api.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}}, {"id": "scanner-41c6567282d2f920", "name": "Legacy-named symbol `prt_old` in third_party/opencode/packages/tui/test/prompt/part.test.ts:8", "shortDescription": {"text": "Legacy-named symbol `prt_old` in third_party/opencode/packages/tui/test/prompt/part.test.ts:8"}, "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-1d79b45e18c4818a", "name": "Legacy-named symbol `msg_assistant_old` in third_party/opencode/packages/tui/test/cli/tui/sync-v2.test.tsx:536", "shortDescription": {"text": "Legacy-named symbol `msg_assistant_old` in third_party/opencode/packages/tui/test/cli/tui/sync-v2.test.tsx:536"}, "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-3f4c2c6470e9cde8", "name": "Commented-code block (10 lines) in third_party/opencode/packages/tui/test/cli/tui/prompt-submit-race.test.ts:6", "shortDescription": {"text": "Commented-code block (10 lines) in third_party/opencode/packages/tui/test/cli/tui/prompt-submit-race.test.ts: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-2739d818d2e8270c", "name": "Commented-code block (10 lines) in third_party/opencode/packages/tui/src/parsers-config.ts:158", "shortDescription": {"text": "Commented-code block (10 lines) in third_party/opencode/packages/tui/src/parsers-config.ts:158"}, "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-e0f681ff5502b345", "name": "Legacy-named symbol `session_copy` in third_party/opencode/packages/tui/src/config/keybind.ts:85", "shortDescription": {"text": "Legacy-named symbol `session_copy` in third_party/opencode/packages/tui/src/config/keybind.ts:85"}, "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-dc825f3a1cbe0394", "name": "Commented-code block (6 lines) in third_party/opencode/packages/tui/src/component/prompt/index.tsx:926", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/tui/src/component/prompt/index.tsx:926"}, "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-9273a933ba9af064", "name": "Commented-code block (5 lines) in third_party/opencode/packages/tui/src/context/thinking.ts:38", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/tui/src/context/thinking.ts:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4f02c087aefd7973", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/ui/vite.config.ts:49", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/ui/vite.config.ts:49"}, "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-9f2c94a78ea74311", "name": "Commented-code block (12 lines) in third_party/opencode/packages/ui/src/components/thinking-heading.stories.tsx:41", "shortDescription": {"text": "Commented-code block (12 lines) in third_party/opencode/packages/ui/src/components/thinking-heading.stories.tsx:41"}, "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-39509485acd1bf4d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/ui/src/theme/loader.ts:79", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/ui/src/theme/loader.ts:79"}, "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-07547bbf42255759", "name": "Commented-code block (5 lines) in third_party/opencode/packages/ui/src/pierre/worker.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/ui/src/pierre/worker.ts:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62dd1244613a610c", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/provider/gitlab-duo.test.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/provider/gitlab-duo.test.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-526a5b63e9263feb", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/provider/cf-ai-gateway-e2e.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/provider/cf-ai-gateway-e2e.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06b2829bb723ee27", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/config/entry-name.test.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/config/entry-name.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a040bd6ee33b7056", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/plugin/codex.test.ts:162", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/plugin/codex.test.ts:162"}, "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-6ccfdac5416e43a4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/plugin/openai-ws.test.ts:159", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/plugin/openai-ws.test.ts:159"}, "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-552061ab28765a48", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/cli/smokes/read-only.test.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/cli/smokes/read-only.test.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4cd19c2e5c9b4f8a", "name": "Commented-code block (8 lines) in third_party/opencode/packages/opencode/test/cli/run/scrollback.surface.test.ts:500", "shortDescription": {"text": "Commented-code block (8 lines) in third_party/opencode/packages/opencode/test/cli/run/scrollback.surface.test.ts:500"}, "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-5552e51bbaccb2df", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/cli/run/run-process.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/cli/run/run-process.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0806fdcd410750e8", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/lib/snapshot.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/lib/snapshot.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-75507c6156cf3a48", "name": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/test/lib/cli-process.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/test/lib/cli-process.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c77d64e80e4696e6", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/server/httpapi-instance.test.ts:20", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/server/httpapi-instance.test.ts:20"}, "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-5fde5fbce6649fdb", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/server/sdk-error-shape.test.ts:53", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/server/sdk-error-shape.test.ts:53"}, "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-81a4706391eaa1ce", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-workspace.test.", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-workspace.test.ts:148"}, "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-f2935447115b9175", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-provider.test.t", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-provider.test.ts:201"}, "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-26be35cdc5b403bf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/sdk-v1-smoke.test.ts:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/sdk-v1-smoke.test.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}}, {"id": "scanner-93a99cab7df919e1", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/server/httpapi-cors-vary.test.ts:21", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/server/httpapi-cors-vary.test.ts:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a015396fe61ac2c", "name": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/test/server/negative-tokens-regression.test.ts:", "shortDescription": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/test/server/negative-tokens-regression.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c86f497a20915c2", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/server/httpapi-ui.test.ts:420", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/server/httpapi-ui.test.ts:420"}, "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-acad052ec2c158b2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-listen.test.ts:", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-listen.test.ts: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-f3f5043eb2cec4a6", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/server/httpapi-sdk.test.ts:672", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/server/httpapi-sdk.test.ts:672"}, "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-edd7248e55b2fb14", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-sdk.test.ts:100", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-sdk.test.ts:100"}, "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-f4915c550240b9e1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-cors.test.ts:93", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-cors.test.ts:93"}, "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-874dfe80897aba38", "name": "Legacy-named symbol `per_httpapi_deprecated` in third_party/opencode/packages/opencode/test/server/httpapi-exercise/inde", "shortDescription": {"text": "Legacy-named symbol `per_httpapi_deprecated` in third_party/opencode/packages/opencode/test/server/httpapi-exercise/index.ts:1387"}, "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-749a88ea9255047b", "name": "Legacy-named symbol `at_old` in third_party/opencode/packages/opencode/test/account/service.test.ts:182", "shortDescription": {"text": "Legacy-named symbol `at_old` in third_party/opencode/packages/opencode/test/account/service.test.ts:182"}, "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-fedc93f1ce06a1b3", "name": "Legacy-named symbol `at_v1` in third_party/opencode/packages/opencode/test/account/repo.test.ts:294", "shortDescription": {"text": "Legacy-named symbol `at_v1` in third_party/opencode/packages/opencode/test/account/repo.test.ts:294"}, "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-4fd24a6567c32581", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/tool/parameters.test.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/tool/parameters.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02456780e4913b49", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/tool/registry.test.ts:188", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/tool/registry.test.ts:188"}, "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-6e45d88e78f7232f", "name": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/test/tool/question.test.ts:108", "shortDescription": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/test/tool/question.test.ts:108"}, "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-369fcffe21efad39", "name": "Legacy-named symbol `blockOld` in third_party/opencode/packages/opencode/test/tool/edit.test.ts:501", "shortDescription": {"text": "Legacy-named symbol `blockOld` in third_party/opencode/packages/opencode/test/tool/edit.test.ts:501"}, "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-786bc5fbe39b929b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/skill/discovery.test.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/skill/discovery.test.ts:24"}, "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-8c1fd281cd631c13", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/session/message-v2.test.ts:1613", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/session/message-v2.test.ts:1613"}, "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-19e84ab261183b57", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/session/message-v2.test.ts:153", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/session/message-v2.test.ts:1530"}, "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-52f9db6ed4c355d6", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/session/compaction.test.ts:457", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/session/compaction.test.ts:457"}, "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-b3f66a14ee80bda0", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/session/llm.test.ts:390", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/session/llm.test.ts:390"}, "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-436b33572a969fd5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/session/llm.test.ts:643", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/session/llm.test.ts:643"}, "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-d8b5908b070e5a0d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/session/retry.test.ts:355", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/session/retry.test.ts:355"}, "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-99f12a64f65d8141", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/project/instance-bootstrap.test.ts:16", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/project/instance-bootstrap.test.ts:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f77c1e608e37625a", "name": "Legacy-named symbol `ses_legacy` in third_party/opencode/packages/opencode/test/storage/storage.test.ts:249", "shortDescription": {"text": "Legacy-named symbol `ses_legacy` in third_party/opencode/packages/opencode/test/storage/storage.test.ts:249"}, "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-2f8eca88a83c2c7c", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/storage/storage.test.ts:26", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/storage/storage.test.ts:26"}, "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-9463bc1850a91fb2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/script/generate.ts:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/script/generate.ts:13"}, "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-ff51eb6ed7a02a2f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/provider/provider.ts:528", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/provider/provider.ts:528"}, "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-2d69d3afab6537c0", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/provider/transform.ts:54", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/provider/transform.ts:54"}, "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-9657433946684fca", "name": "Legacy-named symbol `hadLegacy` in third_party/opencode/packages/opencode/src/config/config.ts:56", "shortDescription": {"text": "Legacy-named symbol `hadLegacy` in third_party/opencode/packages/opencode/src/config/config.ts:56"}, "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-8e6f67600e3d0539", "name": "Legacy-named symbol `backupAndStripLegacy` in third_party/opencode/packages/opencode/src/config/tui-migrate.ts:65", "shortDescription": {"text": "Legacy-named symbol `backupAndStripLegacy` in third_party/opencode/packages/opencode/src/config/tui-migrate.ts:65"}, "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-b766ed74c31ebf57", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/config/entry-name.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/config/entry-name.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-49b3cd712af0f238", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/plugin/cloudflare.ts:66", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/plugin/cloudflare.ts:66"}, "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-2eb25efab67c4211", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/plugin/index.ts:226", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/plugin/index.ts:226"}, "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-e5e5eaac798bc51f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/index.ts:143", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/index.ts:143"}, "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-66d1913def4c1c83", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/plugin/xai.ts:113", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/plugin/xai.ts:113"}, "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-2136a1535492da9f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/xai.ts:585", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/xai.ts:585"}, "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-855c6e2939b1dfb7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/github-copilot/copilot.t", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/github-copilot/copilot.ts:174"}, "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-ede6226fbe8ad0a6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/openai/codex.ts:106", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/openai/codex.ts:106"}, "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-5b95edd7f6f1ac41", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/tui/worker.ts:24", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/tui/worker.ts:24"}, "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-8a09d30ded1ab20e", "name": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run.ts:4", "shortDescription": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-140cdc17d8faa8f1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/run.ts:878", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/run.ts:878"}, "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-a9aceb969157ec33", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/import.ts:123", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/import.ts:123"}, "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-286e758d378e602c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/providers.ts:328", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/providers.ts:328"}, "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-411396485262205a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:323", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:323"}, "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-590c5b2136aff70a", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/theme.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/theme.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c2cab849d7110b54", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/stream.transport.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/stream.transport.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f2555282b8c2729b", "name": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/footer.ts:16", "shortDescription": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/footer.ts:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd6feb624cd6bcdf", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/runtime.ts:9", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/runtime.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f94de08e94710177", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/stream.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/stream.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a10d669144176c3", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/question.shared.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/question.shared.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-acdea7e1d4639c21", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/demo.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/demo.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0e6b8ea36e65485", "name": "Commented-code block (12 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/session-data.ts:55", "shortDescription": {"text": "Commented-code block (12 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/session-data.ts:55"}, "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-3ce24ea89e325c11", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/runtime.lifecycle.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/runtime.lifecycle.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-240637734391837f", "name": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/tool.ts:6", "shortDescription": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/tool.ts: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-2fca43732f9cc5ee", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/server/server.ts:108", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/server/server.ts:108"}, "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-56d9fa3bc99fdfac", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/server/server.ts:27", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/server/server.ts:27"}, "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-95ccde270fbbddf3", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/public.ts:85", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/public.ts:85"}, "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-9aa84b6794d21798", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/server.ts:11", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/server.ts:115"}, "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-4ba9109cfb2f3d8d", "name": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/middleware/c", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/middleware/cors-vary.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6757edaa3c1d908f", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/handlers/ses", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/handlers/session.ts:252"}, "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-c27f168b366f1e82", "name": "Legacy-named symbol `contentOld` in third_party/opencode/packages/opencode/src/tool/edit.ts:86", "shortDescription": {"text": "Legacy-named symbol `contentOld` in third_party/opencode/packages/opencode/src/tool/edit.ts:86"}, "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-6cae9efbcdc830d0", "name": "Legacy-named symbol `contentOld` in third_party/opencode/packages/opencode/src/tool/write.ts:50", "shortDescription": {"text": "Legacy-named symbol `contentOld` in third_party/opencode/packages/opencode/src/tool/write.ts:50"}, "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-3135c18f43dea069", "name": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/tool/read.ts:23", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/tool/read.ts:23"}, "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-ed0309fc4e9cd911", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/lsp/server.ts:600", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/lsp/server.ts:600"}, "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-1a7eb3f7f7510a18", "name": "Commented-code block (11 lines) in third_party/opencode/packages/opencode/src/session/message-v2.ts:273", "shortDescription": {"text": "Commented-code block (11 lines) in third_party/opencode/packages/opencode/src/session/message-v2.ts:273"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4b5cd7e2da02d1d6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/session/message-v2.ts:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/session/message-v2.ts:41"}, "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-45b29afa855644d8", "name": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/session/llm/native-runtime.ts:82", "shortDescription": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/session/llm/native-runtime.ts:82"}, "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-fbd3d3f843d9af09", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/cli/script/generate.ts:5", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/cli/script/generate.ts:5"}, "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-2dcab2e46a374e53", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/cli/src/tui.ts:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/cli/src/tui.ts:29"}, "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-7ba0e417f2959339", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/desktop/scripts/finalize-latest-json.ts:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/desktop/scripts/finalize-latest-json.ts:32"}, "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-e0f1023cdee51083", "name": "Commented-code block (5 lines) in third_party/opencode/packages/desktop/src/main/migrate.ts:34", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/desktop/src/main/migrate.ts:34"}, "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-15574c85cc47b868", "name": "Legacy-named symbol `fromLegacy` in third_party/opencode/packages/app/src/utils/server-scope.ts:33", "shortDescription": {"text": "Legacy-named symbol `fromLegacy` in third_party/opencode/packages/app/src/utils/server-scope.ts:33"}, "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-7eacf4e4c7f32c3e", "name": "Legacy-named symbol `migrateLegacy` in third_party/opencode/packages/app/src/utils/persist.test.ts:143", "shortDescription": {"text": "Legacy-named symbol `migrateLegacy` in third_party/opencode/packages/app/src/utils/persist.test.ts:143"}, "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-6d658549728a13be", "name": "Legacy-named symbol `migrateLegacy` in third_party/opencode/packages/app/src/utils/persist.ts:231", "shortDescription": {"text": "Legacy-named symbol `migrateLegacy` in third_party/opencode/packages/app/src/utils/persist.ts:231"}, "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-14e99269a22a5684", "name": "Legacy-named symbol `fromLegacy` in third_party/opencode/packages/app/src/pages/layout.tsx:1378", "shortDescription": {"text": "Legacy-named symbol `fromLegacy` in third_party/opencode/packages/app/src/pages/layout.tsx:1378"}, "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-8fd593cf74638b3f", "name": "Commented-code block (6 lines) in third_party/opencode/packages/app/src/context/global-sync/bootstrap.ts:127", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/app/src/context/global-sync/bootstrap.ts:127"}, "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-6ee9bf93c07c3061", "name": "Commented-code block (8 lines) in third_party/opencode/packages/web/src/components/share/content-diff.tsx:199", "shortDescription": {"text": "Commented-code block (8 lines) in third_party/opencode/packages/web/src/components/share/content-diff.tsx:199"}, "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-bf4d546df5fb1bd6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/script/src/index.ts:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/script/src/index.ts:37"}, "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-36ecd6931f9d3a98", "name": "Legacy-named symbol `tool_old` in third_party/opencode/packages/core/test/tool-output-store.test.ts:229", "shortDescription": {"text": "Legacy-named symbol `tool_old` in third_party/opencode/packages/core/test/tool-output-store.test.ts:229"}, "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-25f7918398463a19", "name": "Legacy-named symbol `wrk_old` in third_party/opencode/packages/core/test/database-migration.test.ts:139", "shortDescription": {"text": "Legacy-named symbol `wrk_old` in third_party/opencode/packages/core/test/database-migration.test.ts:139"}, "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-31fd5bd18899fb8e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/test/git.test.ts:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/test/git.test.ts:40"}, "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-cf325772cb0fe046", "name": "Legacy-named symbol `sig_old` in third_party/opencode/packages/core/test/session-runner-message.test.ts:310", "shortDescription": {"text": "Legacy-named symbol `sig_old` in third_party/opencode/packages/core/test/session-runner-message.test.ts:310"}, "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-961ee5ccbfac4eaa", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/test/plugin/provider-google-vertex.test", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/test/plugin/provider-google-vertex.test.ts:286"}, "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-62ef0590642b4fd2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/src/repository-cache.ts:176", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/src/repository-cache.ts:176"}, "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-1cc2db0b9a2b5137", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/src/plugin/provider/google-vertex.ts:53", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/src/plugin/provider/google-vertex.ts:53"}, "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-e6c3397e8f14ff3e", "name": "Commented-code block (6 lines) in third_party/opencode/packages/console/function/src/auth.ts:56", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/console/function/src/auth.ts:56"}, "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-75ea7c9a57b5bead", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/function/src/auth.ts:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/function/src/auth.ts:43"}, "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-5f717db5d0a57fe1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/function/src/stat.ts:7", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/function/src/stat.ts:7"}, "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-bc1d243b102098f0", "name": "Commented-code block (5 lines) in third_party/opencode/packages/console/function/src/log-processor.ts:155", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/console/function/src/log-processor.ts:155"}, "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-68578cbb9287254e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/function/src/log-processor.ts:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/function/src/log-processor.ts:58"}, "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-d9f0fc628844c637", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/lib/stats-proxy.ts:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/lib/stats-proxy.ts:17"}, "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-cc5e75ad96827558", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/lib/github.ts:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/lib/github.ts:15"}, "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-3833ca741ef5b305", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/lib/salesforce.ts:54", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/lib/salesforce.ts:54"}, "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-c1f795e35225b2fc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/component/email-signup.tsx:1", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/component/email-signup.tsx:10"}, "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-7bd1b3b6f3b2915d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/openapi.json.ts:2", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/openapi.json.ts:2"}, "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-10e0f4b6a8bb5a04", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/api/enterprise.ts:39", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/api/enterprise.ts:39"}, "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-02e36ae0da0b82f0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/docs/index.ts:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/docs/index.ts:15"}, "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-dcbbfca0d48f1bb8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/docs/[...path].ts:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/docs/[...path].ts:15"}, "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-ce088c98baddfa85", "name": "Commented-code block (9 lines) in third_party/opencode/packages/console/app/src/routes/workspace/[id]/billing/billing-se", "shortDescription": {"text": "Commented-code block (9 lines) in third_party/opencode/packages/console/app/src/routes/workspace/[id]/billing/billing-section.tsx:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8f97578bf2914fbe", "name": "Commented-code block (5 lines) in third_party/opencode/packages/console/app/src/routes/workspace/[id]/billing/monthly-li", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/console/app/src/routes/workspace/[id]/billing/monthly-limit-section.tsx:47"}, "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-f7bb6e90fe323e5b", "name": "Commented-code block (5 lines) in third_party/opencode/packages/console/app/src/routes/workspace/[id]/billing/payment-se", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/console/app/src/routes/workspace/[id]/billing/payment-section.tsx:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5891cc97cd1c932d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/s/[id].ts:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/s/[id].ts:15"}, "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-282f6ad3ce1f6165", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/zen/util/handler.ts:8", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/zen/util/handler.ts:895"}, "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-a3e6a7fa1d4c42b4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/honeycomb/webhook.ts:", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/honeycomb/webhook.ts:66"}, "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-22f4c5c4efc75455", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/t/[...path].tsx:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/t/[...path].tsx:13"}, "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-3e094d9c93fb2534", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/download/[channel]/[p", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/download/[channel]/[platform].ts:33"}, "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-e4610b8f3ff0942e", "name": "Commented-code block (13 lines) in third_party/opencode/packages/console/core/script/black-gift.ts:100", "shortDescription": {"text": "Commented-code block (13 lines) in third_party/opencode/packages/console/core/script/black-gift.ts:100"}, "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-448b549a2cd59255", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/core/src/aws.ts:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/core/src/aws.ts:28"}, "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-e684f3eb603e605e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/stats/app/src/routes/stats-shell.tsx:39", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/stats/app/src/routes/stats-shell.tsx:39"}, "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-8e309c777c4fa0c7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/stats/app/src/routes/api/newsletter.ts:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/stats/app/src/routes/api/newsletter.ts:17"}, "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-06c7d393dc3f67c5", "name": "Commented-code block (6 lines) in third_party/opencode/packages/sdk/js/script/build.ts:43", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/sdk/js/script/build.ts:43"}, "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-cda5cd3bac58061b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/sdk/js/src/client.ts:38", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/sdk/js/src/client.ts:38"}, "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-a098bf440ccbfd65", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/sdk/js/src/v2/client.ts:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/sdk/js/src/v2/client.ts:58"}, "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-aecb5fdb4115b915", "name": "Legacy-named symbol `messages_copy` in third_party/opencode/packages/sdk/js/src/gen/types.gen.ts:884", "shortDescription": {"text": "Legacy-named symbol `messages_copy` in third_party/opencode/packages/sdk/js/src/gen/types.gen.ts:884"}, "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-474629d72b85135c", "name": "Commented-code block (5 lines) in third_party/opencode/packages/llm/test/recorded-scenarios.ts:22", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/test/recorded-scenarios.ts:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cb55a0ef454e9159", "name": "Commented-code block (5 lines) in third_party/opencode/packages/llm/test/provider/gemini-cache.recorded.test.ts:13", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/test/provider/gemini-cache.recorded.test.ts:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d2e6829c8572a68b", "name": "Commented-code block (5 lines) in third_party/opencode/packages/llm/test/provider/bedrock-converse.test.ts:640", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/test/provider/bedrock-converse.test.ts:640"}, "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-3bc5e1ca6a14735f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/llm/script/recording-cost-report.ts:219", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/llm/script/recording-cost-report.ts:219"}, "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-0c0b510376b34ac9", "name": "Commented-code block (6 lines) in third_party/opencode/packages/llm/example/tutorial.ts:246", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/llm/example/tutorial.ts:246"}, "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-8b2f1bfd069d8705", "name": "Commented-code block (7 lines) in third_party/opencode/packages/llm/src/cache-policy.ts:5", "shortDescription": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/llm/src/cache-policy.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd3d40f1b3f31514", "name": "Commented-code block (8 lines) in third_party/opencode/packages/llm/src/schema/options.ts:195", "shortDescription": {"text": "Commented-code block (8 lines) in third_party/opencode/packages/llm/src/schema/options.ts:195"}, "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-1d08003b7b562387", "name": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/providers/openai-options.ts:53", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/providers/openai-options.ts:53"}, "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-5058b416820104c2", "name": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/protocols/openai-responses.ts:198", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/protocols/openai-responses.ts:198"}, "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-4792ccc241bf788a", "name": "Commented-code block (6 lines) in third_party/opencode/packages/llm/src/protocols/anthropic-messages.ts:101", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/llm/src/protocols/anthropic-messages.ts:101"}, "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-953e933c6b7211f0", "name": "Commented-code block (6 lines) in third_party/opencode/packages/llm/src/protocols/gemini.ts:155", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/llm/src/protocols/gemini.ts:155"}, "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-faed32982063266f", "name": "Commented-code block (6 lines) in third_party/opencode/packages/llm/src/protocols/openai-chat.ts:29", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/llm/src/protocols/openai-chat.ts:29"}, "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-66b5308f9d38b253", "name": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/protocols/utils/openai-options.ts:61", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/protocols/utils/openai-options.ts:61"}, "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-3e9c0fbfa3d82945", "name": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/protocols/utils/bedrock-media.ts:60", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/protocols/utils/bedrock-media.ts:60"}, "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-4698e5367739de8a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/script/stats.ts:78", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/script/stats.ts:78"}, "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-a4077423653cf6dc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/script/github/close-issues.ts:30", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/script/github/close-issues.ts:30"}, "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-141c4181b8194dbc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/script/github/close-prs.ts:275", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/script/github/close-prs.ts:275"}, "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-19fc7654a1ecb1e7", "name": "Legacy-named symbol `bundle_backup` in third_party/graphify/tests/test_install_roundtrip.py:215", "shortDescription": {"text": "Legacy-named symbol `bundle_backup` in third_party/graphify/tests/test_install_roundtrip.py:215"}, "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-e3e2b2eb497b9db7", "name": "Commented-code block (5 lines) in third_party/graphify/tests/test_serve.py:100", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_serve.py:100"}, "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-a306355f882c4e11", "name": "Commented-code block (5 lines) in third_party/graphify/tests/test_extract_cli.py:37", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_extract_cli.py:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d73c3080b2a1a5a8", "name": "Commented-code block (5 lines) in third_party/graphify/tests/test_detect.py:657", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_detect.py:657"}, "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-86b57a8acf4b85f0", "name": "Legacy-named symbol `G_old` in third_party/graphify/tests/test_analyze.py:301", "shortDescription": {"text": "Legacy-named symbol `G_old` in third_party/graphify/tests/test_analyze.py:301"}, "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-0bfa180c629dba26", "name": "Commented-code block (5 lines) in third_party/graphify/tests/test_cli_export.py:304", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_cli_export.py:304"}, "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-be4991fa064a0d11", "name": "Commented-code block (5 lines) in third_party/graphify/tests/test_llm_backends.py:537", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_llm_backends.py:537"}, "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-4f66e511c07ccbfe", "name": "Legacy-named symbol `bundle_backup` in third_party/graphify/tests/test_install_references.py:49", "shortDescription": {"text": "Legacy-named symbol `bundle_backup` in third_party/graphify/tests/test_install_references.py:49"}, "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-bb1cc3330c403fe4", "name": "Legacy-named symbol `test_ts_import_alias_does_not_affect_same_named_local_symbol_when_unused` in third_party/graphify/t", "shortDescription": {"text": "Legacy-named symbol `test_ts_import_alias_does_not_affect_same_named_local_symbol_when_unused` in third_party/graphify/tests/test_js_import_resolution.py:269"}, "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-e9dc1832c8abf906", "name": "Commented-code block (5 lines) in third_party/graphify/tests/test_js_import_resolution.py:338", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_js_import_resolution.py:338"}, "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-f110c42ff0759f1f", "name": "Commented-code block (5 lines) in third_party/graphify/graphify/symbol_resolution.py:144", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/symbol_resolution.py:144"}, "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-dea913f3315edeff", "name": "Commented-code block (5 lines) in third_party/graphify/graphify/dedup.py:314", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/dedup.py:314"}, "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-ab07b4de6f22e12c", "name": "Commented-code block (6 lines) in third_party/graphify/graphify/wiki.py:230", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/wiki.py:230"}, "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-ccc4ba25c7af85a5", "name": "Legacy-named symbol `days_old` in third_party/graphify/graphify/prs.py:80", "shortDescription": {"text": "Legacy-named symbol `days_old` in third_party/graphify/graphify/prs.py:80"}, "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-570c8d8e74cf71c9", "name": "Commented-code block (6 lines) in third_party/graphify/graphify/watch.py:282", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/watch.py:282"}, "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-3cfcd09584f90ffd", "name": "Commented-code block (6 lines) in third_party/graphify/graphify/cluster.py:181", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/cluster.py:181"}, "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-06c6a9c02ddf8756", "name": "Commented-code block (5 lines) in third_party/graphify/graphify/semantic_cleanup.py:4", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/semantic_cleanup.py: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-bdbd84de0be9e294", "name": "Commented-code block (5 lines) in third_party/graphify/graphify/llm.py:1", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/llm.py: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-ab4bddffd84f32e1", "name": "Commented-code block (7 lines) in third_party/graphify/graphify/mcp_ingest.py:271", "shortDescription": {"text": "Commented-code block (7 lines) in third_party/graphify/graphify/mcp_ingest.py:271"}, "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-a41ed1d0d801c6f4", "name": "Legacy-named symbol `G_old` in third_party/graphify/graphify/analyze.py:539", "shortDescription": {"text": "Legacy-named symbol `G_old` in third_party/graphify/graphify/analyze.py:539"}, "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-f93e57755b7d49e7", "name": "Commented-code block (6 lines) in third_party/graphify/graphify/analyze.py:211", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/analyze.py:211"}, "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-6e69894f13a9ee22", "name": "Commented-code block (5 lines) in third_party/graphify/graphify/extract.py:19", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/extract.py:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-45860e0f4c6cc168", "name": "Commented-code block (6 lines) in third_party/graphify/graphify/cache.py:27", "shortDescription": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/cache.py:27"}, "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-6be7e69e85b19702", "name": "Commented-code block (8 lines) in third_party/graphify/graphify/build.py:9", "shortDescription": {"text": "Commented-code block (8 lines) in third_party/graphify/graphify/build.py:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c2ba7c17488cd9bc", "name": "Commented-code block (11 lines) in third_party/graphify/graphify/hooks.py:145", "shortDescription": {"text": "Commented-code block (11 lines) in third_party/graphify/graphify/hooks.py:145"}, "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-1570b215aeefb33c", "name": "Commented-code block (8 lines) in third_party/graphify/graphify/__main__.py:371", "shortDescription": {"text": "Commented-code block (8 lines) in third_party/graphify/graphify/__main__.py:371"}, "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-dae36b21db0b0955", "name": "Commented-code block (5 lines) in third_party/graphify/graphify/detect.py:39", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/detect.py:39"}, "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-954aa80158a57058", "name": "Legacy-named symbol `days_old` in third_party/graphify/graphify/serve.py:932", "shortDescription": {"text": "Legacy-named symbol `days_old` in third_party/graphify/graphify/serve.py:932"}, "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-ad3a93afc45a88ab", "name": "Commented-code block (5 lines) in third_party/graphify/graphify/serve.py:149", "shortDescription": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/serve.py:149"}, "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-201f3b6cf76d3e55", "name": "218 env vars used in code but missing from .env.example", "shortDescription": {"text": "218 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `AGENT`, `AICORE_DEPLOYMENT_ID`, `AICORE_RESOURCE_GROUP`, `AICORE_SERVICE_KEY`, `ANTHROPIC_API_KEY`, `APPDATA`, `AUTH_FRONTEND_URL`, `AWS_ACCESS_KEY_ID` + 210 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ecd86354d3c142ad", "name": "Near-duplicate function bodies in 20 places", "shortDescription": {"text": "Near-duplicate function bodies in 20 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nthird_party/graphify/graphify/extract.py:add_node, third_party/graphify/graphify/extract.py:add_node, third_party/graphify/graphify/extract.py:add_node, third_party/graphify/graphify/extract.py:add_node\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6431a78879620ea3", "name": "Near-duplicate function bodies in 21 places", "shortDescription": {"text": "Near-duplicate function bodies in 21 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nthird_party/graphify/graphify/extract.py:add_edge, third_party/graphify/graphify/extract.py:add_edge, third_party/graphify/graphify/extract.py:add_edge, third_party/graphify/graphify/extract.py:add_edge\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0027e313ade46c8f", "name": "Near-duplicate function bodies in 7 places", "shortDescription": {"text": "Near-duplicate function bodies in 7 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nthird_party/graphify/graphify/extract.py:ensure_named_node, third_party/graphify/graphify/extract.py:ensure_named_node, third_party/graphify/graphify/extract.py:ensure_named_node, third_party/graphify/graphify/extract.py:ensure_named_node\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee53e8e0c58609d8", "name": "Near-duplicate function bodies in 15 places", "shortDescription": {"text": "Near-duplicate function bodies in 15 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nthird_party/graphify/graphify/extract.py:walk, third_party/graphify/graphify/extract.py:walk, third_party/graphify/graphify/extract.py:walk, third_party/graphify/graphify/extract.py:walk\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe1d9311d6aee734", "name": "Near-duplicate function bodies in 12 places", "shortDescription": {"text": "Near-duplicate function bodies in 12 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nthird_party/graphify/graphify/extract.py:walk_calls, third_party/graphify/graphify/extract.py:walk_calls, third_party/graphify/graphify/extract.py:walk_calls, third_party/graphify/graphify/extract.py:walk_calls\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nthird_party/graphify/graphify/extract.py:extract_python, third_party/graphify/graphify/extract.py:extract\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-12babea62d8cd476", "name": "Frontend route `/new-session` has no Link/navigate to it \u2014 third_party/opencode/packages/app/src/app.tsx", "shortDescription": {"text": "Frontend route `/new-session` has no Link/navigate to it \u2014 third_party/opencode/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-393d6a6892893dff", "name": "Frontend route `/:dir` has no Link/navigate to it \u2014 third_party/opencode/packages/app/src/app.tsx", "shortDescription": {"text": "Frontend route `/:dir` has no Link/navigate to it \u2014 third_party/opencode/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5b8b0fbc92372837", "name": "Frontend route `/session/:id?` has no Link/navigate to it \u2014 third_party/opencode/packages/app/src/app.tsx", "shortDescription": {"text": "Frontend route `/session/:id?` has no Link/navigate to it \u2014 third_party/opencode/packages/app/src/app.tsx"}, "fullDescription": {"text": "The route is registered but no `<Link to=\u2026>` or `navigate(\u2026)` in the codebase navigates here. Either it's reachable only via direct URL (intentional), it's dead, or the link broke during a refactor."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/20147"}, "properties": {"repository": "sPROFFEs/PrAImate", "repoUrl": "https://github.com/sPROFFEs/PrAImate", "branch": "main"}, "results": [{"ruleId": "scanner-89ec192dd0e23a0b", "level": "note", "message": {"text": "Possibly dead Python function: magenta"}, "properties": {"repobilityId": "85701fc234c7f428", "scanner": "scanner-primary", "fingerprint": "89ec192dd0e23a0b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/prs.py:45"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9e2804408092d78", "level": "note", "message": {"text": "Possibly dead Python function: global_path"}, "properties": {"repobilityId": "574c784bc1dedd90", "scanner": "scanner-primary", "fingerprint": "b9e2804408092d78", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/global_graph.py:158"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45b4ac994b50f797", "level": "note", "message": {"text": "Possibly dead Python function: extract_blade"}, "properties": {"repobilityId": "874b0c94c46c14d3", "scanner": "scanner-primary", "fingerprint": "45b4ac994b50f797", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/extract.py:4258"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0b2addf2c66c4261", "level": "note", "message": {"text": "Possibly dead Python function: extract_verilog"}, "properties": {"repobilityId": "0059a50a3aa8ba48", "scanner": "scanner-primary", "fingerprint": "0b2addf2c66c4261", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/extract.py:4826"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-409f0114cce4aa76", "level": "note", "message": {"text": "Possibly dead Python function: extract_lua"}, "properties": {"repobilityId": "882f7d916c186108", "scanner": "scanner-primary", "fingerprint": "409f0114cce4aa76", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/extract.py:5199"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f72ede7d914d5f6", "level": "note", "message": {"text": "Possibly dead Python function: extract_zig"}, "properties": {"repobilityId": "5c9bc09c37bd2e30", "scanner": "scanner-primary", "fingerprint": "6f72ede7d914d5f6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/extract.py:6347"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-41f4d6a2eb58181d", "level": "note", "message": {"text": "Possibly dead Python function: node_in_section"}, "properties": {"repobilityId": "626c4d48c0effe7e", "scanner": "scanner-primary", "fingerprint": "41f4d6a2eb58181d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/callflow_html.py:899"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-354a21c72deb3af4", "level": "note", "message": {"text": "Possibly dead Python function: fallback_key"}, "properties": {"repobilityId": "9ec4fd377358cccd", "scanner": "scanner-primary", "fingerprint": "354a21c72deb3af4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/callflow_html.py:1017"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1fb98bcf60cbf928", "level": "note", "message": {"text": "Possibly dead Python function: prune_dangling_edges"}, "properties": {"repobilityId": "4f6376a40e15c621", "scanner": "scanner-primary", "fingerprint": "1fb98bcf60cbf928", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/export.py:540"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-34450d497fa25179", "level": "note", "message": {"text": "Possibly dead Python function: push_to_neo4j"}, "properties": {"repobilityId": "392aa86534127e43", "scanner": "scanner-primary", "fingerprint": "34450d497fa25179", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/export.py:1245"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-400764840e0671a1", "level": "note", "message": {"text": "Possibly dead Python function: save_semantic_cache"}, "properties": {"repobilityId": "5b1b8434053bc061", "scanner": "scanner-primary", "fingerprint": "400764840e0671a1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/cache.py:380"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b02688c5e76cb73", "level": "note", "message": {"text": "Possibly dead Python function: deduplicate_by_label"}, "properties": {"repobilityId": "eea33d3cb3df4d58", "scanner": "scanner-primary", "fingerprint": "4b02688c5e76cb73", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/build.py:322"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ec69a4c930f1e6d", "level": "note", "message": {"text": "Possibly dead Python function: xlsx_extract_structure"}, "properties": {"repobilityId": "a4737a89883c685a", "scanner": "scanner-primary", "fingerprint": "4ec69a4c930f1e6d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/graphify/graphify/detect.py:505"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d1df6587b76d9d9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/sdks/vscode/esbuild.js:14"}, "properties": {"repobilityId": "3bd66d3d88cbe7a4", "scanner": "scanner-primary", "fingerprint": "4d1df6587b76d9d9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7b2d3167b70bcd44", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/github/index.ts:155"}, "properties": {"repobilityId": "ad1a9df99f9acd38", "scanner": "scanner-primary", "fingerprint": "7b2d3167b70bcd44", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ae7eaa4287960f6c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/enterprise/test-debug.ts:29"}, "properties": {"repobilityId": "f4149a9f710921b6", "scanner": "scanner-primary", "fingerprint": "ae7eaa4287960f6c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c4f539869b5c9fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/plugin/script/publish.ts:21"}, "properties": {"repobilityId": "5a42c78f8953a946", "scanner": "scanner-primary", "fingerprint": "6c4f539869b5c9fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-effe51b1fad2596c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/function/src/api.ts:21"}, "properties": {"repobilityId": "0f4db2505ef3cc42", "scanner": "scanner-primary", "fingerprint": "effe51b1fad2596c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a33f1fa2e3f8e4ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/tui/src/app.tsx:998"}, "properties": {"repobilityId": "70c46254c08c67eb", "scanner": "scanner-primary", "fingerprint": "a33f1fa2e3f8e4ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-731b5a6db337e896", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/tui/src/parsers-config.ts:153"}, "properties": {"repobilityId": "3a30d2822c9f50e4", "scanner": "scanner-primary", "fingerprint": "731b5a6db337e896", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b75e6ce870a99a6e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/tui/src/component/prompt/index.tsx:396"}, "properties": {"repobilityId": "88cafd3e929b9fa0", "scanner": "scanner-primary", "fingerprint": "b75e6ce870a99a6e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f8595b876eb353eb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/tui/src/component/prompt/index.tsx:1007"}, "properties": {"repobilityId": "c4b7a83273073a9c", "scanner": "scanner-primary", "fingerprint": "f8595b876eb353eb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2de89bd3b0573ca3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/effect-drizzle-sqlite/examples/basic.ts:92"}, "properties": {"repobilityId": "930137e0dc234516", "scanner": "scanner-primary", "fingerprint": "2de89bd3b0573ca3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-14735cd16da418ca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/ui/script/build-oc2-v2-overrides.ts:20"}, "properties": {"repobilityId": "d7cc3c9b2166d884", "scanner": "scanner-primary", "fingerprint": "14735cd16da418ca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9c8d0541f1c174c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/ui/src/v2/components/tabs-v2.stories.tsx:127"}, "properties": {"repobilityId": "89c4e097ad436f5f", "scanner": "scanner-primary", "fingerprint": "9c8d0541f1c174c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d9e6aa0df41cfc8", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/test/provider/gitlab-duo.test.ts:2"}, "properties": {"repobilityId": "e0f10e555322b018", "scanner": "scanner-primary", "fingerprint": "0d9e6aa0df41cfc8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-3b51f4c34d6fb792", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/test/cli/run/scrollback.surface.test.ts:500"}, "properties": {"repobilityId": "56142708119ae8e7", "scanner": "scanner-primary", "fingerprint": "3b51f4c34d6fb792", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a7904556cd154121", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/cli/run/scrollback.surface.test.ts:303"}, "properties": {"repobilityId": "8ee6419c046c9f84", "scanner": "scanner-primary", "fingerprint": "a7904556cd154121", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57382635b104db94", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-ui.test.ts:229"}, "properties": {"repobilityId": "eca11ee99543106b", "scanner": "scanner-primary", "fingerprint": "57382635b104db94", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c2c7c91a51efeb4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-exercise/report.ts:22"}, "properties": {"repobilityId": "8dc44352cc7cc4cf", "scanner": "scanner-primary", "fingerprint": "3c2c7c91a51efeb4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d3a746945ebf6122", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-exercise/index.ts:1519"}, "properties": {"repobilityId": "6615d1df4568f299", "scanner": "scanner-primary", "fingerprint": "d3a746945ebf6122", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0f620ee8e5a1720", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/server/httpapi-exercise/runner.ts:203"}, "properties": {"repobilityId": "5052504d80a0c6f9", "scanner": "scanner-primary", "fingerprint": "d0f620ee8e5a1720", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56edba4962933c16", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/test/tool/shell.test.ts:114"}, "properties": {"repobilityId": "ecac8f82a423b60c", "scanner": "scanner-primary", "fingerprint": "56edba4962933c16", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ba3229fef14ab43", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/bench-test-suite.ts:21"}, "properties": {"repobilityId": "3be690fbb1164fad", "scanner": "scanner-primary", "fingerprint": "4ba3229fef14ab43", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-265bbfc7a9112bde", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/schema.ts:71"}, "properties": {"repobilityId": "9911749891fb0680", "scanner": "scanner-primary", "fingerprint": "265bbfc7a9112bde", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80ad7a015bcbc4bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/bench-search.ts:31"}, "properties": {"repobilityId": "23128f0b64611086", "scanner": "scanner-primary", "fingerprint": "80ad7a015bcbc4bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-091ec8eba76f77c7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/trace-imports.ts:108"}, "properties": {"repobilityId": "14925e4b8738ebbd", "scanner": "scanner-primary", "fingerprint": "091ec8eba76f77c7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7cdf1d481917f8de", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/profile-test-files.ts:27"}, "properties": {"repobilityId": "36a3157b7d5a7d4a", "scanner": "scanner-primary", "fingerprint": "7cdf1d481917f8de", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f9ec0e2066de74d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/generate.ts:14"}, "properties": {"repobilityId": "951a7cf745c42114", "scanner": "scanner-primary", "fingerprint": "f9ec0e2066de74d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3cfb6edddd864a43", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/build.ts:28"}, "properties": {"repobilityId": "a412e458760a303a", "scanner": "scanner-primary", "fingerprint": "3cfb6edddd864a43", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a63bfa218546f339", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/time.ts:6"}, "properties": {"repobilityId": "1b6d78c98af230fe", "scanner": "scanner-primary", "fingerprint": "a63bfa218546f339", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2679b457e0193e2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/build-node.ts:31"}, "properties": {"repobilityId": "14bc27b653165bc7", "scanner": "scanner-primary", "fingerprint": "d2679b457e0193e2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b0bab2b634fd0480", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/script/publish.ts:19"}, "properties": {"repobilityId": "8d861cc94e4f1de1", "scanner": "scanner-primary", "fingerprint": "b0bab2b634fd0480", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a383e62fdc23e682", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/provider/provider.ts:299"}, "properties": {"repobilityId": "1a53db2565c53de2", "scanner": "scanner-primary", "fingerprint": "a383e62fdc23e682", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b407060620db401c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/provider/transform.ts:64"}, "properties": {"repobilityId": "73a2af3e8e368416", "scanner": "scanner-primary", "fingerprint": "b407060620db401c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-afd193c8bca36794", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/plugin/index.ts:226"}, "properties": {"repobilityId": "08d0542b0a7c2482", "scanner": "scanner-primary", "fingerprint": "afd193c8bca36794", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ff6fe6d49495536c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/stats.ts:150"}, "properties": {"repobilityId": "ed97f0f8451fbe0e", "scanner": "scanner-primary", "fingerprint": "ff6fe6d49495536c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd7989bd5fad1fd2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/session.ts:104"}, "properties": {"repobilityId": "4d9ad3083c892e32", "scanner": "scanner-primary", "fingerprint": "fd7989bd5fad1fd2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-766845f47b829ed7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:169"}, "properties": {"repobilityId": "ee4c5078a89a309f", "scanner": "scanner-primary", "fingerprint": "766845f47b829ed7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-90f5fe63d8855fda", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:517"}, "properties": {"repobilityId": "2aad816df4c97b93", "scanner": "scanner-primary", "fingerprint": "90f5fe63d8855fda", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35201c4829f5467b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/agent.ts:225"}, "properties": {"repobilityId": "3f80c507758c46cb", "scanner": "scanner-primary", "fingerprint": "35201c4829f5467b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d77df671740bec0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/db.ts:30"}, "properties": {"repobilityId": "67212d27198756c4", "scanner": "scanner-primary", "fingerprint": "1d77df671740bec0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-be46e0f1f5f75ade", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/serve.ts:16"}, "properties": {"repobilityId": "545af496866c06d3", "scanner": "scanner-primary", "fingerprint": "be46e0f1f5f75ade", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aaa0548a51903538", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/debug/snapshot.ts:18"}, "properties": {"repobilityId": "2d48ae810ed3619b", "scanner": "scanner-primary", "fingerprint": "aaa0548a51903538", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8e196707ef30ffb8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/src/cli/cmd/debug/index.ts:61"}, "properties": {"repobilityId": "9003245b08ac8530", "scanner": "scanner-primary", "fingerprint": "8e196707ef30ffb8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48d1ff67b75a8feb", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/agent/agent.ts:382"}, "properties": {"repobilityId": "f4c51efe42d80091", "scanner": "scanner-primary", "fingerprint": "48d1ff67b75a8feb", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-076589f19996577e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/control-plane/workspace.ts:487"}, "properties": {"repobilityId": "a9f0fa30fa2a42bc", "scanner": "scanner-primary", "fingerprint": "076589f19996577e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b3b08923630dc022", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/middleware/cors-vary.ts:11"}, "properties": {"repobilityId": "565fccdef7d7566f", "scanner": "scanner-primary", "fingerprint": "b3b08923630dc022", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0485ea42c6e2796d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/account/account.ts:423"}, "properties": {"repobilityId": "4f0bc7de95b4714c", "scanner": "scanner-primary", "fingerprint": "0485ea42c6e2796d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-cd9bd60939423878", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/tool/todo.ts:6"}, "properties": {"repobilityId": "bd405fd7a74cad92", "scanner": "scanner-primary", "fingerprint": "cd9bd60939423878", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ad1d1f35ced75479", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/tool/tool.ts:15"}, "properties": {"repobilityId": "aa893941e92f409a", "scanner": "scanner-primary", "fingerprint": "ad1d1f35ced75479", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b746a3bcd9dd243d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/session/prompt.ts:1076"}, "properties": {"repobilityId": "3e3d58101cd61e8c", "scanner": "scanner-primary", "fingerprint": "b746a3bcd9dd243d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7f454e68288fe000", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/session/session.ts:446"}, "properties": {"repobilityId": "289d36d8ebaa2257", "scanner": "scanner-primary", "fingerprint": "7f454e68288fe000", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-bf16a18ab494c5ed", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/session/processor.ts:250"}, "properties": {"repobilityId": "3c6b4eb641e52bc9", "scanner": "scanner-primary", "fingerprint": "bf16a18ab494c5ed", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-62d7d5bf6b1004f7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/opencode/src/format/index.ts:140"}, "properties": {"repobilityId": "810830c75bef73d0", "scanner": "scanner-primary", "fingerprint": "62d7d5bf6b1004f7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-55e038b9e8d0d195", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/opencode/specs/v2/api.ts:46"}, "properties": {"repobilityId": "82801c7cf6ce681b", "scanner": "scanner-primary", "fingerprint": "55e038b9e8d0d195", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-320bb0ce7170aa22", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/script/generate.ts:7"}, "properties": {"repobilityId": "bda494cde308d6e8", "scanner": "scanner-primary", "fingerprint": "320bb0ce7170aa22", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0eccaa747f54b8f8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/script/build.ts:69"}, "properties": {"repobilityId": "d759fd33f37e4618", "scanner": "scanner-primary", "fingerprint": "0eccaa747f54b8f8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0a529193c402e7a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/script/publish.ts:16"}, "properties": {"repobilityId": "7c4d30acf3c7044a", "scanner": "scanner-primary", "fingerprint": "e0a529193c402e7a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1cdea57738ad9dcc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/cli/src/commands/handlers/serve.ts:20"}, "properties": {"repobilityId": "dbf5b9f2e87bbc33", "scanner": "scanner-primary", "fingerprint": "1cdea57738ad9dcc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f70df37c15864b91", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/copy-icons.ts:12"}, "properties": {"repobilityId": "063f417dd36786dd", "scanner": "scanner-primary", "fingerprint": "f70df37c15864b91", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-df32cfa6c841da9a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/finalize-latest-json.ts:214"}, "properties": {"repobilityId": "6cb2f46efb18aec2", "scanner": "scanner-primary", "fingerprint": "df32cfa6c841da9a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b8ea7bf77f4e0f1e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/utils.ts:71"}, "properties": {"repobilityId": "a87d754c639cd72f", "scanner": "scanner-primary", "fingerprint": "b8ea7bf77f4e0f1e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-703100038ee8b557", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/prepare.ts:9"}, "properties": {"repobilityId": "2dd760d455a8da80", "scanner": "scanner-primary", "fingerprint": "703100038ee8b557", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66235333faf21aca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/finalize-latest-yml.ts:121"}, "properties": {"repobilityId": "cd3eb69a2c55c9b9", "scanner": "scanner-primary", "fingerprint": "66235333faf21aca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-740708669632586f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/scripts/copy-metainfo.ts:47"}, "properties": {"repobilityId": "6bce2330917288b8", "scanner": "scanner-primary", "fingerprint": "740708669632586f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-17b880898cb153eb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/desktop/src/main/shell-env.ts:46"}, "properties": {"repobilityId": "ead29476d092a298", "scanner": "scanner-primary", "fingerprint": "17b880898cb153eb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ade31cd8adb4eb9e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/app/src/pages/session.tsx:124"}, "properties": {"repobilityId": "ca8479f47fe0288d", "scanner": "scanner-primary", "fingerprint": "ade31cd8adb4eb9e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fca0293185f4807c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/app/e2e/regression/session-timeline-context-resize.spec.ts:35"}, "properties": {"repobilityId": "36753b982f316fbb", "scanner": "scanner-primary", "fingerprint": "fca0293185f4807c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a3a6d6c283c91f9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/web/src/components/share/content-code.tsx:14"}, "properties": {"repobilityId": "60b05ff27f1b787f", "scanner": "scanner-primary", "fingerprint": "7a3a6d6c283c91f9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-579b9d7a9a4a1b71", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/script/src/index.ts:77"}, "properties": {"repobilityId": "7abcb01b605bf5bf", "scanner": "scanner-primary", "fingerprint": "579b9d7a9a4a1b71", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ee9d9c6ae883a899", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/containers/script/build.ts:41"}, "properties": {"repobilityId": "86e3f94b8183c02c", "scanner": "scanner-primary", "fingerprint": "ee9d9c6ae883a899", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af3e06de33234ee6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/core/test/process/process.test.ts:283"}, "properties": {"repobilityId": "3242eca7abb3e981", "scanner": "scanner-primary", "fingerprint": "af3e06de33234ee6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-844f47652a9da162", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/core/test/effect/cross-spawn-spawner.test.ts:76"}, "properties": {"repobilityId": "415858f40e34605f", "scanner": "scanner-primary", "fingerprint": "844f47652a9da162", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9421f92294efe7c3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/core/script/fix-node-pty.ts:26"}, "properties": {"repobilityId": "0dfcb8a982441e74", "scanner": "scanner-primary", "fingerprint": "9421f92294efe7c3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0200c451c76f83b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/file-mutation.ts:198"}, "properties": {"repobilityId": "8cb0afc21d49f687", "scanner": "scanner-primary", "fingerprint": "c0200c451c76f83b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-ee9c64afc8d77c4f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/session.ts:252"}, "properties": {"repobilityId": "0a6bae8d7fee2667", "scanner": "scanner-primary", "fingerprint": "ee9c64afc8d77c4f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-35987ea5e3e4ebb2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/github-copilot/responses/openai-responses-language-model.ts:1728"}, "properties": {"repobilityId": "dcf4023bf3772078", "scanner": "scanner-primary", "fingerprint": "35987ea5e3e4ebb2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-71b40940212d4cd1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/github-copilot/chat/openai-compatible-chat-language-model.ts:386"}, "properties": {"repobilityId": "4090df943790d5ad", "scanner": "scanner-primary", "fingerprint": "71b40940212d4cd1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7a98470325f26797", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/tool/edit.ts:83"}, "properties": {"repobilityId": "726fea5a0ab26d53", "scanner": "scanner-primary", "fingerprint": "7a98470325f26797", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-29bf290bc58ff2e6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/tool/bash.ts:80"}, "properties": {"repobilityId": "0baa2225a4925ea5", "scanner": "scanner-primary", "fingerprint": "29bf290bc58ff2e6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-62627b45810ed812", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/tool/write.ts:19"}, "properties": {"repobilityId": "df0a958a41dc8c3c", "scanner": "scanner-primary", "fingerprint": "62627b45810ed812", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-86d633f877735f7a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/public/opencode.ts:82"}, "properties": {"repobilityId": "54c1742e62128269", "scanner": "scanner-primary", "fingerprint": "86d633f877735f7a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4d76205420c3f2af", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/core/src/session/runner/to-llm-message.ts:41"}, "properties": {"repobilityId": "41fce45be4d800b9", "scanner": "scanner-primary", "fingerprint": "4d76205420c3f2af", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-17845bc09b664251", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/function/src/auth.ts:58"}, "properties": {"repobilityId": "ce311cc25f18d6e1", "scanner": "scanner-primary", "fingerprint": "17845bc09b664251", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec2407e3b653859d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/function/src/log-processor.ts:54"}, "properties": {"repobilityId": "1839757e64227ed8", "scanner": "scanner-primary", "fingerprint": "ec2407e3b653859d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0bdfb80d1efca5b4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/script/generate-sitemap.ts:89"}, "properties": {"repobilityId": "9920933f9b296a4e", "scanner": "scanner-primary", "fingerprint": "0bdfb80d1efca5b4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-45558b6b5dea7507", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/component/email-signup.tsx:20"}, "properties": {"repobilityId": "e2e6fd8234c77245", "scanner": "scanner-primary", "fingerprint": "45558b6b5dea7507", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53a988e3363ef830", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/zen/util/logger.ts:5"}, "properties": {"repobilityId": "2187afd83562eb5c", "scanner": "scanner-primary", "fingerprint": "53a988e3363ef830", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9a0ba459a44d2e8d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/zen/util/provider/anthropic.ts:134"}, "properties": {"repobilityId": "0a080040deae436f", "scanner": "scanner-primary", "fingerprint": "9a0ba459a44d2e8d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f92058552bf748dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/honeycomb/webhook.ts:85"}, "properties": {"repobilityId": "87a2ac4b038b474d", "scanner": "scanner-primary", "fingerprint": "f92058552bf748dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-76a073b063b2440e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/app/src/routes/stripe/webhook.ts:20"}, "properties": {"repobilityId": "94bbcb82cbc47c43", "scanner": "scanner-primary", "fingerprint": "76a073b063b2440e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-82e4352fd95ac9c2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/console/app/src/routes/black/workspace.tsx:26"}, "properties": {"repobilityId": "516255e6770e1c92", "scanner": "scanner-primary", "fingerprint": "82e4352fd95ac9c2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4676a2e059733939", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/disable-reload.ts:26"}, "properties": {"repobilityId": "b16d7565760011e2", "scanner": "scanner-primary", "fingerprint": "4676a2e059733939", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b74d518df985b7f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/update-models.ts:28"}, "properties": {"repobilityId": "11137de8cb57d9fd", "scanner": "scanner-primary", "fingerprint": "b74d518df985b7f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-74a9f1a578c81839", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-gift.ts:14"}, "properties": {"repobilityId": "4725a8c7470ee555", "scanner": "scanner-primary", "fingerprint": "74a9f1a578c81839", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd26cb5b59c66940", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-select-workspaces.ts:21"}, "properties": {"repobilityId": "64efed706ac710dc", "scanner": "scanner-primary", "fingerprint": "fd26cb5b59c66940", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-323dccf635a32e2e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-transfer.ts:13"}, "properties": {"repobilityId": "148978ddf8699cf4", "scanner": "scanner-primary", "fingerprint": "323dccf635a32e2e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d201181a8f4835a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-stats.ts:215"}, "properties": {"repobilityId": "0b513fa101932486", "scanner": "scanner-primary", "fingerprint": "1d201181a8f4835a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d42b73e165ab48d1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/credit-workspace.ts:35"}, "properties": {"repobilityId": "5dbee1b2ae98a51d", "scanner": "scanner-primary", "fingerprint": "d42b73e165ab48d1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3bddb06b1196fbfc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/lookup-user.ts:369"}, "properties": {"repobilityId": "ef35b0b15e37df30", "scanner": "scanner-primary", "fingerprint": "3bddb06b1196fbfc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-41a1c0d1978b9fe0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-onboard-waitlist.ts:11"}, "properties": {"repobilityId": "9bdccb451d07b6c2", "scanner": "scanner-primary", "fingerprint": "41a1c0d1978b9fe0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46aef54a041f32c2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/referral-backfill.ts:17"}, "properties": {"repobilityId": "84ea0a4b34caac19", "scanner": "scanner-primary", "fingerprint": "46aef54a041f32c2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35e0a338bd1370eb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/black-cancel-waitlist.ts:11"}, "properties": {"repobilityId": "2f438bc32a805e0c", "scanner": "scanner-primary", "fingerprint": "35e0a338bd1370eb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-33fc1dc90d4c7614", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/freeze-workspace.ts:39"}, "properties": {"repobilityId": "e7f5dcd375797d86", "scanner": "scanner-primary", "fingerprint": "33fc1dc90d4c7614", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff48e008a9308bd4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/create-api-key.ts:111"}, "properties": {"repobilityId": "509025e2603a70eb", "scanner": "scanner-primary", "fingerprint": "ff48e008a9308bd4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c61388565dc247de", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/update-limits.ts:20"}, "properties": {"repobilityId": "3fbeb1f1826357d4", "scanner": "scanner-primary", "fingerprint": "c61388565dc247de", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0fbd6a0d7533df2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/script/create-coupon.ts:24"}, "properties": {"repobilityId": "e25fb28231425ea0", "scanner": "scanner-primary", "fingerprint": "e0fbd6a0d7533df2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f0424ac01bf0449a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/console/core/src/util/log.ts:20"}, "properties": {"repobilityId": "bf8b46d5413e40a9", "scanner": "scanner-primary", "fingerprint": "f0424ac01bf0449a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f9ba0ad31c79a97", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/slack/src/index.ts:11"}, "properties": {"repobilityId": "8db6b60b27f25d20", "scanner": "scanner-primary", "fingerprint": "3f9ba0ad31c79a97", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-79cc8a2afcf6a121", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/stats/core/src/honeycomb-backfill.ts:91"}, "properties": {"repobilityId": "5cc22375d8cad75b", "scanner": "scanner-primary", "fingerprint": "79cc8a2afcf6a121", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-71fc1ae72199765f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/sdk/js/script/publish.ts:35"}, "properties": {"repobilityId": "40e20d629709d1d2", "scanner": "scanner-primary", "fingerprint": "71fc1ae72199765f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-daf510e0506e4fe0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/sdk/js/example/example.ts:11"}, "properties": {"repobilityId": "175e9f76c1e54646", "scanner": "scanner-primary", "fingerprint": "daf510e0506e4fe0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-00cf46b69617a751", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/sdk/js/src/v2/gen/client/client.gen.ts:226"}, "properties": {"repobilityId": "90546416608159bd", "scanner": "scanner-primary", "fingerprint": "00cf46b69617a751", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d9bf6d1b3eba310b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 third_party/opencode/packages/sdk/js/src/gen/client/client.gen.ts:172"}, "properties": {"repobilityId": "0c93567eb49eaab9", "scanner": "scanner-primary", "fingerprint": "d9bf6d1b3eba310b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-b166b7a5b7ba3bc1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/llm/script/recording-cost-report.ts:236"}, "properties": {"repobilityId": "c2d9244ff9a35592", "scanner": "scanner-primary", "fingerprint": "b166b7a5b7ba3bc1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c4716126a27018c1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/packages/llm/example/tutorial.ts:70"}, "properties": {"repobilityId": "a1082b7115abb6a6", "scanner": "scanner-primary", "fingerprint": "c4716126a27018c1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80f021c3977af63a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/nix/scripts/canonicalize-node-modules.ts:82"}, "properties": {"repobilityId": "efe87d08df0c7355", "scanner": "scanner-primary", "fingerprint": "80f021c3977af63a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b6bd60e635c26ba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/nix/scripts/normalize-bun-binaries.ts:48"}, "properties": {"repobilityId": "324b21f45bcaad1b", "scanner": "scanner-primary", "fingerprint": "3b6bd60e635c26ba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-176973d35b272602", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/upgrade-opentui.ts:9"}, "properties": {"repobilityId": "5457db69448c90ed", "scanner": "scanner-primary", "fingerprint": "176973d35b272602", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fecb9fabff0b4bc2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/stats.ts:87"}, "properties": {"repobilityId": "59f5f1c6655d65bc", "scanner": "scanner-primary", "fingerprint": "fecb9fabff0b4bc2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5690977d58066050", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/raw-changelog.ts:263"}, "properties": {"repobilityId": "6414ddc29bfcbc82", "scanner": "scanner-primary", "fingerprint": "5690977d58066050", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04efa5e501dcec5b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/beta.ts:30"}, "properties": {"repobilityId": "5c8d339f48321d83", "scanner": "scanner-primary", "fingerprint": "04efa5e501dcec5b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0cc6c32ca3ba7e17", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/changelog.ts:27"}, "properties": {"repobilityId": "373073128c2861d0", "scanner": "scanner-primary", "fingerprint": "0cc6c32ca3ba7e17", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a18b8468729620e3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/duplicate-pr.ts:19"}, "properties": {"repobilityId": "08d49633fef63040", "scanner": "scanner-primary", "fingerprint": "a18b8468729620e3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6b80390728e7ccf7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/publish.ts:7"}, "properties": {"repobilityId": "351abcdd1c6b110c", "scanner": "scanner-primary", "fingerprint": "6b80390728e7ccf7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-499ccd9ab2ea2859", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/github/close-issues.ts:44"}, "properties": {"repobilityId": "059a9fc4bc44a0ee", "scanner": "scanner-primary", "fingerprint": "499ccd9ab2ea2859", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-075740b5e896b2ca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 third_party/opencode/script/github/close-prs.ts:29"}, "properties": {"repobilityId": "a91241b293a7510d", "scanner": "scanner-primary", "fingerprint": "075740b5e896b2ca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b29b8f85ea974e58", "level": "warning", "message": {"text": "Privileged port 12 in use"}, "properties": {"repobilityId": "65e7eefa33f2def4", "scanner": "scanner-primary", "fingerprint": "b29b8f85ea974e58", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/stats.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-21e64aa4372aa9b1", "level": "warning", "message": {"text": "Dockerfile runs as root: third_party/opencode/packages/opencode/Dockerfile"}, "properties": {"repobilityId": "d177a3ff6c53ed93", "scanner": "scanner-primary", "fingerprint": "21e64aa4372aa9b1", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-dd30fc7545adfce8", "level": "warning", "message": {"text": "Docker base image uses a mutable or implicit tag: alpine"}, "properties": {"repobilityId": "06110a9ecff81726", "scanner": "scanner-primary", "fingerprint": "dd30fc7545adfce8", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-35bf61b46ac540e9", "level": "warning", "message": {"text": "Docker base image uses a mutable or implicit tag: build-${TARGETARCH}"}, "properties": {"repobilityId": "57aa4275ed69f717", "scanner": "scanner-primary", "fingerprint": "35bf61b46ac540e9", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/Dockerfile"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-abef486e1c274104", "level": "warning", "message": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/publish/Dockerfile"}, "properties": {"repobilityId": "b92c1ff24b83e68a", "scanner": "scanner-primary", "fingerprint": "abef486e1c274104", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-e7223d0cc4b7baf1", "level": "warning", "message": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/base/Dockerfile"}, "properties": {"repobilityId": "f9ec45dc886240c5", "scanner": "scanner-primary", "fingerprint": "e7223d0cc4b7baf1", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-7762f799244331ce", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: ubuntu:24.04"}, "properties": {"repobilityId": "e532a2c95b1f03ce", "scanner": "scanner-primary", "fingerprint": "7762f799244331ce", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/containers/base/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6115e3ef3d55353e", "level": "warning", "message": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/rust/Dockerfile"}, "properties": {"repobilityId": "84f0039981ba8d3d", "scanner": "scanner-primary", "fingerprint": "6115e3ef3d55353e", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-8b626d4a8765cf33", "level": "warning", "message": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/bun-node/Dockerfile"}, "properties": {"repobilityId": "d12af0cdb6ea91ce", "scanner": "scanner-primary", "fingerprint": "8b626d4a8765cf33", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-057bbf2de9244ba8", "level": "warning", "message": {"text": "Dockerfile runs as root: third_party/opencode/packages/containers/tauri-linux/Dockerfile"}, "properties": {"repobilityId": "81331b3c214124e8", "scanner": "scanner-primary", "fingerprint": "057bbf2de9244ba8", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-a80d85fc352900c4", "level": "warning", "message": {"text": "Dockerfile runs as root: third_party/opencode/packages/stats/server/Dockerfile"}, "properties": {"repobilityId": "402b54b62d1b38d6", "scanner": "scanner-primary", "fingerprint": "a80d85fc352900c4", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-5fad2ea53fd330a3", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: oven/bun:1.3.14-alpine"}, "properties": {"repobilityId": "0560b29d82b3be3c", "scanner": "scanner-primary", "fingerprint": "5fad2ea53fd330a3", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/stats/server/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-4e3697ba8cb52663", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/github/index.ts:10"}, "properties": {"repobilityId": "9d5296d80ad235ac", "scanner": "scanner-primary", "fingerprint": "4e3697ba8cb52663", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/github/index.ts"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-3f9239fa1f504c36", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/enterprise/src/routes/api/[...path].ts:13"}, "properties": {"repobilityId": "454fe95aefb85abf", "scanner": "scanner-primary", "fingerprint": "3f9239fa1f504c36", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/enterprise/src/routes/api/[...path].ts"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-ed1f4987ca75bf0b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/tui/src/editor.ts:6"}, "properties": {"repobilityId": "d87789c314e2741c", "scanner": "scanner-primary", "fingerprint": "ed1f4987ca75bf0b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/tui/src/editor.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-70f8cf038a24f97b", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in third_party/opencode/packages/tui/src/clipboard.ts:33"}, "properties": {"repobilityId": "b0fad12609346f1e", "scanner": "scanner-primary", "fingerprint": "70f8cf038a24f97b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/tui/src/clipboard.ts"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-5e9db53c5bfab95d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/tui/src/clipboard.ts:1"}, "properties": {"repobilityId": "4a3a039db04575f4", "scanner": "scanner-primary", "fingerprint": "5e9db53c5bfab95d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/tui/src/clipboard.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7c10d5715706ff83", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in third_party/opencode/packages/effect-drizzle-sqlite/src/internal/drizzle-utils.ts:32"}, "properties": {"repobilityId": "c191a6b79a8fdc2b", "scanner": "scanner-primary", "fingerprint": "7c10d5715706ff83", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/effect-drizzle-sqlite/src/internal/drizzle-utils.ts"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-d1a8a77057e51460", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/v2/components/icon.tsx:89"}, "properties": {"repobilityId": "1c4c1707c46a9e6a", "scanner": "scanner-primary", "fingerprint": "d1a8a77057e51460", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/ui/src/v2/components/icon.tsx"}, "region": {"startLine": 89}}}]}, {"ruleId": "scanner-e1e45658d9c3a740", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/components/icon.tsx:133"}, "properties": {"repobilityId": "50c568bc547af014", "scanner": "scanner-primary", "fingerprint": "e1e45658d9c3a740", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/ui/src/components/icon.tsx"}, "region": {"startLine": 133}}}]}, {"ruleId": "scanner-0ab58cbc6235530c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/components/markdown.tsx:91"}, "properties": {"repobilityId": "2d4a33d39ab9db66", "scanner": "scanner-primary", "fingerprint": "0ab58cbc6235530c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/ui/src/components/markdown.tsx"}, "region": {"startLine": 91}}}]}, {"ruleId": "scanner-6623be434777ead1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/components/file.tsx:500"}, "properties": {"repobilityId": "ad226a31d1473aeb", "scanner": "scanner-primary", "fingerprint": "6623be434777ead1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/ui/src/components/file.tsx"}, "region": {"startLine": 500}}}]}, {"ruleId": "scanner-72f60f95b0347dad", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/ui/src/pierre/file-find.ts:137"}, "properties": {"repobilityId": "cb1eab2db46a569f", "scanner": "scanner-primary", "fingerprint": "72f60f95b0347dad", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/ui/src/pierre/file-find.ts"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-2a9ab80db77abdb6", "level": "error", "message": {"text": "Possible secret in third_party/opencode/packages/opencode/test/server/httpapi-exercise/backend.ts"}, "properties": {"repobilityId": "2816b8b7ddb74186", "scanner": "scanner-primary", "fingerprint": "2a9ab80db77abdb6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/test/server/httpapi-exercise/backend.ts"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-a1441760238815ca", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/script/postinstall.mjs:3"}, "properties": {"repobilityId": "98cceb0bf60690b7", "scanner": "scanner-primary", "fingerprint": "a1441760238815ca", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/script/postinstall.mjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-44319449cbb6fad1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/util/process.ts:1"}, "properties": {"repobilityId": "c5055abb2e5974c3", "scanner": "scanner-primary", "fingerprint": "44319449cbb6fad1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/src/util/process.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09893f743d41102b", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:295"}, "properties": {"repobilityId": "1a61d932505f2084", "scanner": "scanner-primary", "fingerprint": "09893f743d41102b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts"}, "region": {"startLine": 295}}}]}, {"ruleId": "scanner-93819ac2b437263e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:2"}, "properties": {"repobilityId": "5e840599ffab8616", "scanner": "scanner-primary", "fingerprint": "93819ac2b437263e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-e3a6fcd2240b5283", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/cli/cmd/db.ts:2"}, "properties": {"repobilityId": "e233721f88f67273", "scanner": "scanner-primary", "fingerprint": "e3a6fcd2240b5283", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/src/cli/cmd/db.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-ea4749631fcb4590", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in third_party/opencode/packages/opencode/src/cli/cmd/debug/agent.handler.ts:110"}, "properties": {"repobilityId": "85a36e71c61564e1", "scanner": "scanner-primary", "fingerprint": "ea4749631fcb4590", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/src/cli/cmd/debug/agent.handler.ts"}, "region": {"startLine": 110}}}]}, {"ruleId": "scanner-d81998525acf8edc", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/shell/shell.ts:6"}, "properties": {"repobilityId": "18d2e4041c8f1ac0", "scanner": "scanner-primary", "fingerprint": "d81998525acf8edc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/src/shell/shell.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-0d304cac1b5fdf29", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/lsp/launch.ts:1"}, "properties": {"repobilityId": "fb411da2eed0b55c", "scanner": "scanner-primary", "fingerprint": "0d304cac1b5fdf29", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/src/lsp/launch.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8dd1d0104d6fac92", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/opencode/src/lsp/server.ts:1"}, "properties": {"repobilityId": "08a659136b96e892", "scanner": "scanner-primary", "fingerprint": "8dd1d0104d6fac92", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/src/lsp/server.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-71aac143ea5214ad", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/cli/src/services/daemon.ts:8"}, "properties": {"repobilityId": "e177b7923b147fdb", "scanner": "scanner-primary", "fingerprint": "71aac143ea5214ad", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/cli/src/services/daemon.ts"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-c7d29109c2e5124f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/electron-builder.config.ts:1"}, "properties": {"repobilityId": "55308fc397d902ed", "scanner": "scanner-primary", "fingerprint": "c7d29109c2e5124f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/desktop/electron-builder.config.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a9a5f320458fec1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/shell-env.ts:1"}, "properties": {"repobilityId": "7ca9092bd6e84ec0", "scanner": "scanner-primary", "fingerprint": "8a9a5f320458fec1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/desktop/src/main/shell-env.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f3b2feef9854457", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/apps.ts:1"}, "properties": {"repobilityId": "96fa9a4b94a33673", "scanner": "scanner-primary", "fingerprint": "1f3b2feef9854457", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/desktop/src/main/apps.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8cc7b7af5382d644", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/ipc.ts:1"}, "properties": {"repobilityId": "b7aea05aabf1bcdd", "scanner": "scanner-primary", "fingerprint": "8cc7b7af5382d644", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/desktop/src/main/ipc.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-89446fb0a8bdbdca", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/wsl/sidecar.ts:1"}, "properties": {"repobilityId": "6651d64131dfb966", "scanner": "scanner-primary", "fingerprint": "89446fb0a8bdbdca", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/desktop/src/main/wsl/sidecar.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-722b939e766592f6", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/desktop/src/main/wsl/runtime.ts:1"}, "properties": {"repobilityId": "4cbedfb0550ed4ae", "scanner": "scanner-primary", "fingerprint": "722b939e766592f6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/desktop/src/main/wsl/runtime.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4f20d4838ec2d558", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/theme-preload.test.ts:8"}, "properties": {"repobilityId": "d552867000271fc9", "scanner": "scanner-primary", "fingerprint": "4f20d4838ec2d558", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/app/src/theme-preload.test.ts"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-cc67a2f326ded3eb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/addons/serialize.test.ts:17"}, "properties": {"repobilityId": "2bba75a8de3382f0", "scanner": "scanner-primary", "fingerprint": "cc67a2f326ded3eb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/app/src/addons/serialize.test.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-27ae53f420999ea3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/components/file-tree.tsx:98"}, "properties": {"repobilityId": "7bd621c9af9d4807", "scanner": "scanner-primary", "fingerprint": "27ae53f420999ea3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/app/src/components/file-tree.tsx"}, "region": {"startLine": 98}}}]}, {"ruleId": "scanner-ea07b52fe654a7bd", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/components/prompt-input.tsx:534"}, "properties": {"repobilityId": "3cd711059eeb0e0e", "scanner": "scanner-primary", "fingerprint": "ea07b52fe654a7bd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/app/src/components/prompt-input.tsx"}, "region": {"startLine": 534}}}]}, {"ruleId": "scanner-d549d4ad5ddf7db9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in third_party/opencode/packages/app/src/pages/session/helpers.test.ts:75"}, "properties": {"repobilityId": "6e291e4958b420fe", "scanner": "scanner-primary", "fingerprint": "d549d4ad5ddf7db9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/app/src/pages/session/helpers.test.ts"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-6d52cc9208b6d6b1", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/app/e2e/utils/mock-server.ts:78"}, "properties": {"repobilityId": "62202c76de09f042", "scanner": "scanner-primary", "fingerprint": "6d52cc9208b6d6b1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/app/e2e/utils/mock-server.ts"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-ea4078a8c771808b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/web/astro.config.mjs:10"}, "properties": {"repobilityId": "a7e6b7e282dd7e81", "scanner": "scanner-primary", "fingerprint": "ea4078a8c771808b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/web/astro.config.mjs"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-2dc88942f3ec1d81", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/core/src/cross-spawn-spawner.ts:24"}, "properties": {"repobilityId": "d8625c595aeb01bd", "scanner": "scanner-primary", "fingerprint": "2dc88942f3ec1d81", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/core/src/cross-spawn-spawner.ts"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-577d7e1969fdb019", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/console/app/src/routes/changelog.json.ts:4"}, "properties": {"repobilityId": "0e7737b8008f2b0c", "scanner": "scanner-primary", "fingerprint": "577d7e1969fdb019", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/console/app/src/routes/changelog.json.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-9d59d84f0a292347", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in third_party/opencode/packages/console/app/src/routes/zen/util/modelsHandler.ts:5"}, "properties": {"repobilityId": "e1c7fd4dbd867447", "scanner": "scanner-primary", "fingerprint": "9d59d84f0a292347", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/console/app/src/routes/zen/util/modelsHandler.ts"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-3915ceaa7dc0b34d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in third_party/opencode/packages/sdk/js/src/process.ts:1"}, "properties": {"repobilityId": "0af087505c5e4f43", "scanner": "scanner-primary", "fingerprint": "3915ceaa7dc0b34d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/sdk/js/src/process.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84a5e9debcc6505f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "98f45d1ff5b6a76d", "scanner": "scanner-primary", "fingerprint": "84a5e9debcc6505f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/stats.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dd05521da54f4ff2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ab758e8246648e6f", "scanner": "scanner-primary", "fingerprint": "dd05521da54f4ff2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/publish-github-action.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c28645eca1195a64", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "124688186c7441d2", "scanner": "scanner-primary", "fingerprint": "c28645eca1195a64", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/publish-vscode.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4819f8c86ec8734c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "43b11d7fd7f2d576", "scanner": "scanner-primary", "fingerprint": "4819f8c86ec8734c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/deploy.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c2311212f50f826e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d63dfd941d89abab", "scanner": "scanner-primary", "fingerprint": "c2311212f50f826e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/containers.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-56e900aff92d2365", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "16e8db154d0fc38c", "scanner": "scanner-primary", "fingerprint": "56e900aff92d2365", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/opencode.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-06579f5bc3808289", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "fd458ec72bb0b2cd", "scanner": "scanner-primary", "fingerprint": "06579f5bc3808289", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/docs-update.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1565a798bc36a778", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "84b8614722ee6cf1", "scanner": "scanner-primary", "fingerprint": "1565a798bc36a778", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/generate.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-32a9da838c2c53ea", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "d02325bcdbb7a928", "scanner": "scanner-primary", "fingerprint": "32a9da838c2c53ea", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/release-github-action.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-94e0741075945bd1", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b94a642a78e7c6a3", "scanner": "scanner-primary", "fingerprint": "94e0741075945bd1", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/beta.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bc3283103dd33313", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ecf2160937b827b1", "scanner": "scanner-primary", "fingerprint": "bc3283103dd33313", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/docs-locale-sync.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c40d5eaeffd000cf", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "da816b77a3acf970", "scanner": "scanner-primary", "fingerprint": "c40d5eaeffd000cf", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/nix-hashes.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-295c1137ab5e8a76", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8d2ddc0d16f79302", "scanner": "scanner-primary", "fingerprint": "295c1137ab5e8a76", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/.github/workflows/publish.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7bd714106220cf06", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "c8faf7f63f4c53c0", "scanner": "scanner-primary", "fingerprint": "7bd714106220cf06", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b459de7d606c82f7", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/tui/src/component/prompt/index.tsx (1688 lines)"}, "properties": {"repobilityId": "cf9d43d6e3df9762", "scanner": "scanner-primary", "fingerprint": "b459de7d606c82f7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a1d5e02b4c9ddfec", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/tui/src/routes/session/index.tsx (2642 lines)"}, "properties": {"repobilityId": "2e8c877fef4df774", "scanner": "scanner-primary", "fingerprint": "a1d5e02b4c9ddfec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6e4c97593e332c44", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/ui/src/components/timeline-playground.stories.tsx (2041 lines)"}, "properties": {"repobilityId": "ce36d61f994ffa42", "scanner": "scanner-primary", "fingerprint": "6e4c97593e332c44", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-72ea1e29985c2720", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/ui/src/components/message-part.tsx (2413 lines)"}, "properties": {"repobilityId": "a2e59fd97e634420", "scanner": "scanner-primary", "fingerprint": "72ea1e29985c2720", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-28be962cdb1f9a0d", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/test/provider/provider.test.ts (1793 lines)"}, "properties": {"repobilityId": "ff50807f95dd13d3", "scanner": "scanner-primary", "fingerprint": "28be962cdb1f9a0d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-08ab856f1a20daab", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/test/provider/transform.test.ts (4120 lines)"}, "properties": {"repobilityId": "47e5a6b7651828cd", "scanner": "scanner-primary", "fingerprint": "08ab856f1a20daab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-86662f712bcd13dc", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/test/config/config.test.ts (2041 lines)"}, "properties": {"repobilityId": "a6db21c24b415a96", "scanner": "scanner-primary", "fingerprint": "86662f712bcd13dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-47052ce251d29dd6", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/test/cli/run/stream.transport.test.ts (2363 lines)"}, "properties": {"repobilityId": "dcb9a7940610e661", "scanner": "scanner-primary", "fingerprint": "47052ce251d29dd6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7f70314961087d2e", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/test/control-plane/workspace.test.ts (1703 lines)"}, "properties": {"repobilityId": "f8bab25b729c7472", "scanner": "scanner-primary", "fingerprint": "7f70314961087d2e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2769c0331332bc24", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/test/server/httpapi-exercise/index.ts (1541 lines)"}, "properties": {"repobilityId": "71d36236706d042e", "scanner": "scanner-primary", "fingerprint": "2769c0331332bc24", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d10e90c847021230", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/test/session/compaction.test.ts (1834 lines)"}, "properties": {"repobilityId": "f6a1cb0431f9bc60", "scanner": "scanner-primary", "fingerprint": "d10e90c847021230", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fe1e7c6ca9beee10", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/test/session/llm.test.ts (1932 lines)"}, "properties": {"repobilityId": "f7054b077f2dd079", "scanner": "scanner-primary", "fingerprint": "fe1e7c6ca9beee10", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6f95c88dd914b4e0", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/test/session/prompt.test.ts (2280 lines)"}, "properties": {"repobilityId": "07c9f80e79f2a58c", "scanner": "scanner-primary", "fingerprint": "6f95c88dd914b4e0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-55c1d1181f30a1c9", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/src/provider/provider.ts (1962 lines)"}, "properties": {"repobilityId": "1f3d104655c83daa", "scanner": "scanner-primary", "fingerprint": "55c1d1181f30a1c9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c0378690b7967e5b", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts (1593 lines)"}, "properties": {"repobilityId": "b7947da62f8a40e3", "scanner": "scanner-primary", "fingerprint": "c0378690b7967e5b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cfa923b9956685ae", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/src/lsp/server.ts (1983 lines)"}, "properties": {"repobilityId": "aaa133fa5c8008b1", "scanner": "scanner-primary", "fingerprint": "cfa923b9956685ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9d0a5d200125f02c", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/opencode/src/session/prompt.ts (1704 lines)"}, "properties": {"repobilityId": "8c09d3c23f138af2", "scanner": "scanner-primary", "fingerprint": "9d0a5d200125f02c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-71cc91dc67bc4e3e", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/fr.ts (871 lines)"}, "properties": {"repobilityId": "491b16e6657bd276", "scanner": "scanner-primary", "fingerprint": "71cc91dc67bc4e3e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-51dd39f8826dbc15", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/ru.ts (939 lines)"}, "properties": {"repobilityId": "7c202b1f86331828", "scanner": "scanner-primary", "fingerprint": "51dd39f8826dbc15", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-be637f304d436f66", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/uk.ts (969 lines)"}, "properties": {"repobilityId": "17b562343bf9ce09", "scanner": "scanner-primary", "fingerprint": "be637f304d436f66", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5df4183387713e82", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/en.ts (1041 lines)"}, "properties": {"repobilityId": "fb360d745d155b87", "scanner": "scanner-primary", "fingerprint": "5df4183387713e82", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-21c04d01c1745e6b", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/th.ts (926 lines)"}, "properties": {"repobilityId": "befc41b4926e1cc6", "scanner": "scanner-primary", "fingerprint": "21c04d01c1745e6b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9dde92f9f5262ed2", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/de.ts (872 lines)"}, "properties": {"repobilityId": "95cee9e7ea71022d", "scanner": "scanner-primary", "fingerprint": "9dde92f9f5262ed2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b29b14253a116e18", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/es.ts (943 lines)"}, "properties": {"repobilityId": "5e91f4b862de2a79", "scanner": "scanner-primary", "fingerprint": "b29b14253a116e18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0a769eb648a57a3e", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/bs.ts (936 lines)"}, "properties": {"repobilityId": "84fe6ba0d7cc7c57", "scanner": "scanner-primary", "fingerprint": "0a769eb648a57a3e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3f86bd719661978f", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/ko.ts (849 lines)"}, "properties": {"repobilityId": "30e6fbb9ab4eba92", "scanner": "scanner-primary", "fingerprint": "3f86bd719661978f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-939a0a6cf79a614d", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/ar.ts (847 lines)"}, "properties": {"repobilityId": "4d6135e804555860", "scanner": "scanner-primary", "fingerprint": "939a0a6cf79a614d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-78bf167e84ef51bb", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/pl.ts (858 lines)"}, "properties": {"repobilityId": "a5a6287efc4c6606", "scanner": "scanner-primary", "fingerprint": "78bf167e84ef51bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4448dd06233f5442", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/tr.ts (945 lines)"}, "properties": {"repobilityId": "ec7cae865417c5d1", "scanner": "scanner-primary", "fingerprint": "4448dd06233f5442", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-af9337033427e74a", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/br.ts (860 lines)"}, "properties": {"repobilityId": "1cfe41ac43248877", "scanner": "scanner-primary", "fingerprint": "af9337033427e74a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2027b269723d22d3", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/i18n/ja.ts (854 lines)"}, "properties": {"repobilityId": "61c38022ba0deffe", "scanner": "scanner-primary", "fingerprint": "2027b269723d22d3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dacec812413e8b00", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/components/prompt-input.tsx (2218 lines)"}, "properties": {"repobilityId": "5e9a0c63b6c43797", "scanner": "scanner-primary", "fingerprint": "dacec812413e8b00", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6cfae9bb7dbb356d", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/pages/layout.tsx (2561 lines)"}, "properties": {"repobilityId": "ea49461c187813df", "scanner": "scanner-primary", "fingerprint": "6cfae9bb7dbb356d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-38722a1bd1247499", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/pages/session.tsx (1867 lines)"}, "properties": {"repobilityId": "bff0ffd748401ada", "scanner": "scanner-primary", "fingerprint": "38722a1bd1247499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8078f30ead61ddef", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/app/src/pages/session/message-timeline.tsx (1614 lines)"}, "properties": {"repobilityId": "19a217f3e06d72da", "scanner": "scanner-primary", "fingerprint": "8078f30ead61ddef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fe89da2cd86da317", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/web/src/components/icons/index.tsx (4454 lines)"}, "properties": {"repobilityId": "3c4cbb94bc2bd3a0", "scanner": "scanner-primary", "fingerprint": "fe89da2cd86da317", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-aafa3b205987f1fe", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/core/test/session-runner.test.ts (3574 lines)"}, "properties": {"repobilityId": "d1117af3b57dde54", "scanner": "scanner-primary", "fingerprint": "aafa3b205987f1fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ca4ea71fd221e401", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/core/src/github-copilot/responses/openai-responses-language-model.ts (1770 lines)"}, "properties": {"repobilityId": "5ce7ea1c07cabfaf", "scanner": "scanner-primary", "fingerprint": "ca4ea71fd221e401", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-56340cde73148de7", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/fr.ts (834 lines)"}, "properties": {"repobilityId": "a29e3aab4b063a93", "scanner": "scanner-primary", "fingerprint": "56340cde73148de7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d377d6ee17c1bef1", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/ru.ts (831 lines)"}, "properties": {"repobilityId": "287d7df738ccc48f", "scanner": "scanner-primary", "fingerprint": "d377d6ee17c1bef1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3e4ae3f65a4e912e", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/th.ts (817 lines)"}, "properties": {"repobilityId": "3e5abb475740c5d2", "scanner": "scanner-primary", "fingerprint": "3e4ae3f65a4e912e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-81b28eb51a45587d", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/de.ts (827 lines)"}, "properties": {"repobilityId": "53a08ed9a64c3578", "scanner": "scanner-primary", "fingerprint": "81b28eb51a45587d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dcebe9949b6cd334", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/es.ts (826 lines)"}, "properties": {"repobilityId": "ec29f7a819aefda8", "scanner": "scanner-primary", "fingerprint": "dcebe9949b6cd334", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6e5b42c1ed0941a9", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/ko.ts (814 lines)"}, "properties": {"repobilityId": "9186cc6932355b7a", "scanner": "scanner-primary", "fingerprint": "6e5b42c1ed0941a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ca0248f79b38664f", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/ar.ts (814 lines)"}, "properties": {"repobilityId": "1f9db26d6adc8741", "scanner": "scanner-primary", "fingerprint": "ca0248f79b38664f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4c7c70ce5adb2761", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/pl.ts (827 lines)"}, "properties": {"repobilityId": "09f20b23a724adcc", "scanner": "scanner-primary", "fingerprint": "4c7c70ce5adb2761", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e3cb2e9ab6a39fff", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/tr.ts (827 lines)"}, "properties": {"repobilityId": "025b0f45239aad58", "scanner": "scanner-primary", "fingerprint": "e3cb2e9ab6a39fff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-99e4a8cdbc03ffe1", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/i18n/ja.ts (823 lines)"}, "properties": {"repobilityId": "2c6b2bb8f8dc5403", "scanner": "scanner-primary", "fingerprint": "99e4a8cdbc03ffe1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-544876a8ccff1cc4", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/routes/index.tsx (837 lines)"}, "properties": {"repobilityId": "55c18f3867e667c8", "scanner": "scanner-primary", "fingerprint": "544876a8ccff1cc4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5d34d3f6aeea017b", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/console/app/src/routes/legal/privacy-policy/index.tsx (1516 lines)"}, "properties": {"repobilityId": "c3eaba657d26333e", "scanner": "scanner-primary", "fingerprint": "5d34d3f6aeea017b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b09291d4f32e02a7", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/stats/app/src/routes/index.tsx (1774 lines)"}, "properties": {"repobilityId": "00adeed8ec716866", "scanner": "scanner-primary", "fingerprint": "b09291d4f32e02a7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1318c3f137323562", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/sdk/js/src/v2/gen/types.gen.ts (10456 lines)"}, "properties": {"repobilityId": "bfabdcb2a5e1d5e6", "scanner": "scanner-primary", "fingerprint": "1318c3f137323562", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d28096fbec1abf48", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/sdk/js/src/v2/gen/sdk.gen.ts (5980 lines)"}, "properties": {"repobilityId": "c7f79809f9d8263e", "scanner": "scanner-primary", "fingerprint": "d28096fbec1abf48", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bee54f42f616b2fb", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/sdk/js/src/gen/types.gen.ts (3907 lines)"}, "properties": {"repobilityId": "ac1bcdd9c23167bd", "scanner": "scanner-primary", "fingerprint": "bee54f42f616b2fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-37eb904a068bb322", "level": "note", "message": {"text": "Very large file: third_party/opencode/packages/llm/test/provider/openai-responses.test.ts (1401 lines)"}, "properties": {"repobilityId": "073ace69ffccd0c0", "scanner": "scanner-primary", "fingerprint": "37eb904a068bb322", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-165c7ad6b1595cdb", "level": "note", "message": {"text": "Very large file: third_party/graphify/tests/test_detect.py (1302 lines)"}, "properties": {"repobilityId": "e4360107ebefc819", "scanner": "scanner-primary", "fingerprint": "165c7ad6b1595cdb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e85996de813085a8", "level": "note", "message": {"text": "Very large file: third_party/graphify/tests/test_scip_ingest.py (1670 lines)"}, "properties": {"repobilityId": "ebbe0d0139149160", "scanner": "scanner-primary", "fingerprint": "e85996de813085a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b1231b911d41c9de", "level": "note", "message": {"text": "Very large file: third_party/graphify/tests/test_languages.py (1630 lines)"}, "properties": {"repobilityId": "21e54101c9d71806", "scanner": "scanner-primary", "fingerprint": "b1231b911d41c9de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ab8939807bfe81e5", "level": "note", "message": {"text": "Very large file: third_party/graphify/graphify/llm.py (1953 lines)"}, "properties": {"repobilityId": "a17e23ff0a40e8ab", "scanner": "scanner-primary", "fingerprint": "ab8939807bfe81e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-caae067494063eba", "level": "note", "message": {"text": "Very large file: third_party/graphify/graphify/extract.py (11657 lines)"}, "properties": {"repobilityId": "96e08748071f38dd", "scanner": "scanner-primary", "fingerprint": "caae067494063eba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7088dc22aa601a30", "level": "note", "message": {"text": "Very large file: third_party/graphify/graphify/callflow_html.py (2020 lines)"}, "properties": {"repobilityId": "10b4f0545ee6c0d5", "scanner": "scanner-primary", "fingerprint": "7088dc22aa601a30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c6efb54870890abd", "level": "note", "message": {"text": "Very large file: third_party/graphify/graphify/export.py (1410 lines)"}, "properties": {"repobilityId": "05e8b008eec3082c", "scanner": "scanner-primary", "fingerprint": "c6efb54870890abd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8208534bb6a2a562", "level": "note", "message": {"text": "Very large file: third_party/graphify/graphify/__main__.py (4582 lines)"}, "properties": {"repobilityId": "135983a7677af2f8", "scanner": "scanner-primary", "fingerprint": "8208534bb6a2a562", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e43d32116ae84499", "level": "note", "message": {"text": "Very large file: third_party/graphify/graphify/detect.py (1379 lines)"}, "properties": {"repobilityId": "61cb50087223052c", "scanner": "scanner-primary", "fingerprint": "e43d32116ae84499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-10124571926dbcc1", "level": "note", "message": {"text": "Very large file: third_party/graphify/graphify/serve.py (1311 lines)"}, "properties": {"repobilityId": "96660a334bd247ea", "scanner": "scanner-primary", "fingerprint": "10124571926dbcc1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2bc4f8797027ea8a", "level": "note", "message": {"text": "194 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "2bc4f8797027ea8a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-0ac318bd945f4945", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/enterprise/package.json"}, "properties": {"repobilityId": "62259006bceb3521", "scanner": "scanner-primary", "fingerprint": "0ac318bd945f4945", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/enterprise/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dac746011d8ef6f1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/plugin/package.json"}, "properties": {"repobilityId": "a7a48eba5e2a2df9", "scanner": "scanner-primary", "fingerprint": "dac746011d8ef6f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/plugin/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3093c4dfd0196754", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/function/package.json"}, "properties": {"repobilityId": "27406b044915d841", "scanner": "scanner-primary", "fingerprint": "3093c4dfd0196754", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/function/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40db085611bb9d67", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/tui/package.json"}, "properties": {"repobilityId": "c902100fdd32eaff", "scanner": "scanner-primary", "fingerprint": "40db085611bb9d67", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/tui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-95e195b8ca62153c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/effect-drizzle-sqlite/package.json"}, "properties": {"repobilityId": "dd79d060e68c4839", "scanner": "scanner-primary", "fingerprint": "95e195b8ca62153c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/effect-drizzle-sqlite/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-340b9263088637b2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/ui/package.json"}, "properties": {"repobilityId": "09281e4879f9872d", "scanner": "scanner-primary", "fingerprint": "340b9263088637b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/ui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-85bee94adc3eba8e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/opencode/package.json"}, "properties": {"repobilityId": "faf9bdc679f23c3e", "scanner": "scanner-primary", "fingerprint": "85bee94adc3eba8e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1e8454e8acef5f04", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/cli/package.json"}, "properties": {"repobilityId": "3db3f4e609f3e600", "scanner": "scanner-primary", "fingerprint": "1e8454e8acef5f04", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/cli/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1dfd899d86a14a00", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/desktop/package.json"}, "properties": {"repobilityId": "9d04860d942b7b79", "scanner": "scanner-primary", "fingerprint": "1dfd899d86a14a00", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/desktop/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cbe6215efce9e6a5", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/storybook/package.json"}, "properties": {"repobilityId": "9af3931625131c97", "scanner": "scanner-primary", "fingerprint": "cbe6215efce9e6a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/storybook/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a60aec366541f3d1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/app/package.json"}, "properties": {"repobilityId": "f6752fcd301cef55", "scanner": "scanner-primary", "fingerprint": "a60aec366541f3d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/app/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-19a9af4e4349a1a9", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/effect-sqlite-node/package.json"}, "properties": {"repobilityId": "fa95017e34e8ad02", "scanner": "scanner-primary", "fingerprint": "19a9af4e4349a1a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/effect-sqlite-node/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cbb8654c583a2bb0", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/web/package.json"}, "properties": {"repobilityId": "2cd3415801c21afb", "scanner": "scanner-primary", "fingerprint": "cbb8654c583a2bb0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/web/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0c2a7ce40f405a8", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/script/package.json"}, "properties": {"repobilityId": "505a5fdfcb70e7bc", "scanner": "scanner-primary", "fingerprint": "d0c2a7ce40f405a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/script/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d782c9050759fb4", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/server/package.json"}, "properties": {"repobilityId": "1ab2aacaba61adf3", "scanner": "scanner-primary", "fingerprint": "1d782c9050759fb4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/server/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f4dc0974a30bb749", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/core/package.json"}, "properties": {"repobilityId": "9b6710e3c69bba66", "scanner": "scanner-primary", "fingerprint": "f4dc0974a30bb749", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c4ad20ce413b186a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/mail/package.json"}, "properties": {"repobilityId": "3155327d2ef5bf11", "scanner": "scanner-primary", "fingerprint": "c4ad20ce413b186a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/console/mail/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b3007260f3872f17", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/function/package.json"}, "properties": {"repobilityId": "4ce8793e4fb68e36", "scanner": "scanner-primary", "fingerprint": "b3007260f3872f17", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/console/function/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f1d99831ee5f194c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/app/package.json"}, "properties": {"repobilityId": "9022e328adc96c1d", "scanner": "scanner-primary", "fingerprint": "f1d99831ee5f194c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/console/app/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b235697ae19fa0e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/core/package.json"}, "properties": {"repobilityId": "8649d64db861a267", "scanner": "scanner-primary", "fingerprint": "4b235697ae19fa0e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/console/core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-60cdb00542cbb1d2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/console/support/package.json"}, "properties": {"repobilityId": "1f79af3b3b4d2b13", "scanner": "scanner-primary", "fingerprint": "60cdb00542cbb1d2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/console/support/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2074845c5eb48004", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/slack/package.json"}, "properties": {"repobilityId": "c190b601332808d7", "scanner": "scanner-primary", "fingerprint": "2074845c5eb48004", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/slack/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4e0d741a9d1c47f0", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/stats/app/package.json"}, "properties": {"repobilityId": "52d402f1de3e3e81", "scanner": "scanner-primary", "fingerprint": "4e0d741a9d1c47f0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/stats/app/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9c1bd0826825f3c2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/stats/server/package.json"}, "properties": {"repobilityId": "33def708cf3a60b4", "scanner": "scanner-primary", "fingerprint": "9c1bd0826825f3c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/stats/server/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1fa549917de77f0e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/stats/core/package.json"}, "properties": {"repobilityId": "e0c01fc1bd5c88fa", "scanner": "scanner-primary", "fingerprint": "1fa549917de77f0e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/stats/core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dcb1b58bc7e10579", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/sdk/js/package.json"}, "properties": {"repobilityId": "4b941dcf3cc608f3", "scanner": "scanner-primary", "fingerprint": "dcb1b58bc7e10579", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/sdk/js/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-18e362439f596693", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/http-recorder/package.json"}, "properties": {"repobilityId": "257a0c468d90514f", "scanner": "scanner-primary", "fingerprint": "18e362439f596693", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/http-recorder/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-426af84eb96cc7b1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: third_party/opencode/packages/llm/package.json"}, "properties": {"repobilityId": "3e2ff03a283c53db", "scanner": "scanner-primary", "fingerprint": "426af84eb96cc7b1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/llm/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "96bc1955450b829d", "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": "d5308072274667b9", "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": "ad0d2a0cbbb4530b", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "048e56e36a6c5c12", "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": "54b69315dea51353", "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": "d3c2556014f393d5", "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": "efbd6ef0c4d70645", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-4942dfe7cfd849f0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: third_party/opencode/packages/opencode/AGENTS.md"}, "properties": {"repobilityId": "1dff257e4c9bd8ae", "scanner": "scanner-primary", "fingerprint": "4942dfe7cfd849f0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/opencode/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4e2334750438cde4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: third_party/opencode/packages/core/src/tool/AGENTS.md"}, "properties": {"repobilityId": "85bb489dc8615710", "scanner": "scanner-primary", "fingerprint": "4e2334750438cde4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/core/src/tool/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6ea6defebea6f74d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: third_party/opencode/packages/stats/AGENTS.md"}, "properties": {"repobilityId": "901c73f8d930e8c6", "scanner": "scanner-primary", "fingerprint": "6ea6defebea6f74d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/stats/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ab815fe72e99eb65", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: third_party/opencode/packages/llm/AGENTS.md"}, "properties": {"repobilityId": "a108b9cc08b8b9ef", "scanner": "scanner-primary", "fingerprint": "ab815fe72e99eb65", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "third_party/opencode/packages/llm/AGENTS.md"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-4cf138398fe4a9e5", "level": "none", "message": {"text": "Commented-code block (5 lines) in cmd/praimate-gui/frontend/src/lib/stores.js:15"}, "properties": {"repobilityId": "1cd58a2386fd33c1", "scanner": "scanner-primary", "fingerprint": "4cf138398fe4a9e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00d80ff7f6939096", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/sdks/vscode/src/extension.ts:94"}, "properties": {"repobilityId": "3e4fa9cb0e1ef915", "scanner": "scanner-primary", "fingerprint": "00d80ff7f6939096", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-166f11a2966d402e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/github/index.ts:377"}, "properties": {"repobilityId": "5a36718a67cf7882", "scanner": "scanner-primary", "fingerprint": "166f11a2966d402e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8ce95ced5ddf86d1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/enterprise/src/routes/api/[...path].ts:142"}, "properties": {"repobilityId": "02dbd7cf34a372d6", "scanner": "scanner-primary", "fingerprint": "8ce95ced5ddf86d1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fe6636b33f79aaaf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/enterprise/src/core/storage.ts:16"}, "properties": {"repobilityId": "bc0b6acfa93d0a9a", "scanner": "scanner-primary", "fingerprint": "fe6636b33f79aaaf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e98abefddde03232", "level": "note", "message": {"text": "Legacy-named symbol `syncOld` in third_party/opencode/packages/enterprise/src/core/share.ts:168"}, "properties": {"repobilityId": "6579c404b778b642", "scanner": "scanner-primary", "fingerprint": "e98abefddde03232", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d05ea04c29dc9f15", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/function/src/api.ts:20"}, "properties": {"repobilityId": "be5065c701dcde9a", "scanner": "scanner-primary", "fingerprint": "d05ea04c29dc9f15", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-41c6567282d2f920", "level": "note", "message": {"text": "Legacy-named symbol `prt_old` in third_party/opencode/packages/tui/test/prompt/part.test.ts:8"}, "properties": {"repobilityId": "647d92d32f92895f", "scanner": "scanner-primary", "fingerprint": "41c6567282d2f920", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1d79b45e18c4818a", "level": "note", "message": {"text": "Legacy-named symbol `msg_assistant_old` in third_party/opencode/packages/tui/test/cli/tui/sync-v2.test.tsx:536"}, "properties": {"repobilityId": "9a8e7196056b16ca", "scanner": "scanner-primary", "fingerprint": "1d79b45e18c4818a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3f4c2c6470e9cde8", "level": "none", "message": {"text": "Commented-code block (10 lines) in third_party/opencode/packages/tui/test/cli/tui/prompt-submit-race.test.ts:6"}, "properties": {"repobilityId": "ae5883fea2ffdba9", "scanner": "scanner-primary", "fingerprint": "3f4c2c6470e9cde8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2739d818d2e8270c", "level": "none", "message": {"text": "Commented-code block (10 lines) in third_party/opencode/packages/tui/src/parsers-config.ts:158"}, "properties": {"repobilityId": "71e7336e937594fb", "scanner": "scanner-primary", "fingerprint": "2739d818d2e8270c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0f681ff5502b345", "level": "note", "message": {"text": "Legacy-named symbol `session_copy` in third_party/opencode/packages/tui/src/config/keybind.ts:85"}, "properties": {"repobilityId": "460b34932e9b8ea7", "scanner": "scanner-primary", "fingerprint": "e0f681ff5502b345", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dc825f3a1cbe0394", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/tui/src/component/prompt/index.tsx:926"}, "properties": {"repobilityId": "ec32e60eeb9bd426", "scanner": "scanner-primary", "fingerprint": "dc825f3a1cbe0394", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9273a933ba9af064", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/tui/src/context/thinking.ts:38"}, "properties": {"repobilityId": "75406ddcf2ea5618", "scanner": "scanner-primary", "fingerprint": "9273a933ba9af064", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f02c087aefd7973", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/ui/vite.config.ts:49"}, "properties": {"repobilityId": "3d7178f22787823d", "scanner": "scanner-primary", "fingerprint": "4f02c087aefd7973", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9f2c94a78ea74311", "level": "none", "message": {"text": "Commented-code block (12 lines) in third_party/opencode/packages/ui/src/components/thinking-heading.stories.tsx:41"}, "properties": {"repobilityId": "44d6c6b76b37bd55", "scanner": "scanner-primary", "fingerprint": "9f2c94a78ea74311", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39509485acd1bf4d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/ui/src/theme/loader.ts:79"}, "properties": {"repobilityId": "46b0f82c9fa0026d", "scanner": "scanner-primary", "fingerprint": "39509485acd1bf4d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-07547bbf42255759", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/ui/src/pierre/worker.ts:14"}, "properties": {"repobilityId": "9dcbaa84497de8d5", "scanner": "scanner-primary", "fingerprint": "07547bbf42255759", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62dd1244613a610c", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/provider/gitlab-duo.test.ts:9"}, "properties": {"repobilityId": "1bfb1ee4b416f74c", "scanner": "scanner-primary", "fingerprint": "62dd1244613a610c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-526a5b63e9263feb", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/provider/cf-ai-gateway-e2e.test.ts:3"}, "properties": {"repobilityId": "10be8cc298b7241e", "scanner": "scanner-primary", "fingerprint": "526a5b63e9263feb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06b2829bb723ee27", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/config/entry-name.test.ts:5"}, "properties": {"repobilityId": "f74d13c6a5a7c32d", "scanner": "scanner-primary", "fingerprint": "06b2829bb723ee27", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a040bd6ee33b7056", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/plugin/codex.test.ts:162"}, "properties": {"repobilityId": "20bbaa81a8c9a357", "scanner": "scanner-primary", "fingerprint": "a040bd6ee33b7056", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6ccfdac5416e43a4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/plugin/openai-ws.test.ts:159"}, "properties": {"repobilityId": "649f2d54f24af3ca", "scanner": "scanner-primary", "fingerprint": "6ccfdac5416e43a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-552061ab28765a48", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/cli/smokes/read-only.test.ts:4"}, "properties": {"repobilityId": "ee2779cfd0fcaa66", "scanner": "scanner-primary", "fingerprint": "552061ab28765a48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4cd19c2e5c9b4f8a", "level": "none", "message": {"text": "Commented-code block (8 lines) in third_party/opencode/packages/opencode/test/cli/run/scrollback.surface.test.ts:500"}, "properties": {"repobilityId": "f7b743f27d4d02a4", "scanner": "scanner-primary", "fingerprint": "4cd19c2e5c9b4f8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5552e51bbaccb2df", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/cli/run/run-process.test.ts:1"}, "properties": {"repobilityId": "b3187bb689d5fd58", "scanner": "scanner-primary", "fingerprint": "5552e51bbaccb2df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0806fdcd410750e8", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/lib/snapshot.ts:3"}, "properties": {"repobilityId": "b1ab86dc277fb96e", "scanner": "scanner-primary", "fingerprint": "0806fdcd410750e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75507c6156cf3a48", "level": "none", "message": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/test/lib/cli-process.ts:8"}, "properties": {"repobilityId": "bc53f089739a5b74", "scanner": "scanner-primary", "fingerprint": "75507c6156cf3a48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c77d64e80e4696e6", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/server/httpapi-instance.test.ts:20"}, "properties": {"repobilityId": "b054184625ac3526", "scanner": "scanner-primary", "fingerprint": "c77d64e80e4696e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5fde5fbce6649fdb", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/server/sdk-error-shape.test.ts:53"}, "properties": {"repobilityId": "be05c0564495c408", "scanner": "scanner-primary", "fingerprint": "5fde5fbce6649fdb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81a4706391eaa1ce", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-workspace.test.ts:148"}, "properties": {"repobilityId": "ed11caad291ee254", "scanner": "scanner-primary", "fingerprint": "81a4706391eaa1ce", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f2935447115b9175", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-provider.test.ts:201"}, "properties": {"repobilityId": "b71a8f5ed640278f", "scanner": "scanner-primary", "fingerprint": "f2935447115b9175", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-26be35cdc5b403bf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/sdk-v1-smoke.test.ts:20"}, "properties": {"repobilityId": "893ba9f69ead2c38", "scanner": "scanner-primary", "fingerprint": "26be35cdc5b403bf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-93a99cab7df919e1", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/server/httpapi-cors-vary.test.ts:21"}, "properties": {"repobilityId": "ec88566ec995a13c", "scanner": "scanner-primary", "fingerprint": "93a99cab7df919e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a015396fe61ac2c", "level": "none", "message": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/test/server/negative-tokens-regression.test.ts:1"}, "properties": {"repobilityId": "3655273427aade39", "scanner": "scanner-primary", "fingerprint": "3a015396fe61ac2c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c86f497a20915c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/server/httpapi-ui.test.ts:420"}, "properties": {"repobilityId": "7b94d8ee93cba506", "scanner": "scanner-primary", "fingerprint": "2c86f497a20915c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-acad052ec2c158b2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-listen.test.ts:65"}, "properties": {"repobilityId": "22ee394571519bf7", "scanner": "scanner-primary", "fingerprint": "acad052ec2c158b2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f3f5043eb2cec4a6", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/server/httpapi-sdk.test.ts:672"}, "properties": {"repobilityId": "8407d11b0d4397c2", "scanner": "scanner-primary", "fingerprint": "f3f5043eb2cec4a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-edd7248e55b2fb14", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-sdk.test.ts:100"}, "properties": {"repobilityId": "f2dbc77ed84ce279", "scanner": "scanner-primary", "fingerprint": "edd7248e55b2fb14", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f4915c550240b9e1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/server/httpapi-cors.test.ts:93"}, "properties": {"repobilityId": "cfb42f491d52029c", "scanner": "scanner-primary", "fingerprint": "f4915c550240b9e1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-874dfe80897aba38", "level": "note", "message": {"text": "Legacy-named symbol `per_httpapi_deprecated` in third_party/opencode/packages/opencode/test/server/httpapi-exercise/index.ts:1387"}, "properties": {"repobilityId": "19b3840c84607ef3", "scanner": "scanner-primary", "fingerprint": "874dfe80897aba38", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-749a88ea9255047b", "level": "note", "message": {"text": "Legacy-named symbol `at_old` in third_party/opencode/packages/opencode/test/account/service.test.ts:182"}, "properties": {"repobilityId": "6bf10ec05cba2c17", "scanner": "scanner-primary", "fingerprint": "749a88ea9255047b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fedc93f1ce06a1b3", "level": "note", "message": {"text": "Legacy-named symbol `at_v1` in third_party/opencode/packages/opencode/test/account/repo.test.ts:294"}, "properties": {"repobilityId": "dcf77c165b62881e", "scanner": "scanner-primary", "fingerprint": "fedc93f1ce06a1b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4fd24a6567c32581", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/tool/parameters.test.ts:5"}, "properties": {"repobilityId": "e6114694a39c82e6", "scanner": "scanner-primary", "fingerprint": "4fd24a6567c32581", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02456780e4913b49", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/test/tool/registry.test.ts:188"}, "properties": {"repobilityId": "e41a007695289de3", "scanner": "scanner-primary", "fingerprint": "02456780e4913b49", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e45d88e78f7232f", "level": "none", "message": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/test/tool/question.test.ts:108"}, "properties": {"repobilityId": "9be292ad9ad8562e", "scanner": "scanner-primary", "fingerprint": "6e45d88e78f7232f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-369fcffe21efad39", "level": "note", "message": {"text": "Legacy-named symbol `blockOld` in third_party/opencode/packages/opencode/test/tool/edit.test.ts:501"}, "properties": {"repobilityId": "f5df007453032627", "scanner": "scanner-primary", "fingerprint": "369fcffe21efad39", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-786bc5fbe39b929b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/skill/discovery.test.ts:24"}, "properties": {"repobilityId": "d597362c4e0569be", "scanner": "scanner-primary", "fingerprint": "786bc5fbe39b929b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8c1fd281cd631c13", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/session/message-v2.test.ts:1613"}, "properties": {"repobilityId": "9bb9eef3259a0f3b", "scanner": "scanner-primary", "fingerprint": "8c1fd281cd631c13", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19e84ab261183b57", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/session/message-v2.test.ts:1530"}, "properties": {"repobilityId": "a1d9afe85e1ed9ee", "scanner": "scanner-primary", "fingerprint": "19e84ab261183b57", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-52f9db6ed4c355d6", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/session/compaction.test.ts:457"}, "properties": {"repobilityId": "362b85a7e13a7ae0", "scanner": "scanner-primary", "fingerprint": "52f9db6ed4c355d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3f66a14ee80bda0", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/session/llm.test.ts:390"}, "properties": {"repobilityId": "27315a5cc1aa1ce8", "scanner": "scanner-primary", "fingerprint": "b3f66a14ee80bda0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-436b33572a969fd5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/session/llm.test.ts:643"}, "properties": {"repobilityId": "d309e07481fed832", "scanner": "scanner-primary", "fingerprint": "436b33572a969fd5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d8b5908b070e5a0d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/test/session/retry.test.ts:355"}, "properties": {"repobilityId": "7235234c87d6d877", "scanner": "scanner-primary", "fingerprint": "d8b5908b070e5a0d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-99f12a64f65d8141", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/project/instance-bootstrap.test.ts:16"}, "properties": {"repobilityId": "74500d60d352da9a", "scanner": "scanner-primary", "fingerprint": "99f12a64f65d8141", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f77c1e608e37625a", "level": "note", "message": {"text": "Legacy-named symbol `ses_legacy` in third_party/opencode/packages/opencode/test/storage/storage.test.ts:249"}, "properties": {"repobilityId": "8cf04997a92cf7dc", "scanner": "scanner-primary", "fingerprint": "f77c1e608e37625a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2f8eca88a83c2c7c", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/test/storage/storage.test.ts:26"}, "properties": {"repobilityId": "4886bbb079efed34", "scanner": "scanner-primary", "fingerprint": "2f8eca88a83c2c7c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9463bc1850a91fb2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/script/generate.ts:13"}, "properties": {"repobilityId": "de4ed400dedaa7b3", "scanner": "scanner-primary", "fingerprint": "9463bc1850a91fb2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ff51eb6ed7a02a2f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/provider/provider.ts:528"}, "properties": {"repobilityId": "85cdfbdd2aa2b6d6", "scanner": "scanner-primary", "fingerprint": "ff51eb6ed7a02a2f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2d69d3afab6537c0", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/provider/transform.ts:54"}, "properties": {"repobilityId": "a3c44982ee3979cf", "scanner": "scanner-primary", "fingerprint": "2d69d3afab6537c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9657433946684fca", "level": "note", "message": {"text": "Legacy-named symbol `hadLegacy` in third_party/opencode/packages/opencode/src/config/config.ts:56"}, "properties": {"repobilityId": "b8061fa004c25688", "scanner": "scanner-primary", "fingerprint": "9657433946684fca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8e6f67600e3d0539", "level": "note", "message": {"text": "Legacy-named symbol `backupAndStripLegacy` in third_party/opencode/packages/opencode/src/config/tui-migrate.ts:65"}, "properties": {"repobilityId": "a2e94c63cdf07fe2", "scanner": "scanner-primary", "fingerprint": "8e6f67600e3d0539", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b766ed74c31ebf57", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/config/entry-name.ts:3"}, "properties": {"repobilityId": "b284d25f6c7e4fac", "scanner": "scanner-primary", "fingerprint": "b766ed74c31ebf57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49b3cd712af0f238", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/plugin/cloudflare.ts:66"}, "properties": {"repobilityId": "329fc396cda8125e", "scanner": "scanner-primary", "fingerprint": "49b3cd712af0f238", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2eb25efab67c4211", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/plugin/index.ts:226"}, "properties": {"repobilityId": "adb9ab02f3424525", "scanner": "scanner-primary", "fingerprint": "2eb25efab67c4211", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5e5eaac798bc51f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/index.ts:143"}, "properties": {"repobilityId": "c80406abd9f94c50", "scanner": "scanner-primary", "fingerprint": "e5e5eaac798bc51f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-66d1913def4c1c83", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/plugin/xai.ts:113"}, "properties": {"repobilityId": "5bb0e5bf76dc8686", "scanner": "scanner-primary", "fingerprint": "66d1913def4c1c83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2136a1535492da9f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/xai.ts:585"}, "properties": {"repobilityId": "decab761c450e455", "scanner": "scanner-primary", "fingerprint": "2136a1535492da9f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-855c6e2939b1dfb7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/github-copilot/copilot.ts:174"}, "properties": {"repobilityId": "bc0e7e5ab8c86c3b", "scanner": "scanner-primary", "fingerprint": "855c6e2939b1dfb7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ede6226fbe8ad0a6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/plugin/openai/codex.ts:106"}, "properties": {"repobilityId": "f11dd96360326612", "scanner": "scanner-primary", "fingerprint": "ede6226fbe8ad0a6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b95edd7f6f1ac41", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/tui/worker.ts:24"}, "properties": {"repobilityId": "613cc77692296bef", "scanner": "scanner-primary", "fingerprint": "5b95edd7f6f1ac41", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8a09d30ded1ab20e", "level": "none", "message": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run.ts:4"}, "properties": {"repobilityId": "ae5e5312f15a824c", "scanner": "scanner-primary", "fingerprint": "8a09d30ded1ab20e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-140cdc17d8faa8f1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/run.ts:878"}, "properties": {"repobilityId": "95030f8095843692", "scanner": "scanner-primary", "fingerprint": "140cdc17d8faa8f1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a9aceb969157ec33", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/import.ts:123"}, "properties": {"repobilityId": "80eecdaaa8cc8520", "scanner": "scanner-primary", "fingerprint": "a9aceb969157ec33", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-286e758d378e602c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/providers.ts:328"}, "properties": {"repobilityId": "551d0f1821fefa1c", "scanner": "scanner-primary", "fingerprint": "286e758d378e602c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-411396485262205a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/cli/cmd/github.handler.ts:323"}, "properties": {"repobilityId": "71b05d50960ec1ee", "scanner": "scanner-primary", "fingerprint": "411396485262205a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-590c5b2136aff70a", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/theme.ts:3"}, "properties": {"repobilityId": "2eb048ef48218c1f", "scanner": "scanner-primary", "fingerprint": "590c5b2136aff70a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2cab849d7110b54", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/stream.transport.ts:8"}, "properties": {"repobilityId": "93586cfaadfeb311", "scanner": "scanner-primary", "fingerprint": "c2cab849d7110b54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2555282b8c2729b", "level": "none", "message": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/footer.ts:16"}, "properties": {"repobilityId": "5bfcadbeacd540fd", "scanner": "scanner-primary", "fingerprint": "f2555282b8c2729b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd6feb624cd6bcdf", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/runtime.ts:9"}, "properties": {"repobilityId": "ea632a1bff4f874a", "scanner": "scanner-primary", "fingerprint": "cd6feb624cd6bcdf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f94de08e94710177", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/stream.ts:3"}, "properties": {"repobilityId": "39e80b4306386dfc", "scanner": "scanner-primary", "fingerprint": "f94de08e94710177", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a10d669144176c3", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/question.shared.ts:7"}, "properties": {"repobilityId": "6464d8fbc3e87437", "scanner": "scanner-primary", "fingerprint": "3a10d669144176c3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-acdea7e1d4639c21", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/demo.ts:9"}, "properties": {"repobilityId": "41677e25fa8724b7", "scanner": "scanner-primary", "fingerprint": "acdea7e1d4639c21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0e6b8ea36e65485", "level": "none", "message": {"text": "Commented-code block (12 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/session-data.ts:55"}, "properties": {"repobilityId": "b7cab5b4ca431de9", "scanner": "scanner-primary", "fingerprint": "e0e6b8ea36e65485", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ce24ea89e325c11", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/runtime.lifecycle.ts:3"}, "properties": {"repobilityId": "86eb042eb14ebdd2", "scanner": "scanner-primary", "fingerprint": "3ce24ea89e325c11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-240637734391837f", "level": "none", "message": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/cli/cmd/run/tool.ts:6"}, "properties": {"repobilityId": "9a719a9a3b4ea6a8", "scanner": "scanner-primary", "fingerprint": "240637734391837f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fca43732f9cc5ee", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/server/server.ts:108"}, "properties": {"repobilityId": "f5a4f9a5cedbd2d1", "scanner": "scanner-primary", "fingerprint": "2fca43732f9cc5ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56d9fa3bc99fdfac", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/server/server.ts:27"}, "properties": {"repobilityId": "2425a87ae8b70da7", "scanner": "scanner-primary", "fingerprint": "56d9fa3bc99fdfac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-95ccde270fbbddf3", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/public.ts:85"}, "properties": {"repobilityId": "4899cb11592e6f95", "scanner": "scanner-primary", "fingerprint": "95ccde270fbbddf3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9aa84b6794d21798", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/server.ts:115"}, "properties": {"repobilityId": "396b6fbe8e2d85fa", "scanner": "scanner-primary", "fingerprint": "9aa84b6794d21798", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ba9109cfb2f3d8d", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/middleware/cors-vary.ts:4"}, "properties": {"repobilityId": "f9e94cdaf04b73f7", "scanner": "scanner-primary", "fingerprint": "4ba9109cfb2f3d8d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6757edaa3c1d908f", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/server/routes/instance/httpapi/handlers/session.ts:252"}, "properties": {"repobilityId": "13de370f7ab3835d", "scanner": "scanner-primary", "fingerprint": "6757edaa3c1d908f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c27f168b366f1e82", "level": "note", "message": {"text": "Legacy-named symbol `contentOld` in third_party/opencode/packages/opencode/src/tool/edit.ts:86"}, "properties": {"repobilityId": "8cb5814be529071b", "scanner": "scanner-primary", "fingerprint": "c27f168b366f1e82", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6cae9efbcdc830d0", "level": "note", "message": {"text": "Legacy-named symbol `contentOld` in third_party/opencode/packages/opencode/src/tool/write.ts:50"}, "properties": {"repobilityId": "545a7e5efb0b6cd2", "scanner": "scanner-primary", "fingerprint": "6cae9efbcdc830d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3135c18f43dea069", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/opencode/src/tool/read.ts:23"}, "properties": {"repobilityId": "8536931ceed59f3f", "scanner": "scanner-primary", "fingerprint": "3135c18f43dea069", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed0309fc4e9cd911", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/lsp/server.ts:600"}, "properties": {"repobilityId": "f689d1f0a8b7e21c", "scanner": "scanner-primary", "fingerprint": "ed0309fc4e9cd911", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1a7eb3f7f7510a18", "level": "none", "message": {"text": "Commented-code block (11 lines) in third_party/opencode/packages/opencode/src/session/message-v2.ts:273"}, "properties": {"repobilityId": "fc45147320370497", "scanner": "scanner-primary", "fingerprint": "1a7eb3f7f7510a18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b5cd7e2da02d1d6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/opencode/src/session/message-v2.ts:41"}, "properties": {"repobilityId": "9c28ed95e69cb945", "scanner": "scanner-primary", "fingerprint": "4b5cd7e2da02d1d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-45b29afa855644d8", "level": "none", "message": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/opencode/src/session/llm/native-runtime.ts:82"}, "properties": {"repobilityId": "cda895006ee9f907", "scanner": "scanner-primary", "fingerprint": "45b29afa855644d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbd3d3f843d9af09", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/cli/script/generate.ts:5"}, "properties": {"repobilityId": "9adae41c8389dd6d", "scanner": "scanner-primary", "fingerprint": "fbd3d3f843d9af09", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2dcab2e46a374e53", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/cli/src/tui.ts:29"}, "properties": {"repobilityId": "b0067e2d925440eb", "scanner": "scanner-primary", "fingerprint": "2dcab2e46a374e53", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7ba0e417f2959339", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/desktop/scripts/finalize-latest-json.ts:32"}, "properties": {"repobilityId": "d8165ce7fc0c1782", "scanner": "scanner-primary", "fingerprint": "7ba0e417f2959339", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e0f1023cdee51083", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/desktop/src/main/migrate.ts:34"}, "properties": {"repobilityId": "cfafdd851faae9bb", "scanner": "scanner-primary", "fingerprint": "e0f1023cdee51083", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-15574c85cc47b868", "level": "note", "message": {"text": "Legacy-named symbol `fromLegacy` in third_party/opencode/packages/app/src/utils/server-scope.ts:33"}, "properties": {"repobilityId": "dbabf97b9fcf2cf4", "scanner": "scanner-primary", "fingerprint": "15574c85cc47b868", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7eacf4e4c7f32c3e", "level": "note", "message": {"text": "Legacy-named symbol `migrateLegacy` in third_party/opencode/packages/app/src/utils/persist.test.ts:143"}, "properties": {"repobilityId": "a24f504b9845f5d6", "scanner": "scanner-primary", "fingerprint": "7eacf4e4c7f32c3e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6d658549728a13be", "level": "note", "message": {"text": "Legacy-named symbol `migrateLegacy` in third_party/opencode/packages/app/src/utils/persist.ts:231"}, "properties": {"repobilityId": "36e17c4901f627a1", "scanner": "scanner-primary", "fingerprint": "6d658549728a13be", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-14e99269a22a5684", "level": "note", "message": {"text": "Legacy-named symbol `fromLegacy` in third_party/opencode/packages/app/src/pages/layout.tsx:1378"}, "properties": {"repobilityId": "be7b201c53e56f29", "scanner": "scanner-primary", "fingerprint": "14e99269a22a5684", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8fd593cf74638b3f", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/app/src/context/global-sync/bootstrap.ts:127"}, "properties": {"repobilityId": "6ce84dbfd353e9b4", "scanner": "scanner-primary", "fingerprint": "8fd593cf74638b3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ee9bf93c07c3061", "level": "none", "message": {"text": "Commented-code block (8 lines) in third_party/opencode/packages/web/src/components/share/content-diff.tsx:199"}, "properties": {"repobilityId": "3ad33f50d633d837", "scanner": "scanner-primary", "fingerprint": "6ee9bf93c07c3061", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf4d546df5fb1bd6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/script/src/index.ts:37"}, "properties": {"repobilityId": "0250144685651584", "scanner": "scanner-primary", "fingerprint": "bf4d546df5fb1bd6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-36ecd6931f9d3a98", "level": "note", "message": {"text": "Legacy-named symbol `tool_old` in third_party/opencode/packages/core/test/tool-output-store.test.ts:229"}, "properties": {"repobilityId": "16ae532726d8bc02", "scanner": "scanner-primary", "fingerprint": "36ecd6931f9d3a98", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-25f7918398463a19", "level": "note", "message": {"text": "Legacy-named symbol `wrk_old` in third_party/opencode/packages/core/test/database-migration.test.ts:139"}, "properties": {"repobilityId": "31a5787d590a403d", "scanner": "scanner-primary", "fingerprint": "25f7918398463a19", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-31fd5bd18899fb8e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/test/git.test.ts:40"}, "properties": {"repobilityId": "1fb03177831d9df7", "scanner": "scanner-primary", "fingerprint": "31fd5bd18899fb8e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cf325772cb0fe046", "level": "note", "message": {"text": "Legacy-named symbol `sig_old` in third_party/opencode/packages/core/test/session-runner-message.test.ts:310"}, "properties": {"repobilityId": "e13cfb6d70f9cc7e", "scanner": "scanner-primary", "fingerprint": "cf325772cb0fe046", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-961ee5ccbfac4eaa", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/test/plugin/provider-google-vertex.test.ts:286"}, "properties": {"repobilityId": "cb167d1b8c52a032", "scanner": "scanner-primary", "fingerprint": "961ee5ccbfac4eaa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-62ef0590642b4fd2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/src/repository-cache.ts:176"}, "properties": {"repobilityId": "ac9fd515b60a3af2", "scanner": "scanner-primary", "fingerprint": "62ef0590642b4fd2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1cc2db0b9a2b5137", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/core/src/plugin/provider/google-vertex.ts:53"}, "properties": {"repobilityId": "748405f7278dbce5", "scanner": "scanner-primary", "fingerprint": "1cc2db0b9a2b5137", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e6c3397e8f14ff3e", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/console/function/src/auth.ts:56"}, "properties": {"repobilityId": "da5da64c32856ad6", "scanner": "scanner-primary", "fingerprint": "e6c3397e8f14ff3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75ea7c9a57b5bead", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/function/src/auth.ts:43"}, "properties": {"repobilityId": "07be4def3ba7f82d", "scanner": "scanner-primary", "fingerprint": "75ea7c9a57b5bead", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5f717db5d0a57fe1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/function/src/stat.ts:7"}, "properties": {"repobilityId": "b2e66eaeb7f0c460", "scanner": "scanner-primary", "fingerprint": "5f717db5d0a57fe1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bc1d243b102098f0", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/console/function/src/log-processor.ts:155"}, "properties": {"repobilityId": "fc602fa2fdcec9dc", "scanner": "scanner-primary", "fingerprint": "bc1d243b102098f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68578cbb9287254e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/function/src/log-processor.ts:58"}, "properties": {"repobilityId": "e0a2d0e85a68e0bc", "scanner": "scanner-primary", "fingerprint": "68578cbb9287254e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d9f0fc628844c637", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/lib/stats-proxy.ts:17"}, "properties": {"repobilityId": "4db3c0026871bb27", "scanner": "scanner-primary", "fingerprint": "d9f0fc628844c637", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cc5e75ad96827558", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/lib/github.ts:15"}, "properties": {"repobilityId": "71f6d25d001badc9", "scanner": "scanner-primary", "fingerprint": "cc5e75ad96827558", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3833ca741ef5b305", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/lib/salesforce.ts:54"}, "properties": {"repobilityId": "7ecc2660b60513cf", "scanner": "scanner-primary", "fingerprint": "3833ca741ef5b305", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c1f795e35225b2fc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/component/email-signup.tsx:10"}, "properties": {"repobilityId": "127455fb70620b6a", "scanner": "scanner-primary", "fingerprint": "c1f795e35225b2fc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7bd1b3b6f3b2915d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/openapi.json.ts:2"}, "properties": {"repobilityId": "0303b172cfaf5f50", "scanner": "scanner-primary", "fingerprint": "7bd1b3b6f3b2915d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-10e0f4b6a8bb5a04", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/api/enterprise.ts:39"}, "properties": {"repobilityId": "31b5d935cc37f0af", "scanner": "scanner-primary", "fingerprint": "10e0f4b6a8bb5a04", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-02e36ae0da0b82f0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/docs/index.ts:15"}, "properties": {"repobilityId": "78c5e9de5003e121", "scanner": "scanner-primary", "fingerprint": "02e36ae0da0b82f0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dcbbfca0d48f1bb8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/docs/[...path].ts:15"}, "properties": {"repobilityId": "7e1b08c66f127a52", "scanner": "scanner-primary", "fingerprint": "dcbbfca0d48f1bb8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ce088c98baddfa85", "level": "none", "message": {"text": "Commented-code block (9 lines) in third_party/opencode/packages/console/app/src/routes/workspace/[id]/billing/billing-section.tsx:90"}, "properties": {"repobilityId": "35cca8c79f242717", "scanner": "scanner-primary", "fingerprint": "ce088c98baddfa85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f97578bf2914fbe", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/console/app/src/routes/workspace/[id]/billing/monthly-limit-section.tsx:47"}, "properties": {"repobilityId": "dc920069de9420fa", "scanner": "scanner-primary", "fingerprint": "8f97578bf2914fbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7bb6e90fe323e5b", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/console/app/src/routes/workspace/[id]/billing/payment-section.tsx:38"}, "properties": {"repobilityId": "53bff54ad533282b", "scanner": "scanner-primary", "fingerprint": "f7bb6e90fe323e5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5891cc97cd1c932d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/s/[id].ts:15"}, "properties": {"repobilityId": "02abe44bfd4b8b71", "scanner": "scanner-primary", "fingerprint": "5891cc97cd1c932d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-282f6ad3ce1f6165", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/zen/util/handler.ts:895"}, "properties": {"repobilityId": "0b3143a81b29eed6", "scanner": "scanner-primary", "fingerprint": "282f6ad3ce1f6165", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a3e6a7fa1d4c42b4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/honeycomb/webhook.ts:66"}, "properties": {"repobilityId": "9ab88091b9c1acff", "scanner": "scanner-primary", "fingerprint": "a3e6a7fa1d4c42b4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-22f4c5c4efc75455", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/t/[...path].tsx:13"}, "properties": {"repobilityId": "01889b26229e230d", "scanner": "scanner-primary", "fingerprint": "22f4c5c4efc75455", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3e094d9c93fb2534", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/app/src/routes/download/[channel]/[platform].ts:33"}, "properties": {"repobilityId": "313d175462e21d52", "scanner": "scanner-primary", "fingerprint": "3e094d9c93fb2534", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e4610b8f3ff0942e", "level": "none", "message": {"text": "Commented-code block (13 lines) in third_party/opencode/packages/console/core/script/black-gift.ts:100"}, "properties": {"repobilityId": "cb7bfa9bdfd06f03", "scanner": "scanner-primary", "fingerprint": "e4610b8f3ff0942e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-448b549a2cd59255", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/console/core/src/aws.ts:28"}, "properties": {"repobilityId": "9c10b39f68d4efc1", "scanner": "scanner-primary", "fingerprint": "448b549a2cd59255", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e684f3eb603e605e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/stats/app/src/routes/stats-shell.tsx:39"}, "properties": {"repobilityId": "e0a1cb736cd2c0c1", "scanner": "scanner-primary", "fingerprint": "e684f3eb603e605e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8e309c777c4fa0c7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/stats/app/src/routes/api/newsletter.ts:17"}, "properties": {"repobilityId": "cceb3bd70289f3ee", "scanner": "scanner-primary", "fingerprint": "8e309c777c4fa0c7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-06c7d393dc3f67c5", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/sdk/js/script/build.ts:43"}, "properties": {"repobilityId": "c63bb521fe9eab14", "scanner": "scanner-primary", "fingerprint": "06c7d393dc3f67c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cda5cd3bac58061b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/sdk/js/src/client.ts:38"}, "properties": {"repobilityId": "f6fece66702f5939", "scanner": "scanner-primary", "fingerprint": "cda5cd3bac58061b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a098bf440ccbfd65", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/sdk/js/src/v2/client.ts:58"}, "properties": {"repobilityId": "4b9030fc321df63c", "scanner": "scanner-primary", "fingerprint": "a098bf440ccbfd65", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aecb5fdb4115b915", "level": "note", "message": {"text": "Legacy-named symbol `messages_copy` in third_party/opencode/packages/sdk/js/src/gen/types.gen.ts:884"}, "properties": {"repobilityId": "c6370737c9d33989", "scanner": "scanner-primary", "fingerprint": "aecb5fdb4115b915", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-474629d72b85135c", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/test/recorded-scenarios.ts:22"}, "properties": {"repobilityId": "d6be64f4f93a840a", "scanner": "scanner-primary", "fingerprint": "474629d72b85135c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb55a0ef454e9159", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/test/provider/gemini-cache.recorded.test.ts:13"}, "properties": {"repobilityId": "9afbe6a4ad98f195", "scanner": "scanner-primary", "fingerprint": "cb55a0ef454e9159", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d2e6829c8572a68b", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/test/provider/bedrock-converse.test.ts:640"}, "properties": {"repobilityId": "5565a48b172cc89b", "scanner": "scanner-primary", "fingerprint": "d2e6829c8572a68b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3bc5e1ca6a14735f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/packages/llm/script/recording-cost-report.ts:219"}, "properties": {"repobilityId": "4678aafa70aefcbb", "scanner": "scanner-primary", "fingerprint": "3bc5e1ca6a14735f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0c0b510376b34ac9", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/llm/example/tutorial.ts:246"}, "properties": {"repobilityId": "67509fb31134252f", "scanner": "scanner-primary", "fingerprint": "0c0b510376b34ac9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b2f1bfd069d8705", "level": "none", "message": {"text": "Commented-code block (7 lines) in third_party/opencode/packages/llm/src/cache-policy.ts:5"}, "properties": {"repobilityId": "26f7f6a7eaefaae2", "scanner": "scanner-primary", "fingerprint": "8b2f1bfd069d8705", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd3d40f1b3f31514", "level": "none", "message": {"text": "Commented-code block (8 lines) in third_party/opencode/packages/llm/src/schema/options.ts:195"}, "properties": {"repobilityId": "5187c41e314fec9a", "scanner": "scanner-primary", "fingerprint": "bd3d40f1b3f31514", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d08003b7b562387", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/providers/openai-options.ts:53"}, "properties": {"repobilityId": "fac59460955d11fc", "scanner": "scanner-primary", "fingerprint": "1d08003b7b562387", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5058b416820104c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/protocols/openai-responses.ts:198"}, "properties": {"repobilityId": "910decd89ce42b43", "scanner": "scanner-primary", "fingerprint": "5058b416820104c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4792ccc241bf788a", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/llm/src/protocols/anthropic-messages.ts:101"}, "properties": {"repobilityId": "ab86e6c8b6b7d62d", "scanner": "scanner-primary", "fingerprint": "4792ccc241bf788a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-953e933c6b7211f0", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/llm/src/protocols/gemini.ts:155"}, "properties": {"repobilityId": "825dbc7215dd5dc1", "scanner": "scanner-primary", "fingerprint": "953e933c6b7211f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-faed32982063266f", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/opencode/packages/llm/src/protocols/openai-chat.ts:29"}, "properties": {"repobilityId": "f4110fc1e8489923", "scanner": "scanner-primary", "fingerprint": "faed32982063266f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66b5308f9d38b253", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/protocols/utils/openai-options.ts:61"}, "properties": {"repobilityId": "da9a5b82a5f7c6ff", "scanner": "scanner-primary", "fingerprint": "66b5308f9d38b253", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e9c0fbfa3d82945", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/opencode/packages/llm/src/protocols/utils/bedrock-media.ts:60"}, "properties": {"repobilityId": "3e30d695c7f53225", "scanner": "scanner-primary", "fingerprint": "3e9c0fbfa3d82945", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4698e5367739de8a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/script/stats.ts:78"}, "properties": {"repobilityId": "30ce24981fd9a2bb", "scanner": "scanner-primary", "fingerprint": "4698e5367739de8a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a4077423653cf6dc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/script/github/close-issues.ts:30"}, "properties": {"repobilityId": "b4f00b9a36eda78d", "scanner": "scanner-primary", "fingerprint": "a4077423653cf6dc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-141c4181b8194dbc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 third_party/opencode/script/github/close-prs.ts:275"}, "properties": {"repobilityId": "720a8d2174aa560f", "scanner": "scanner-primary", "fingerprint": "141c4181b8194dbc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-19fc7654a1ecb1e7", "level": "note", "message": {"text": "Legacy-named symbol `bundle_backup` in third_party/graphify/tests/test_install_roundtrip.py:215"}, "properties": {"repobilityId": "9f5483614ad37bdf", "scanner": "scanner-primary", "fingerprint": "19fc7654a1ecb1e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e3e2b2eb497b9db7", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_serve.py:100"}, "properties": {"repobilityId": "7df5c199a115eabb", "scanner": "scanner-primary", "fingerprint": "e3e2b2eb497b9db7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a306355f882c4e11", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_extract_cli.py:37"}, "properties": {"repobilityId": "bd77846b3708f7d5", "scanner": "scanner-primary", "fingerprint": "a306355f882c4e11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d73c3080b2a1a5a8", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_detect.py:657"}, "properties": {"repobilityId": "1e2619d07365ffad", "scanner": "scanner-primary", "fingerprint": "d73c3080b2a1a5a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86b57a8acf4b85f0", "level": "note", "message": {"text": "Legacy-named symbol `G_old` in third_party/graphify/tests/test_analyze.py:301"}, "properties": {"repobilityId": "be8b720fa805d50c", "scanner": "scanner-primary", "fingerprint": "86b57a8acf4b85f0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0bfa180c629dba26", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_cli_export.py:304"}, "properties": {"repobilityId": "1c12dae4aa906769", "scanner": "scanner-primary", "fingerprint": "0bfa180c629dba26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be4991fa064a0d11", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_llm_backends.py:537"}, "properties": {"repobilityId": "272a645d1a8a8864", "scanner": "scanner-primary", "fingerprint": "be4991fa064a0d11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4f66e511c07ccbfe", "level": "note", "message": {"text": "Legacy-named symbol `bundle_backup` in third_party/graphify/tests/test_install_references.py:49"}, "properties": {"repobilityId": "cc94625f961d412f", "scanner": "scanner-primary", "fingerprint": "4f66e511c07ccbfe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bb1cc3330c403fe4", "level": "note", "message": {"text": "Legacy-named symbol `test_ts_import_alias_does_not_affect_same_named_local_symbol_when_unused` in third_party/graphify/tests/test_js_import_resolution.py:269"}, "properties": {"repobilityId": "4351632f55d05e0f", "scanner": "scanner-primary", "fingerprint": "bb1cc3330c403fe4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e9dc1832c8abf906", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/tests/test_js_import_resolution.py:338"}, "properties": {"repobilityId": "003a629f253f62f7", "scanner": "scanner-primary", "fingerprint": "e9dc1832c8abf906", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f110c42ff0759f1f", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/symbol_resolution.py:144"}, "properties": {"repobilityId": "28e2a9940aba76a9", "scanner": "scanner-primary", "fingerprint": "f110c42ff0759f1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dea913f3315edeff", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/dedup.py:314"}, "properties": {"repobilityId": "c618d4d6fd42920a", "scanner": "scanner-primary", "fingerprint": "dea913f3315edeff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab07b4de6f22e12c", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/wiki.py:230"}, "properties": {"repobilityId": "f908970f2306a8f9", "scanner": "scanner-primary", "fingerprint": "ab07b4de6f22e12c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ccc4ba25c7af85a5", "level": "note", "message": {"text": "Legacy-named symbol `days_old` in third_party/graphify/graphify/prs.py:80"}, "properties": {"repobilityId": "8015e81eca7a3e35", "scanner": "scanner-primary", "fingerprint": "ccc4ba25c7af85a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-570c8d8e74cf71c9", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/watch.py:282"}, "properties": {"repobilityId": "0021c38f3080f9bb", "scanner": "scanner-primary", "fingerprint": "570c8d8e74cf71c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3cfcd09584f90ffd", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/cluster.py:181"}, "properties": {"repobilityId": "60d8e2138b51ef2b", "scanner": "scanner-primary", "fingerprint": "3cfcd09584f90ffd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06c6a9c02ddf8756", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/semantic_cleanup.py:4"}, "properties": {"repobilityId": "befb9549b2d86ce6", "scanner": "scanner-primary", "fingerprint": "06c6a9c02ddf8756", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bdbd84de0be9e294", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/llm.py:1"}, "properties": {"repobilityId": "1a30421b9e8689a6", "scanner": "scanner-primary", "fingerprint": "bdbd84de0be9e294", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab4bddffd84f32e1", "level": "none", "message": {"text": "Commented-code block (7 lines) in third_party/graphify/graphify/mcp_ingest.py:271"}, "properties": {"repobilityId": "af685353628791bf", "scanner": "scanner-primary", "fingerprint": "ab4bddffd84f32e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a41ed1d0d801c6f4", "level": "note", "message": {"text": "Legacy-named symbol `G_old` in third_party/graphify/graphify/analyze.py:539"}, "properties": {"repobilityId": "832df6a0003a4cca", "scanner": "scanner-primary", "fingerprint": "a41ed1d0d801c6f4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f93e57755b7d49e7", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/analyze.py:211"}, "properties": {"repobilityId": "148405e8a5281faa", "scanner": "scanner-primary", "fingerprint": "f93e57755b7d49e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e69894f13a9ee22", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/extract.py:19"}, "properties": {"repobilityId": "d45e240b4928d0b0", "scanner": "scanner-primary", "fingerprint": "6e69894f13a9ee22", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-45860e0f4c6cc168", "level": "none", "message": {"text": "Commented-code block (6 lines) in third_party/graphify/graphify/cache.py:27"}, "properties": {"repobilityId": "347df4010ddc9708", "scanner": "scanner-primary", "fingerprint": "45860e0f4c6cc168", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6be7e69e85b19702", "level": "none", "message": {"text": "Commented-code block (8 lines) in third_party/graphify/graphify/build.py:9"}, "properties": {"repobilityId": "9e36c771f1db9275", "scanner": "scanner-primary", "fingerprint": "6be7e69e85b19702", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2ba7c17488cd9bc", "level": "none", "message": {"text": "Commented-code block (11 lines) in third_party/graphify/graphify/hooks.py:145"}, "properties": {"repobilityId": "4aa0065235b063ba", "scanner": "scanner-primary", "fingerprint": "c2ba7c17488cd9bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1570b215aeefb33c", "level": "none", "message": {"text": "Commented-code block (8 lines) in third_party/graphify/graphify/__main__.py:371"}, "properties": {"repobilityId": "a422c6b66a834da4", "scanner": "scanner-primary", "fingerprint": "1570b215aeefb33c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dae36b21db0b0955", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/detect.py:39"}, "properties": {"repobilityId": "d4bf9df7f628c720", "scanner": "scanner-primary", "fingerprint": "dae36b21db0b0955", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-954aa80158a57058", "level": "note", "message": {"text": "Legacy-named symbol `days_old` in third_party/graphify/graphify/serve.py:932"}, "properties": {"repobilityId": "a0faa73d38445654", "scanner": "scanner-primary", "fingerprint": "954aa80158a57058", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ad3a93afc45a88ab", "level": "none", "message": {"text": "Commented-code block (5 lines) in third_party/graphify/graphify/serve.py:149"}, "properties": {"repobilityId": "401d37aa2e9cc2d9", "scanner": "scanner-primary", "fingerprint": "ad3a93afc45a88ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-201f3b6cf76d3e55", "level": "note", "message": {"text": "218 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "a7a2a653f24d86a0", "scanner": "scanner-primary", "fingerprint": "201f3b6cf76d3e55", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-ecd86354d3c142ad", "level": "note", "message": {"text": "Near-duplicate function bodies in 20 places"}, "properties": {"repobilityId": "435d82ed725af741", "scanner": "scanner-primary", "fingerprint": "ecd86354d3c142ad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-6431a78879620ea3", "level": "note", "message": {"text": "Near-duplicate function bodies in 21 places"}, "properties": {"repobilityId": "250a575d102127c3", "scanner": "scanner-primary", "fingerprint": "6431a78879620ea3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-0027e313ade46c8f", "level": "note", "message": {"text": "Near-duplicate function bodies in 7 places"}, "properties": {"repobilityId": "d235be03e8a39495", "scanner": "scanner-primary", "fingerprint": "0027e313ade46c8f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-ee53e8e0c58609d8", "level": "note", "message": {"text": "Near-duplicate function bodies in 15 places"}, "properties": {"repobilityId": "bf7728756c5682bc", "scanner": "scanner-primary", "fingerprint": "ee53e8e0c58609d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-fe1d9311d6aee734", "level": "note", "message": {"text": "Near-duplicate function bodies in 12 places"}, "properties": {"repobilityId": "d9b54ba4d0552251", "scanner": "scanner-primary", "fingerprint": "fe1d9311d6aee734", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "9d42a13e341192ca", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "53d46fa63a1ca89a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "f5a0f37882f02f07", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-12babea62d8cd476", "level": "warning", "message": {"text": "Frontend route `/new-session` has no Link/navigate to it \u2014 third_party/opencode/packages/app/src/app.tsx"}, "properties": {"repobilityId": "7edda76ac3f74c58", "scanner": "scanner-primary", "fingerprint": "12babea62d8cd476", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-393d6a6892893dff", "level": "warning", "message": {"text": "Frontend route `/:dir` has no Link/navigate to it \u2014 third_party/opencode/packages/app/src/app.tsx"}, "properties": {"repobilityId": "bbae6c6b10915a6e", "scanner": "scanner-primary", "fingerprint": "393d6a6892893dff", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}, {"ruleId": "scanner-5b8b0fbc92372837", "level": "warning", "message": {"text": "Frontend route `/session/:id?` has no Link/navigate to it \u2014 third_party/opencode/packages/app/src/app.tsx"}, "properties": {"repobilityId": "44621f78d4ba54a1", "scanner": "scanner-primary", "fingerprint": "5b8b0fbc92372837", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "orphan-page", "wiring"]}}]}]}