{"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-7c08ca35b6221de0", "name": "Possibly dead Python function: destroy", "shortDescription": {"text": "Possibly dead Python function: destroy"}, "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-97f800a76ce35f9f", "name": "Possibly dead Python function: command_configure", "shortDescription": {"text": "Possibly dead Python function: command_configure"}, "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-9112f976179f78fa", "name": "Possibly dead Python function: command_doctor", "shortDescription": {"text": "Possibly dead Python function: command_doctor"}, "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-91ee688ddfc7c53e", "name": "Possibly dead Python function: command_login", "shortDescription": {"text": "Possibly dead Python function: command_login"}, "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-6748f9c90e83723c", "name": "Possibly dead Python function: command_status", "shortDescription": {"text": "Possibly dead Python function: command_status"}, "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-e5780ad9a77c1287", "name": "Possibly dead Python function: command_confirm_qr", "shortDescription": {"text": "Possibly dead Python function: command_confirm_qr"}, "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-5ebf2bc77880d4f7", "name": "Possibly dead Python function: command_terminate_session", "shortDescription": {"text": "Possibly dead Python function: command_terminate_session"}, "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-0be5cb9bcf9abef3", "name": "Possibly dead Python function: command_terminate_desktop_sessions", "shortDescription": {"text": "Possibly dead Python function: command_terminate_desktop_sessions"}, "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-d2b7829ed2c44223", "name": "Possibly dead Python function: command_send", "shortDescription": {"text": "Possibly dead Python function: command_send"}, "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-9ef414bcdb56af84", "name": "Possibly dead Python function: command_wait", "shortDescription": {"text": "Possibly dead Python function: command_wait"}, "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-8e9d224cb9e041c8", "name": "Possibly dead Python function: command_probe", "shortDescription": {"text": "Possibly dead Python function: command_probe"}, "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-3464398df7f2f94b", "name": "Possibly dead Python function: command_transcript", "shortDescription": {"text": "Possibly dead Python function: command_transcript"}, "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-f01f8e7afbfcbdf4", "name": "Possibly dead Python function: command_chats", "shortDescription": {"text": "Possibly dead Python function: command_chats"}, "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-cd0d2f6512bffc73", "name": "Stray `console.log` in TS/JS \u2014 test/image-generation.runtime.live.test.ts:334", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/image-generation.runtime.live.test.ts:334"}, "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-4e4c0c55fc10e6a1", "name": "Stray `console.log` in TS/JS \u2014 test/test-env.ts:113", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/test-env.ts:113"}, "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-59af1d26ecd010bb", "name": "Stray `console.log` in TS/JS \u2014 test/vitest-unit-fast-config.test.ts:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/vitest-unit-fast-config.test.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-8f67d3f113991c81", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/ui.test.ts:117", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/ui.test.ts:117"}, "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-31a0cc918ce2429c", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/plugin-gateway-gauntlet.test.ts:563", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/plugin-gateway-gauntlet.test.ts:563"}, "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-725b5d147f838ca5", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/run-additional-boundary-checks.test.ts:119", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/run-additional-boundary-checks.test.ts:119"}, "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-97abb0282e9346d6", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/build-all.test.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/build-all.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-b6b35b3223ddc959", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/check-extension-package-tsc-boundary.test.ts:343", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/check-extension-package-tsc-boundary.test.ts:343"}, "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-fadd0303c0d20270", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/check-cli-startup-memory.test.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/check-cli-startup-memory.test.ts:33"}, "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-90371bbd4a2ef6c0", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/check-openclaw-package-tarball.test.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/check-openclaw-package-tarball.test.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-c29fcec60f850328", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/parallels-smoke-model.test.ts:471", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/parallels-smoke-model.test.ts:471"}, "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-c31b9cd7bca789ad", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/tsdown-build.test.ts:80", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/tsdown-build.test.ts:80"}, "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-e064e1941a213842", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/real-behavior-proof-policy.test.ts:150", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/real-behavior-proof-policy.test.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-65a22b5963de0ed8", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/bundled-plugin-install-uninstall-probe.test.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/bundled-plugin-install-uninstall-probe.test.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-071768df93416cd8", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/e2e-run-with-pty.test.ts:116", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/e2e-run-with-pty.test.ts:116"}, "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-4971c1565ef73d5d", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/pnpm-runner.test.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/pnpm-runner.test.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80a9e6749f46e1b0", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/runtime-postbuild.test.ts:198", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/runtime-postbuild.test.ts:198"}, "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-d5aa714f0621944e", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/kitchen-sink-plugin-assertions.test.ts:567", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/kitchen-sink-plugin-assertions.test.ts:567"}, "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-b5901992704af458", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/check-deadcode-unused-files.test.ts:137", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/check-deadcode-unused-files.test.ts:137"}, "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-5d378d0ab1ce5654", "name": "Stray `console.log` in TS/JS \u2014 test/scripts/crabbox-wrapper.test.ts:161", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/crabbox-wrapper.test.ts:161"}, "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-54bc73b80ac5285d", "name": "Stray `console.log` in TS/JS \u2014 test/proof/thinking-signature-real-proof.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test/proof/thinking-signature-real-proof.ts:36"}, "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-b110557664695c16", "name": "Stray `console.log` in TS/JS \u2014 apps/android/scripts/build-release-aab.ts:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/android/scripts/build-release-aab.ts:135"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-62944dad592b818a", "name": "Stray `console.log` in TS/JS \u2014 ui/src/ui/markdown.test.ts:369", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 ui/src/ui/markdown.test.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-02a77295d2340123", "name": "Stray `console.log` in TS/JS \u2014 ui/src/ui/chat/chat-responsive.browser.test.ts:210", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 ui/src/ui/chat/chat-responsive.browser.test.ts:210"}, "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-cbfe796844d552f3", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-prompt-snapshots.ts:83", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-prompt-snapshots.ts:83"}, "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-3028795efbdfd221", "name": "Stray `console.log` in TS/JS \u2014 scripts/copy-hook-metadata.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/copy-hook-metadata.ts:49"}, "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-71a9ea35120a4398", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-force.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-force.ts:40"}, "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-619ccfb3c6e4577c", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-codex-app-server-protocol.ts:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-codex-app-server-protocol.ts:38"}, "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-3ddd9308bc59ec6d", "name": "Stray `console.log` in TS/JS \u2014 scripts/ios-version.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ios-version.ts:43"}, "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-95c7d94c944e5c0f", "name": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-npm-prepublish-verify.ts:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-npm-prepublish-verify.ts:81"}, "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-a9d43ac19f916773", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-import-cycles.ts:153", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-import-cycles.ts:153"}, "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-35f0e6fb207a0467", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-base-config-schema.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-base-config-schema.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-1b290835a6a866bc", "name": "Stray `console.log` in TS/JS \u2014 scripts/plugin-clawhub-release-plan.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/plugin-clawhub-release-plan.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-db6fc93ce7ff55d7", "name": "Stray `console.log` in TS/JS \u2014 scripts/ios-pin-version.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ios-pin-version.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-ff223a1fda0f02c0", "name": "Stray `console.log` in TS/JS \u2014 scripts/docs-list.js:154", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/docs-list.js:154"}, "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-b89d243dbe622971", "name": "Stray `console.log` in TS/JS \u2014 scripts/release-check.ts:1222", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release-check.ts:1222"}, "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-59cf19e8dddb5aea", "name": "Stray `console.log` in TS/JS \u2014 scripts/bench-cli-startup.ts:775", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-cli-startup.ts:775"}, "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-ac2ab71ec618f13b", "name": "Stray `console.log` in TS/JS \u2014 scripts/sparkle-build.ts:115", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sparkle-build.ts:115"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7813db638f5585c", "name": "Stray `console.log` in TS/JS \u2014 scripts/bench-sqlite-state.ts:170", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-sqlite-state.ts:170"}, "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-375291dab61553d0", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-no-deprecated-channel-access.ts:109", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-no-deprecated-channel-access.ts:109"}, "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-147e6ff36e0e4148", "name": "Stray `console.log` in TS/JS \u2014 scripts/ios-sync-versioning.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ios-sync-versioning.ts:33"}, "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-66f71656883b9345", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-shell-completion.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-shell-completion.ts:66"}, "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-23f6637a817b82cc", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-config-doc-baseline.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-config-doc-baseline.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53d7152247392e93", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-no-extension-src-imports.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-no-extension-src-imports.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-a51ac7fe4a4262f3", "name": "Stray `console.log` in TS/JS \u2014 scripts/bench-gateway-restart.ts:339", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-gateway-restart.ts:339"}, "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-62d6703d2c4fecd1", "name": "Stray `console.log` in TS/JS \u2014 scripts/copy-export-html-templates.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/copy-export-html-templates.ts:52"}, "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-5887f9075de5ddac", "name": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-cross-os-release-checks.ts:2954", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-cross-os-release-checks.ts:2954"}, "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-97e9446085cf0c88", "name": "Stray `console.log` in TS/JS \u2014 scripts/anthropic-prompt-probe.ts:821", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/anthropic-prompt-probe.ts:821"}, "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-007eaaa62dddca31", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-live-media.ts:399", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-live-media.ts:399"}, "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-bf4f785877a6455f", "name": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-npm-postpublish-verify.ts:705", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-npm-postpublish-verify.ts:705"}, "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-b245884182ac22c3", "name": "Stray `console.log` in TS/JS \u2014 scripts/proof-73706-message-sending-session-key.ts:129", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/proof-73706-message-sending-session-key.ts:129"}, "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-5e498fccda1a645e", "name": "Stray `console.log` in TS/JS \u2014 scripts/bench-gateway-startup.ts:279", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-gateway-startup.ts:279"}, "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-3600170591d62f2f", "name": "Stray `console.log` in TS/JS \u2014 scripts/plugin-npm-release-plan.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/plugin-npm-release-plan.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-20c01163104abc81", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-madge-import-cycles.ts:104", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-madge-import-cycles.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-fe74ec093c0da27d", "name": "Stray `console.log` in TS/JS \u2014 scripts/protocol-gen-swift.ts:639", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/protocol-gen-swift.ts:639"}, "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-19941c3376f064a6", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-plugin-versions.ts:178", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-plugin-versions.ts:178"}, "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-bb6b09a9ea672ab3", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-runtime-sidecar-paths-baseline.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-runtime-sidecar-paths-baseline.ts:33"}, "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-d0d591055a592efd", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-plugin-sdk-api-baseline.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-plugin-sdk-api-baseline.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-57588afff148c9f4", "name": "Stray `console.log` in TS/JS \u2014 scripts/plugin-npm-release-check.ts:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/plugin-npm-release-check.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-265485a5292ca81d", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-codex-model-prompt-fixture.ts:284", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-codex-model-prompt-fixture.ts:284"}, "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-d433c46ca2261be3", "name": "Stray `console.log` in TS/JS \u2014 scripts/bench-model.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-model.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-fad46219aa706a47", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug-claude-usage.ts:419", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-claude-usage.ts:419"}, "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-9674a8eb9ad98316", "name": "Stray `console.log` in TS/JS \u2014 scripts/readability-basic-compare.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/readability-basic-compare.ts:49"}, "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-3f0a723ffbcd0c68", "name": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-npm-release-check.ts:775", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-npm-release-check.ts:775"}, "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-6e852a18e1413fc0", "name": "Stray `console.log` in TS/JS \u2014 scripts/firecrawl-compare.ts:90", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/firecrawl-compare.ts:90"}, "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-62f6b20b5e0c01c3", "name": "Stray `console.log` in TS/JS \u2014 scripts/update-clawtributors.ts:319", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-clawtributors.ts:319"}, "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-653ae8142cb8bd84", "name": "Stray `console.log` in TS/JS \u2014 scripts/control-ui-mock-dev.ts:385", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/control-ui-mock-dev.ts:385"}, "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-e5220510e060d999", "name": "Stray `console.log` in TS/JS \u2014 scripts/release-verify-beta.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release-verify-beta.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bca9b7ff087703e0", "name": "Stray `console.log` in TS/JS \u2014 scripts/protocol-gen.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/protocol-gen.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-521acbaa95ee47dd", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-codex-app-server-protocol.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-codex-app-server-protocol.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-3e718b00671ae657", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-no-extension-test-core-imports.ts:355", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-no-extension-test-core-imports.ts:355"}, "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-132a917bc25f57b0", "name": "Stray `console.log` in TS/JS \u2014 scripts/plugin-clawhub-release-check.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/plugin-clawhub-release-check.ts:45"}, "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-832821ad8d16c828", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-bundled-channel-config-metadata.ts:348", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-bundled-channel-config-metadata.ts:348"}, "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-3876adbe7eed0726", "name": "Stray `console.log` in TS/JS \u2014 scripts/sync-labels.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-labels.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10bc8426e37fd7f4", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-no-monolithic-plugin-sdk-entry-imports.ts:156", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-no-monolithic-plugin-sdk-entry-imports.ts:156"}, "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-1bf11187b1d1aa59", "name": "Stray `console.log` in TS/JS \u2014 scripts/release-beta-smoke.ts:385", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release-beta-smoke.ts:385"}, "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-5da25f44aa6872fc", "name": "Stray `console.log` in TS/JS \u2014 scripts/generate-secretref-credential-matrix.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-secretref-credential-matrix.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d2bc9c1759653feb", "name": "Stray `console.log` in TS/JS \u2014 scripts/cron_usage_report.ts:242", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cron_usage_report.ts:242"}, "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-87d590cde12cedd0", "name": "Stray `console.log` in TS/JS \u2014 scripts/lib/copy-assets.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lib/copy-assets.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-b7142301daffee3e", "name": "Stray `console.log` in TS/JS \u2014 scripts/dev/realtime-talk-live-smoke.ts:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dev/realtime-talk-live-smoke.ts:107"}, "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-8031dfa546815fe9", "name": "Stray `console.log` in TS/JS \u2014 scripts/repro/code-mode-namespace-live.ts:637", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/repro/code-mode-namespace-live.ts:637"}, "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-9133e88e4eaed8e1", "name": "Stray `console.log` in TS/JS \u2014 scripts/repro/tsx-name-repro.ts:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/repro/tsx-name-repro.ts:4"}, "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-876c89b513d66154", "name": "Stray `console.log` in TS/JS \u2014 scripts/e2e/crestodian-first-run-docker-client.ts:177", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/crestodian-first-run-docker-client.ts:177"}, "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-af11a5f8de3aaa64", "name": "Stray `console.log` in TS/JS \u2014 scripts/e2e/session-runtime-context-docker-client.ts:244", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/session-runtime-context-docker-client.ts:244"}, "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-73442405473a2f97", "name": "Stray `console.log` in TS/JS \u2014 scripts/e2e/telegram-user-credential.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/telegram-user-credential.ts:53"}, "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-d814272201a35bdf", "name": "Stray `console.log` in TS/JS \u2014 scripts/e2e/crestodian-rescue-docker-client.ts:264", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/crestodian-rescue-docker-client.ts:264"}, "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-698988782d3af368", "name": "Stray `console.log` in TS/JS \u2014 scripts/e2e/telegram-user-crabbox-proof.ts:377", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/telegram-user-crabbox-proof.ts:377"}, "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-9dcd9eebe44815e8", "name": "Stray `console.log` in TS/JS \u2014 scripts/e2e/commitments-safety-docker-client.ts:287", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/commitments-safety-docker-client.ts:287"}, "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-b862385ebe7fbba9", "name": "Stray `console.log` in TS/JS \u2014 extensions/music-generation-providers.live.test.ts:323", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/music-generation-providers.live.test.ts:323"}, "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-0b0e9981a3c8295d", "name": "Stray `console.log` in TS/JS \u2014 extensions/video-generation-providers.live.test.ts:342", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/video-generation-providers.live.test.ts:342"}, "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-04396e26fca2427d", "name": "Stray `console.log` in TS/JS \u2014 extensions/memory-lancedb/index.ts:1783", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/memory-lancedb/index.ts:1783"}, "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-aeb9f226da7791ff", "name": "Stray `console.log` in TS/JS \u2014 extensions/feishu/src/docx.test.ts:370", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/feishu/src/docx.test.ts:370"}, "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-632b316e06572d72", "name": "Stray `console.log` in TS/JS \u2014 extensions/nextcloud-talk/src/send.ts:206", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/nextcloud-talk/src/send.ts:206"}, "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-7a68efd597df9d2d", "name": "Stray `console.log` in TS/JS \u2014 extensions/matrix/src/cli.ts:139", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/matrix/src/cli.ts:139"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a59c44a52eb3698", "name": "Stray `console.log` in TS/JS \u2014 extensions/line/src/markdown-to-line.test.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/line/src/markdown-to-line.test.ts:86"}, "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-1270f46056e25160", "name": "Stray `console.log` in TS/JS \u2014 extensions/bonjour/src/advertiser.test.ts:581", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/bonjour/src/advertiser.test.ts:581"}, "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-3a153ca6a85f4e74", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager.ts:152", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager.ts:152"}, "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-c5e06ea298775a7a", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/media-stream.ts:241", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/media-stream.ts:241"}, "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-fb031a4d7427c6a0", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook.ts:399", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook.ts:399"}, "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-8347b0e54d659bf9", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/tunnel.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/tunnel.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-037f14984e71b349", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager/timers.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager/timers.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-7a40f7ec15c2b874", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager/events.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager/events.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-8c0c48302f80ef99", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager/outbound.ts:204", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager/outbound.ts:204"}, "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-91bb28e0e026b219", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook/tailscale.ts:121", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook/tailscale.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-eb7b201157cc891a", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook/stale-call-reaper.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook/stale-call-reaper.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-ed07016f3bb75814", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook/realtime-handler.ts:601", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook/realtime-handler.ts:601"}, "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-575b8f51793b5fea", "name": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/providers/twilio.ts:464", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/providers/twilio.ts:464"}, "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-66710fb0446d4372", "name": "Stray `console.log` in TS/JS \u2014 extensions/gradium/gradium.live.test.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/gradium/gradium.live.test.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-46a0e383a1a142ba", "name": "Stray `console.log` in TS/JS \u2014 extensions/codex/src/node-cli-sessions.test.ts:163", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/codex/src/node-cli-sessions.test.ts:163"}, "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-21addcf02841257b", "name": "Stray `console.log` in TS/JS \u2014 extensions/codex/src/app-server/sandbox-exec-server.http.test.ts:276", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/codex/src/app-server/sandbox-exec-server.http.test.ts:276"}, "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-374cab748098a7e5", "name": "Stray `console.log` in TS/JS \u2014 extensions/codex/src/app-server/transport-stdio.test.ts:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/codex/src/app-server/transport-stdio.test.ts:72"}, "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-c6fb53b532a86de4", "name": "Stray `console.log` in TS/JS \u2014 extensions/whatsapp/src/session.ts:198", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/whatsapp/src/session.ts:198"}, "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-03c1168ecfeb0207", "name": "Stray `console.log` in TS/JS \u2014 extensions/discord/src/chunk.test.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/discord/src/chunk.test.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-5c047ee152a11b5d", "name": "Stray `console.log` in TS/JS \u2014 extensions/twitch/src/plugin.live.test.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/twitch/src/plugin.live.test.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-35f19b200ad4c1be", "name": "Stray `console.log` in TS/JS \u2014 extensions/qqbot/src/engine/utils/log.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/qqbot/src/engine/utils/log.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-2f36cd57c68b0a86", "name": "Stray `console.log` in TS/JS \u2014 extensions/qqbot/src/engine/messaging/streaming-c2c.ts:419", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/qqbot/src/engine/messaging/streaming-c2c.ts:419"}, "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-5b81730507c1e683", "name": "Stray `console.log` in TS/JS \u2014 extensions/qqbot/src/bridge/logger.ts:26", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/qqbot/src/bridge/logger.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-14af8ae4afc75068", "name": "Stray `console.log` in TS/JS \u2014 extensions/acpx/src/codex-auth-bridge.test.ts:283", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/acpx/src/codex-auth-bridge.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-8fd16b285655e5f9", "name": "Stray `console.log` in TS/JS \u2014 extensions/canvas/scripts/copy-a2ui.test.ts:102", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/canvas/scripts/copy-a2ui.test.ts:102"}, "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-8c21b103d3888a0b", "name": "Stray `console.log` in TS/JS \u2014 extensions/qa-lab/src/suite-runtime-agent-process.integration.test.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/qa-lab/src/suite-runtime-agent-process.integration.test.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-db267820f124f9ec", "name": "Stray `console.log` in TS/JS \u2014 extensions/tlon/src/monitor/index.ts:497", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 extensions/tlon/src/monitor/index.ts:497"}, "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-aeacb1c8875645b5", "name": "TODO/FIXME marker in shipping code \u2014 extensions/microsoft-foundry/onboard.ts:338", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 extensions/microsoft-foundry/onboard.ts:338"}, "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-065ce55054123efa", "name": "Stray `console.log` in TS/JS \u2014 src/entry.version-fast-path.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/entry.version-fast-path.ts:25"}, "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-a77799b2d4966005", "name": "Stray `console.log` in TS/JS \u2014 src/globals.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/globals.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19be656c64fc4207", "name": "Stray `console.log` in TS/JS \u2014 src/runtime.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime.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-9193b65559f09233", "name": "Stray `console.log` in TS/JS \u2014 src/logger.ts:92", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/logger.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-d5ef9a33b8be8447", "name": "Stray `console.log` in TS/JS \u2014 src/cli/completion-runtime.ts:298", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/completion-runtime.ts:298"}, "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-49993c6b65df6f67", "name": "Stray `console.log` in TS/JS \u2014 src/cli/program/help.ts:124", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/program/help.ts:124"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6ae6d282964987df", "name": "Stray `console.log` in TS/JS \u2014 src/acp/client.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/acp/client.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-e378dec024188224", "name": "Stray `console.log` in TS/JS \u2014 src/acp/client.test.ts:288", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/acp/client.test.ts:288"}, "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-a5e0d18a5c949c00", "name": "Stray `console.log` in TS/JS \u2014 src/acp/server.ts:242", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/acp/server.ts:242"}, "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-471f50f46eb39a3e", "name": "Stray `console.log` in TS/JS \u2014 src/agents/bash-tools.exec.script-preflight.test.ts:49", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/bash-tools.exec.script-preflight.test.ts:49"}, "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-b62a5d00882e06a9", "name": "Stray `console.log` in TS/JS \u2014 src/agents/subagent-announce.live.test.ts:390", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/subagent-announce.live.test.ts:390"}, "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-fd4fc11b65998623", "name": "Stray `console.log` in TS/JS \u2014 src/agents/embedded-agent-block-chunker.test.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/embedded-agent-block-chunker.test.ts:42"}, "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-2031ae22d120ad46", "name": "Stray `console.log` in TS/JS \u2014 src/agents/bash-tools.exec-approval-request.test.ts:396", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/bash-tools.exec-approval-request.test.ts:396"}, "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-9b89150409863008", "name": "Stray `console.log` in TS/JS \u2014 src/agents/sessions/model-resolver.ts:578", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/sessions/model-resolver.ts:578"}, "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-5f97d267f4dd666b", "name": "Stray `console.log` in TS/JS \u2014 src/agents/utils/tools-manager.ts:397", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/utils/tools-manager.ts:397"}, "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-4be88240bbc68656", "name": "Stray `console.log` in TS/JS \u2014 src/test-utils/fs-scan-assertions.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/test-utils/fs-scan-assertions.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-10a43ea1dab60b46", "name": "Stray `console.log` in TS/JS \u2014 src/hooks/loader.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/hooks/loader.ts:86"}, "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-5de930ed9eade71a", "name": "Stray `console.log` in TS/JS \u2014 src/hooks/internal-hooks.ts:211", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/hooks/internal-hooks.ts:211"}, "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-224e79e394374a96", "name": "Stray `console.log` in TS/JS \u2014 src/logging/console-capture.test.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/logging/console-capture.test.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-da9e2a925e2f9e47", "name": "Stray `console.log` in TS/JS \u2014 src/infra/run-node.test.ts:80", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/run-node.test.ts:80"}, "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-c49dc5723e22bcf3", "name": "Stray `console.log` in TS/JS \u2014 src/infra/tailscale.ts:362", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/tailscale.ts:362"}, "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-4f14bb1ec7b862ec", "name": "Stray `console.log` in TS/JS \u2014 src/infra/exec-auto-review.test.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/exec-auto-review.test.ts:42"}, "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-bd470c0d96ed5ade", "name": "Stray `console.log` in TS/JS \u2014 src/infra/command-explainer/format.test.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/command-explainer/format.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-330dd4bb83abe912", "name": "Stray `console.log` in TS/JS \u2014 src/infra/net/undici-global-dispatcher.test.ts:199", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/net/undici-global-dispatcher.test.ts:199"}, "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-5ede2b2ff6a8ca01", "name": "Stray `console.log` in TS/JS \u2014 src/infra/net/proxy/external-proxy.e2e.test.ts:469", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/net/proxy/external-proxy.e2e.test.ts:469"}, "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-3c09ac31db2b4edc", "name": "Stray `console.log` in TS/JS \u2014 src/infra/command-analysis/inline-eval.test.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/command-analysis/inline-eval.test.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-c35debd002fef99a", "name": "Stray `console.log` in TS/JS \u2014 src/gateway/control-ui.http.test.ts:256", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/gateway/control-ui.http.test.ts:256"}, "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-932e3d4024ec504d", "name": "Stray `console.log` in TS/JS \u2014 src/gateway/control-ui.auto-root.http.test.ts:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/gateway/control-ui.auto-root.http.test.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-0bf6ae9d947cc29e", "name": "Stray `console.log` in TS/JS \u2014 src/gateway/control-ui-csp.test.ts:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/gateway/control-ui-csp.test.ts:88"}, "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-659f577543d7a270", "name": "Stray `console.log` in TS/JS \u2014 src/skills/security/scanner.test.ts:314", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/skills/security/scanner.test.ts:314"}, "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-5e2d01f726e078ff", "name": "Stray `console.log` in TS/JS \u2014 src/node-host/invoke-system-run.test.ts:203", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/node-host/invoke-system-run.test.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-1b361633b6d57bb9", "name": "Stray `console.log` in TS/JS \u2014 src/node-host/invoke-system-run-plan.test.ts:99", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/node-host/invoke-system-run-plan.test.ts:99"}, "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-975b648ff6345570", "name": "Stray `console.log` in TS/JS \u2014 src/plugin-sdk/fetch-runtime.test.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/plugin-sdk/fetch-runtime.test.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-c5e23b3fbd3c171c", "name": "Stray `console.log` in TS/JS \u2014 src/plugin-sdk/channel-entry-contract.test.ts:348", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/plugin-sdk/channel-entry-contract.test.ts:348"}, "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-d6fbf7ccbed32bca", "name": "Stray `console.log` in TS/JS \u2014 src/plugins/plugin-sdk-native-resolver.test.ts:338", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/plugin-sdk-native-resolver.test.ts:338"}, "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-b9169adc8e38e9cf", "name": "Stray `console.log` in TS/JS \u2014 src/plugins/loader.git-path-regression.test.ts:83", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/loader.git-path-regression.test.ts:83"}, "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-7713f068daedcef6", "name": "Stray `console.log` in TS/JS \u2014 src/plugins/native-module-require.test.ts:119", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/native-module-require.test.ts:119"}, "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-5ab93053ea9cfff4", "name": "Stray `console.log` in TS/JS \u2014 src/plugins/hooks.correlation.test.ts:128", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/hooks.correlation.test.ts:128"}, "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-f27b1760c6f4205a", "name": "Stray `console.log` in TS/JS \u2014 src/plugins/install.path.test.ts:224", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/install.path.test.ts:224"}, "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-bbfe7bf589f02acd", "name": "Stray `console.log` in TS/JS \u2014 src/auto-reply/reply/model-selection.ts:144", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/auto-reply/reply/model-selection.ts:144"}, "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-114d0db00d4c3272", "name": "Privileged port 256 in use", "shortDescription": {"text": "Privileged port 256 in use"}, "fullDescription": {"text": "Port 256 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-bd3ab5d1c1132aaf", "name": "Privileged port 123 in use", "shortDescription": {"text": "Privileged port 123 in use"}, "fullDescription": {"text": "Port 123 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-6b3ecce87382b1be", "name": "Privileged port 30 in use", "shortDescription": {"text": "Privileged port 30 in use"}, "fullDescription": {"text": "Port 30 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-5ae7460c9cfa7510", "name": "Privileged port 18 in use", "shortDescription": {"text": "Privileged port 18 in use"}, "fullDescription": {"text": "Port 18 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-fd9eb297507e064f", "name": "Privileged port 19 in use", "shortDescription": {"text": "Privileged port 19 in use"}, "fullDescription": {"text": "Port 19 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-47636e33caef255d", "name": "Dockerfile runs as root: docker/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: docker/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-fdbe2a2345f9797e", "name": "Docker base image is tag-pinned but not digest-pinned: node:22-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:22-slim"}, "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-a049fd12afbc9c10", "name": "Dockerfile runs as root: scripts/docker/install-sh-smoke/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: scripts/docker/install-sh-smoke/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-1397076d52eac071", "name": "Dockerfile runs as root: scripts/docker/cleanup-smoke/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: scripts/docker/cleanup-smoke/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-8df48412c6c889a7", "name": "Dockerfile runs as root: .github/images/live-media-runner/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: .github/images/live-media-runner/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-d9a0aa516dbed06b", "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-10d73af5e3d8de60", "name": "Analyzer timeout: security.scan", "shortDescription": {"text": "Analyzer timeout: security.scan"}, "fullDescription": {"text": "analyzer exceeded 60.0s wall-clock (thread mode \u2014 daemon abandoned). Bump REPOBILITY_ANALYZER_TIMEOUT_S if expected."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-89f16b0d5f1e2d50", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98039fa2d3a41391", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4.2.2 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21beb2ef138eb710", "name": "GitHub Action tracks a moving branch", "shortDescription": {"text": "GitHub Action tracks a moving branch"}, "fullDescription": {"text": "snyk/actions/node@master can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "high", "confidence": 1.0}}, {"id": "scanner-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4.2.2 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4.2.2 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1838a141491ce38c", "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-cb639d9a10a47b23", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2def9f6f4ba5910a", "name": "Very large file: test/scripts/test-projects.test.ts (2764 lines)", "shortDescription": {"text": "Very large file: test/scripts/test-projects.test.ts (2764 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-371f85fc262b0e14", "name": "Very large file: test/scripts/kitchen-sink-rpc-walk.test.ts (1622 lines)", "shortDescription": {"text": "Very large file: test/scripts/kitchen-sink-rpc-walk.test.ts (1622 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-d37e879e42745ee4", "name": "Very large file: test/scripts/install-sh.test.ts (1584 lines)", "shortDescription": {"text": "Very large file: test/scripts/install-sh.test.ts (1584 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-8e4b50537cfcea55", "name": "Very large file: test/scripts/parallels-smoke-model.test.ts (1326 lines)", "shortDescription": {"text": "Very large file: test/scripts/parallels-smoke-model.test.ts (1326 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-e12c496f43ad0783", "name": "Very large file: test/scripts/openclaw-cross-os-release-checks.test.ts (1813 lines)", "shortDescription": {"text": "Very large file: test/scripts/openclaw-cross-os-release-checks.test.ts (1813 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-7c6792d79c161414", "name": "Very large file: test/scripts/docker-build-helper.test.ts (3128 lines)", "shortDescription": {"text": "Very large file: test/scripts/docker-build-helper.test.ts (3128 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-ea0821006777f4e9", "name": "Very large file: test/scripts/package-acceptance-workflow.test.ts (1720 lines)", "shortDescription": {"text": "Very large file: test/scripts/package-acceptance-workflow.test.ts (1720 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-5db9820ccb344be8", "name": "Very large file: test/scripts/crabbox-wrapper.test.ts (2842 lines)", "shortDescription": {"text": "Very large file: test/scripts/crabbox-wrapper.test.ts (2842 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-f18913be576112ab", "name": "Very large file: apps/shared/OpenClawKit/Sources/OpenClawKit/Resources/CanvasA2UI/a2ui.bundle.js (12489 lines)", "shortDescription": {"text": "Very large file: apps/shared/OpenClawKit/Sources/OpenClawKit/Resources/CanvasA2UI/a2ui.bundle.js (12489 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-ab23d56f0020d237", "name": "Very large file: ui/src/i18n/locales/fr.ts (1665 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/fr.ts (1665 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-775ab18188969ea7", "name": "Very large file: ui/src/i18n/locales/uk.ts (1652 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/uk.ts (1652 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-18e222fb342df396", "name": "Very large file: ui/src/i18n/locales/en.ts (1635 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/en.ts (1635 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-46a93fd069e2aa3b", "name": "Very large file: ui/src/i18n/locales/th.ts (1611 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/th.ts (1611 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-4d4d2086a37d473d", "name": "Very large file: ui/src/i18n/locales/vi.ts (1637 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/vi.ts (1637 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-c11d1a52f55ff07f", "name": "Very large file: ui/src/i18n/locales/de.ts (1665 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/de.ts (1665 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-edcff0701ddda91f", "name": "Very large file: ui/src/i18n/locales/nl.ts (1651 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/nl.ts (1651 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-6d8d4022ec09edef", "name": "Very large file: ui/src/i18n/locales/es.ts (1659 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/es.ts (1659 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-ef0a350e1992493a", "name": "Very large file: ui/src/i18n/locales/ko.ts (1634 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/ko.ts (1634 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-633c5fd471886f97", "name": "Very large file: ui/src/i18n/locales/ar.ts (1627 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/ar.ts (1627 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-8998cd87ee46e768", "name": "Very large file: ui/src/i18n/locales/pl.ts (1657 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/pl.ts (1657 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-f2f08249a0f0dea8", "name": "Very large file: ui/src/i18n/locales/tr.ts (1654 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/tr.ts (1654 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-52e33e7437e741ee", "name": "Very large file: ui/src/i18n/locales/id.ts (1644 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/id.ts (1644 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-c850562736c5e404", "name": "Very large file: ui/src/i18n/locales/fa.ts (1645 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/fa.ts (1645 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-ae3968b7ed826eda", "name": "Very large file: ui/src/i18n/locales/ja-JP.ts (1652 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/ja-JP.ts (1652 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-e7374e16cb6c8eb1", "name": "Very large file: ui/src/i18n/locales/it.ts (1659 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/it.ts (1659 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-93990a261b883795", "name": "Very large file: ui/src/i18n/locales/zh-TW.ts (1608 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/zh-TW.ts (1608 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-ab600acad57d01cf", "name": "Very large file: ui/src/i18n/locales/pt-BR.ts (1649 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/pt-BR.ts (1649 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-058307d7d0af2ac3", "name": "Very large file: ui/src/i18n/locales/zh-CN.ts (1606 lines)", "shortDescription": {"text": "Very large file: ui/src/i18n/locales/zh-CN.ts (1606 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-605e8cff2b4af5c8", "name": "Very large file: ui/src/ui/app-gateway.node.test.ts (2071 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/app-gateway.node.test.ts (2071 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-aaf84ae14a8ce378", "name": "Very large file: ui/src/ui/app-chat.test.ts (3095 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/app-chat.test.ts (3095 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-36b8a877ce5ab12b", "name": "Very large file: ui/src/ui/app-chat.ts (2350 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/app-chat.ts (2350 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-866c243d66c26fe5", "name": "Very large file: ui/src/ui/app.ts (1596 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/app.ts (1596 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-cf758ce3eeaf8067", "name": "Very large file: ui/src/ui/app-render.ts (3805 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/app-render.ts (3805 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-aba42c6a5954947d", "name": "Very large file: ui/src/ui/chat/grouped-render.ts (1953 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/chat/grouped-render.ts (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-da6bbbff88e239fa", "name": "Very large file: ui/src/ui/chat/grouped-render.test.ts (2530 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/chat/grouped-render.test.ts (2530 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-31141045cfa8ee88", "name": "Very large file: ui/src/ui/chat/session-controls.ts (1774 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/chat/session-controls.ts (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-64edf002167fa337", "name": "Very large file: ui/src/ui/controllers/workboard.ts (2439 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/controllers/workboard.ts (2439 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-749ccce0fb905b26", "name": "Very large file: ui/src/ui/controllers/cron.test.ts (1623 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/controllers/cron.test.ts (1623 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-dd8aab027d8fa6f1", "name": "Very large file: ui/src/ui/controllers/sessions.test.ts (2773 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/controllers/sessions.test.ts (2773 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-1b7e772080197e7e", "name": "Very large file: ui/src/ui/controllers/workboard.test.ts (2743 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/controllers/workboard.test.ts (2743 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-c2b6ed64a834b7ba", "name": "Very large file: ui/src/ui/controllers/chat.test.ts (3384 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/controllers/chat.test.ts (3384 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-e18e8e5aad1d04cd", "name": "Very large file: ui/src/ui/views/config.ts (1909 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/views/config.ts (1909 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-42ba429d55e9bb1d", "name": "Very large file: ui/src/ui/views/dreaming.ts (1579 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/views/dreaming.ts (1579 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-4cdb3f91a10377af", "name": "Very large file: ui/src/ui/views/workboard.ts (2043 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/views/workboard.ts (2043 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-20743f7132d417dc", "name": "Very large file: ui/src/ui/views/chat.ts (2272 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/views/chat.ts (2272 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-7c20fc8aa5137b90", "name": "Very large file: ui/src/ui/views/cron.ts (1941 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/views/cron.ts (1941 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-844243ae24d2e0d6", "name": "Very large file: ui/src/ui/views/workboard.test.ts (1965 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/views/workboard.test.ts (1965 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-409b50ddce2e3bf2", "name": "Very large file: ui/src/ui/views/chat.test.ts (3574 lines)", "shortDescription": {"text": "Very large file: ui/src/ui/views/chat.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-2a93184af8120746", "name": "Very large file: scripts/test-projects.test-support.mjs (2790 lines)", "shortDescription": {"text": "Very large file: scripts/test-projects.test-support.mjs (2790 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-6fc346748b7fabab", "name": "Very large file: scripts/test-docker-all.mjs (1632 lines)", "shortDescription": {"text": "Very large file: scripts/test-docker-all.mjs (1632 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-5e365be33523d570", "name": "Very large file: scripts/bench-gateway-restart.ts (1805 lines)", "shortDescription": {"text": "Very large file: scripts/bench-gateway-restart.ts (1805 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-a38081624cd785a2", "name": "Very large file: scripts/install.sh (3362 lines)", "shortDescription": {"text": "Very large file: scripts/install.sh (3362 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-92fb95dd5e8b75ee", "name": "Very large file: scripts/openclaw-cross-os-release-checks.ts (4329 lines)", "shortDescription": {"text": "Very large file: scripts/openclaw-cross-os-release-checks.ts (4329 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-8b9a3eb2cb26a91c", "name": "Very large file: scripts/run-node.mjs (1563 lines)", "shortDescription": {"text": "Very large file: scripts/run-node.mjs (1563 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-c097cd643e4dc3a2", "name": "Very large file: scripts/control-ui-i18n.ts (1812 lines)", "shortDescription": {"text": "Very large file: scripts/control-ui-i18n.ts (1812 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-c4cf9a9f0c37e462", "name": "Very large file: scripts/crabbox-wrapper.mjs (2470 lines)", "shortDescription": {"text": "Very large file: scripts/crabbox-wrapper.mjs (2470 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-c04da6f3317c26d4", "name": "Very large file: scripts/qa-otel-smoke.ts (1659 lines)", "shortDescription": {"text": "Very large file: scripts/qa-otel-smoke.ts (1659 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-8dcfa471f026bf15", "name": "Very large file: scripts/e2e/secret-provider-integrations.mjs (1944 lines)", "shortDescription": {"text": "Very large file: scripts/e2e/secret-provider-integrations.mjs (1944 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-089ce7cb76b9991d", "name": "Very large file: scripts/e2e/telegram-user-crabbox-proof.ts (2742 lines)", "shortDescription": {"text": "Very large file: scripts/e2e/telegram-user-crabbox-proof.ts (2742 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-555ce564c5523bf5", "name": "Very large file: scripts/e2e/kitchen-sink-rpc-walk.mjs (2320 lines)", "shortDescription": {"text": "Very large file: scripts/e2e/kitchen-sink-rpc-walk.mjs (2320 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-6b775d60dc3f4c08", "name": "Very large file: extensions/memory-lancedb/index.test.ts (3940 lines)", "shortDescription": {"text": "Very large file: extensions/memory-lancedb/index.test.ts (3940 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-2ca4e332da97942e", "name": "Very large file: extensions/memory-lancedb/index.ts (2045 lines)", "shortDescription": {"text": "Very large file: extensions/memory-lancedb/index.ts (2045 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-dfbb26a845322846", "name": "Very large file: extensions/google/transport-stream.test.ts (2160 lines)", "shortDescription": {"text": "Very large file: extensions/google/transport-stream.test.ts (2160 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-5075d261a4b9747a", "name": "Very large file: extensions/feishu/src/bot.ts (1798 lines)", "shortDescription": {"text": "Very large file: extensions/feishu/src/bot.ts (1798 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-d697af3fad0c1177", "name": "Very large file: extensions/feishu/src/docx.ts (1598 lines)", "shortDescription": {"text": "Very large file: extensions/feishu/src/docx.ts (1598 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-f625b9b4802d55b5", "name": "Very large file: extensions/feishu/src/reply-dispatcher.test.ts (2009 lines)", "shortDescription": {"text": "Very large file: extensions/feishu/src/reply-dispatcher.test.ts (2009 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-e96b004f23ee5f42", "name": "Very large file: extensions/feishu/src/bot.test.ts (3972 lines)", "shortDescription": {"text": "Very large file: extensions/feishu/src/bot.test.ts (3972 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-1bf44b087d94995f", "name": "Very large file: extensions/zalouser/src/zalo-js.ts (1935 lines)", "shortDescription": {"text": "Very large file: extensions/zalouser/src/zalo-js.ts (1935 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-cd022b0c665a5fc1", "name": "Very large file: extensions/imessage/src/monitor.last-route.test.ts (1574 lines)", "shortDescription": {"text": "Very large file: extensions/imessage/src/monitor.last-route.test.ts (1574 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-7021385ea10b3bcd", "name": "Very large file: extensions/imessage/src/monitor/monitor-provider.ts (1663 lines)", "shortDescription": {"text": "Very large file: extensions/imessage/src/monitor/monitor-provider.ts (1663 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-263bcec8bcf46b30", "name": "Very large file: extensions/matrix/src/cli.ts (2301 lines)", "shortDescription": {"text": "Very large file: extensions/matrix/src/cli.ts (2301 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-46636cda6eb12625", "name": "Very large file: extensions/matrix/src/cli.test.ts (1946 lines)", "shortDescription": {"text": "Very large file: extensions/matrix/src/cli.test.ts (1946 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-a6f1dc92330bb8c5", "name": "Very large file: extensions/matrix/src/matrix/sdk.ts (2168 lines)", "shortDescription": {"text": "Very large file: extensions/matrix/src/matrix/sdk.ts (2168 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-72d6d1562628083b", "name": "Very large file: extensions/matrix/src/matrix/sdk.test.ts (3482 lines)", "shortDescription": {"text": "Very large file: extensions/matrix/src/matrix/sdk.test.ts (3482 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-456f17dfab0b0b0b", "name": "Very large file: extensions/matrix/src/matrix/monitor/handler.test.ts (4254 lines)", "shortDescription": {"text": "Very large file: extensions/matrix/src/matrix/monitor/handler.test.ts (4254 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-1f8dd44cb49f4aec", "name": "Very large file: extensions/matrix/src/matrix/monitor/events.test.ts (1843 lines)", "shortDescription": {"text": "Very large file: extensions/matrix/src/matrix/monitor/events.test.ts (1843 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-678d4605d62d5ed8", "name": "Very large file: extensions/matrix/src/matrix/monitor/handler.ts (2618 lines)", "shortDescription": {"text": "Very large file: extensions/matrix/src/matrix/monitor/handler.ts (2618 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-9aea2aa460b8c6fc", "name": "Very large file: extensions/openai/realtime-voice-provider.test.ts (2072 lines)", "shortDescription": {"text": "Very large file: extensions/openai/realtime-voice-provider.test.ts (2072 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-035f0d24bad2ee6c", "name": "Very large file: extensions/openai/image-generation-provider.test.ts (2075 lines)", "shortDescription": {"text": "Very large file: extensions/openai/image-generation-provider.test.ts (2075 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-0d1ddfd94511cbc1", "name": "Very large file: extensions/policy/src/policy-state.ts (2725 lines)", "shortDescription": {"text": "Very large file: extensions/policy/src/policy-state.ts (2725 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-25c2eddff845af73", "name": "Very large file: extensions/policy/src/doctor/register.test.ts (8041 lines)", "shortDescription": {"text": "Very large file: extensions/policy/src/doctor/register.test.ts (8041 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-31aad34e9af68815", "name": "Very large file: extensions/policy/src/doctor/register.ts (6467 lines)", "shortDescription": {"text": "Very large file: extensions/policy/src/doctor/register.ts (6467 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-2f719ee79a1adfe0", "name": "Very large file: extensions/telegram/src/bot.create-telegram-bot.test.ts (4970 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/bot.create-telegram-bot.test.ts (4970 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-b373ef3b5f89beb4", "name": "Very large file: extensions/telegram/src/action-runtime.test.ts (1972 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/action-runtime.test.ts (1972 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-a1cd40a79e0ad44b", "name": "Very large file: extensions/telegram/src/bot-native-commands.ts (1571 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/bot-native-commands.ts (1571 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-077fe121c523b779", "name": "Very large file: extensions/telegram/src/bot-message-dispatch.ts (2693 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/bot-message-dispatch.ts (2693 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-d4d7f7d0c9e7afad", "name": "Very large file: extensions/telegram/src/send.test.ts (3439 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/send.test.ts (3439 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-f86452554b8d17c7", "name": "Very large file: extensions/telegram/src/bot-message-dispatch.test.ts (4865 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/bot-message-dispatch.test.ts (4865 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-aa4c1588fa5526d2", "name": "Very large file: extensions/telegram/src/send.ts (1831 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/send.ts (1831 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-c31d2f087943bd35", "name": "Very large file: extensions/telegram/src/bot-handlers.runtime.ts (3073 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/bot-handlers.runtime.ts (3073 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-53e6c9155be0f5e2", "name": "Very large file: extensions/telegram/src/polling-session.test.ts (3723 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/polling-session.test.ts (3723 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-6dfccdfd7a01f6cb", "name": "Very large file: extensions/telegram/src/bot.test.ts (4030 lines)", "shortDescription": {"text": "Very large file: extensions/telegram/src/bot.test.ts (4030 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-f06a3d80796e0b0c", "name": "Very large file: extensions/voice-call/src/webhook.test.ts (1851 lines)", "shortDescription": {"text": "Very large file: extensions/voice-call/src/webhook.test.ts (1851 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-5d856f6660988a4d", "name": "Very large file: extensions/codex/src/command-handlers.ts (2255 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/command-handlers.ts (2255 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-9a127dfe76f3b094", "name": "Very large file: extensions/codex/src/commands.test.ts (4051 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/commands.test.ts (4051 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-1df4ec0cb178e8a4", "name": "Very large file: extensions/codex/src/migration/provider.test.ts (2315 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/migration/provider.test.ts (2315 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-670d8c4a309f1b26", "name": "Very large file: extensions/codex/src/app-server/config.ts (1883 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/config.ts (1883 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-e8cec3e965244562", "name": "Very large file: extensions/codex/src/app-server/dynamic-tools.test.ts (1644 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/dynamic-tools.test.ts (1644 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-9820dd024da80964", "name": "Very large file: extensions/codex/src/app-server/thread-lifecycle.binding.test.ts (1593 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/thread-lifecycle.binding.test.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-c35604fce41bc189", "name": "Very large file: extensions/codex/src/app-server/auth-bridge.test.ts (1612 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/auth-bridge.test.ts (1612 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-0b1f9fc22b4bfe5f", "name": "Very large file: extensions/codex/src/app-server/event-projector.ts (2469 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/event-projector.ts (2469 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-b2d1dc5b7f5c31c8", "name": "Very large file: extensions/codex/src/app-server/thread-lifecycle.ts (1514 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/thread-lifecycle.ts (1514 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-a3b5d2a534b892bf", "name": "Very large file: extensions/codex/src/app-server/side-question.test.ts (1526 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/side-question.test.ts (1526 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-368ba26d83e12253", "name": "Very large file: extensions/codex/src/app-server/approval-bridge.ts (1572 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/approval-bridge.ts (1572 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-b1addfbdfacd78dd", "name": "Very large file: extensions/codex/src/app-server/config.test.ts (2159 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/config.test.ts (2159 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-bdbe6d8898e20152", "name": "Very large file: extensions/codex/src/app-server/run-attempt.context-engine.test.ts (1772 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/run-attempt.context-engine.test.ts (1772 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-edf147a11aea26e9", "name": "Very large file: extensions/codex/src/app-server/run-attempt.test.ts (5192 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/run-attempt.test.ts (5192 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-db8eb39079e0127c", "name": "Very large file: extensions/codex/src/app-server/run-attempt.ts (3040 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/run-attempt.ts (3040 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-8d1e4b5dee5bd84f", "name": "Very large file: extensions/codex/src/app-server/run-attempt.turn-watches.test.ts (4209 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/run-attempt.turn-watches.test.ts (4209 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-a7823a4135defe1f", "name": "Very large file: extensions/codex/src/app-server/event-projector.test.ts (3433 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/event-projector.test.ts (3433 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-92101f2734739533", "name": "Very large file: extensions/codex/src/app-server/approval-bridge.test.ts (2562 lines)", "shortDescription": {"text": "Very large file: extensions/codex/src/app-server/approval-bridge.test.ts (2562 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-ba94957bee58842f", "name": "Very large file: extensions/discord/src/monitor/message-handler.preflight.test.ts (2351 lines)", "shortDescription": {"text": "Very large file: extensions/discord/src/monitor/message-handler.preflight.test.ts (2351 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-2b3efd1629a72139", "name": "Very large file: extensions/discord/src/monitor/message-handler.process.test.ts (3663 lines)", "shortDescription": {"text": "Very large file: extensions/discord/src/monitor/message-handler.process.test.ts (3663 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-4989ba6cab77fcb3", "name": "Very large file: extensions/discord/src/monitor/model-picker.test.ts (1471 lines)", "shortDescription": {"text": "Very large file: extensions/discord/src/monitor/model-picker.test.ts (1471 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-a8dc406ee4766c70", "name": "Very large file: extensions/discord/src/monitor/thread-bindings.lifecycle.test.ts (2010 lines)", "shortDescription": {"text": "Very large file: extensions/discord/src/monitor/thread-bindings.lifecycle.test.ts (2010 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-79525ed4ba748aac", "name": "Very large file: extensions/discord/src/voice/manager.e2e.test.ts (5733 lines)", "shortDescription": {"text": "Very large file: extensions/discord/src/voice/manager.e2e.test.ts (5733 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-1cb8c06c4290526f", "name": "Very large file: extensions/discord/src/voice/manager.ts (1909 lines)", "shortDescription": {"text": "Very large file: extensions/discord/src/voice/manager.ts (1909 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-217341815e310acd", "name": "Very large file: extensions/discord/src/voice/realtime.ts (1753 lines)", "shortDescription": {"text": "Very large file: extensions/discord/src/voice/realtime.ts (1753 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-d2468235225224e5", "name": "Very large file: extensions/discord/src/actions/runtime.test.ts (2216 lines)", "shortDescription": {"text": "Very large file: extensions/discord/src/actions/runtime.test.ts (2216 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-9352059d4b8eb4e4", "name": "Very large file: extensions/workboard/src/store.ts (4342 lines)", "shortDescription": {"text": "Very large file: extensions/workboard/src/store.ts (4342 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-858669114f218d1c", "name": "Very large file: extensions/workboard/src/store.test.ts (2686 lines)", "shortDescription": {"text": "Very large file: extensions/workboard/src/store.test.ts (2686 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-623f922740592bb3", "name": "Very large file: extensions/acpx/src/runtime.test.ts (1982 lines)", "shortDescription": {"text": "Very large file: extensions/acpx/src/runtime.test.ts (1982 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-87e7ffb542420315", "name": "Very large file: extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee.ts (3662 lines)", "shortDescription": {"text": "Very large file: extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee.ts (3662 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-9a38ef2ac5b0c072", "name": "Very large file: extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee-destructive.ts (1687 lines)", "shortDescription": {"text": "Very large file: extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee-destructive.ts (1687 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-fa9121837c4af4ab", "name": "Very large file: extensions/qa-matrix/src/runners/contract/scenario-runtime-room.ts (1572 lines)", "shortDescription": {"text": "Very large file: extensions/qa-matrix/src/runners/contract/scenario-runtime-room.ts (1572 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-f7878091234c155a", "name": "Very large file: extensions/qa-matrix/src/runners/contract/scenarios.test.ts (7349 lines)", "shortDescription": {"text": "Very large file: extensions/qa-matrix/src/runners/contract/scenarios.test.ts (7349 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-018fc4b9216121e9", "name": "Very large file: extensions/active-memory/index.test.ts (4376 lines)", "shortDescription": {"text": "Very large file: extensions/active-memory/index.test.ts (4376 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-5817bfa16b715545", "name": "Very large file: extensions/active-memory/index.ts (3156 lines)", "shortDescription": {"text": "Very large file: extensions/active-memory/index.ts (3156 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-b54e1a164924ac55", "name": "Very large file: extensions/amazon-bedrock/index.test.ts (1594 lines)", "shortDescription": {"text": "Very large file: extensions/amazon-bedrock/index.test.ts (1594 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-b33ca4f929fc7a98", "name": "Very large file: extensions/memory-core/src/short-term-promotion.ts (2849 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/short-term-promotion.ts (2849 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-07635d53447251d3", "name": "Very large file: extensions/memory-core/src/dreaming.test.ts (2823 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/dreaming.test.ts (2823 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-9ce873b525e9c7e3", "name": "Very large file: extensions/memory-core/src/cli.runtime.ts (2000 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/cli.runtime.ts (2000 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-0d40881baa2ec12b", "name": "Very large file: extensions/memory-core/src/dreaming-narrative.test.ts (1461 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/dreaming-narrative.test.ts (1461 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-5c1d9fa95321400b", "name": "Very large file: extensions/memory-core/src/dreaming-phases.test.ts (3096 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/dreaming-phases.test.ts (3096 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-c9b384ab0c0af8bd", "name": "Very large file: extensions/memory-core/src/short-term-promotion.test.ts (3305 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/short-term-promotion.test.ts (3305 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-f0dd3a48f8b36d09", "name": "Very large file: extensions/memory-core/src/dreaming-phases.ts (1955 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/dreaming-phases.ts (1955 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-4bc88502e2315131", "name": "Very large file: extensions/memory-core/src/cli.test.ts (2160 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/cli.test.ts (2160 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-1bd609045470f243", "name": "Very large file: extensions/memory-core/src/memory/qmd-manager.ts (3435 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/memory/qmd-manager.ts (3435 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-ec66ab82b6a60ee2", "name": "Very large file: extensions/memory-core/src/memory/index.test.ts (2137 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/memory/index.test.ts (2137 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-e047b5b4c4b04ee3", "name": "Very large file: extensions/memory-core/src/memory/qmd-manager.test.ts (6171 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/memory/qmd-manager.test.ts (6171 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-50a015b817fb3c3f", "name": "Very large file: extensions/memory-core/src/memory/manager-sync-ops.ts (2587 lines)", "shortDescription": {"text": "Very large file: extensions/memory-core/src/memory/manager-sync-ops.ts (2587 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-172f1c0a56bc1556", "name": "Very large file: extensions/diagnostics-otel/src/service.test.ts (4530 lines)", "shortDescription": {"text": "Very large file: extensions/diagnostics-otel/src/service.test.ts (4530 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-8cb5a873ba697d52", "name": "Very large file: extensions/diagnostics-otel/src/service.ts (3498 lines)", "shortDescription": {"text": "Very large file: extensions/diagnostics-otel/src/service.ts (3498 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-ccbb7a771a07f8bf", "name": "Very large file: extensions/ollama/src/stream-runtime.test.ts (2853 lines)", "shortDescription": {"text": "Very large file: extensions/ollama/src/stream-runtime.test.ts (2853 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-9bc7a36748c020d6", "name": "Very large file: extensions/google-meet/index.test.ts (5130 lines)", "shortDescription": {"text": "Very large file: extensions/google-meet/index.test.ts (5130 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-a2f93dc591068d51", "name": "Very large file: extensions/google-meet/src/cli.ts (2382 lines)", "shortDescription": {"text": "Very large file: extensions/google-meet/src/cli.ts (2382 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-894ce07a39d92c5b", "name": "Very large file: extensions/copilot/harness.test.ts (1835 lines)", "shortDescription": {"text": "Very large file: extensions/copilot/harness.test.ts (1835 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-246da6b187cb830a", "name": "Very large file: extensions/copilot/src/attempt.test.ts (2551 lines)", "shortDescription": {"text": "Very large file: extensions/copilot/src/attempt.test.ts (2551 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-df64c2ca13dbe8fb", "name": "Very large file: extensions/copilot/src/tool-bridge.test.ts (1412 lines)", "shortDescription": {"text": "Very large file: extensions/copilot/src/tool-bridge.test.ts (1412 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-b1eb903e78534d1a", "name": "Very large file: extensions/mattermost/src/mattermost/monitor.ts (2201 lines)", "shortDescription": {"text": "Very large file: extensions/mattermost/src/mattermost/monitor.ts (2201 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-b90dca1b6e74a98b", "name": "Very large file: extensions/slack/src/monitor/events/interactions.test.ts (3020 lines)", "shortDescription": {"text": "Very large file: extensions/slack/src/monitor/events/interactions.test.ts (3020 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-61272ef5fdb4ba5f", "name": "Very large file: extensions/slack/src/monitor/message-handler/prepare.test.ts (3342 lines)", "shortDescription": {"text": "Very large file: extensions/slack/src/monitor/message-handler/prepare.test.ts (3342 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-dd49a392827d8b2b", "name": "Very large file: extensions/slack/src/monitor/message-handler/dispatch.ts (1933 lines)", "shortDescription": {"text": "Very large file: extensions/slack/src/monitor/message-handler/dispatch.ts (1933 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-e17a92e7e3c4cb72", "name": "Very large file: extensions/slack/src/monitor/message-handler/dispatch.preview-fallback.test.ts (2910 lines)", "shortDescription": {"text": "Very large file: extensions/slack/src/monitor/message-handler/dispatch.preview-fallback.test.ts (2910 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-99ec32b125253065", "name": "Very large file: extensions/browser/src/browser-tool.test.ts (1872 lines)", "shortDescription": {"text": "Very large file: extensions/browser/src/browser-tool.test.ts (1872 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-e4eed92d54eac28f", "name": "Very large file: extensions/browser/src/browser/pw-tools-core.interactions.ts (1764 lines)", "shortDescription": {"text": "Very large file: extensions/browser/src/browser/pw-tools-core.interactions.ts (1764 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-b784d97dcf1a2472", "name": "Very large file: extensions/browser/src/browser/chrome-mcp.test.ts (1661 lines)", "shortDescription": {"text": "Very large file: extensions/browser/src/browser/chrome-mcp.test.ts (1661 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-d8886f1995f33bf2", "name": "Very large file: extensions/browser/src/browser/chrome.internal.test.ts (1620 lines)", "shortDescription": {"text": "Very large file: extensions/browser/src/browser/chrome.internal.test.ts (1620 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-d2e270674fc309ed", "name": "Very large file: extensions/browser/src/browser/chrome-mcp.ts (1835 lines)", "shortDescription": {"text": "Very large file: extensions/browser/src/browser/chrome-mcp.ts (1835 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-3b5809595178d4c8", "name": "Very large file: extensions/browser/src/browser/pw-session.ts (1870 lines)", "shortDescription": {"text": "Very large file: extensions/browser/src/browser/pw-session.ts (1870 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-27f3c02a5f69cc9d", "name": "Very large file: extensions/qa-lab/web/src/ui-render.ts (3560 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/web/src/ui-render.ts (3560 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-4888058909898b97", "name": "Very large file: extensions/qa-lab/web/src/app.ts (1649 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/web/src/app.ts (1649 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-f1068f451d428806", "name": "Very large file: extensions/qa-lab/src/cli.runtime.test.ts (1913 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/src/cli.runtime.test.ts (1913 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-3143ba7d4cc6a8af", "name": "Very large file: extensions/qa-lab/src/gateway-child.test.ts (1832 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/src/gateway-child.test.ts (1832 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-11986038ef670a74", "name": "Very large file: extensions/qa-lab/src/suite.ts (1605 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/src/suite.ts (1605 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-3d4c62e5269876b9", "name": "Very large file: extensions/qa-lab/src/providers/mock-openai/server.test.ts (4731 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/src/providers/mock-openai/server.test.ts (4731 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-4ad258cd415fec86", "name": "Very large file: extensions/qa-lab/src/providers/mock-openai/server.ts (3470 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/src/providers/mock-openai/server.ts (3470 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-186be18c4d6ef80c", "name": "Very large file: extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.ts (2123 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.ts (2123 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-0706362cc9ea9f3c", "name": "Very large file: extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.ts (3339 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.ts (3339 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-30e20101dad56800", "name": "Very large file: extensions/qa-lab/src/live-transports/discord/discord-live.runtime.ts (2007 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/src/live-transports/discord/discord-live.runtime.ts (2007 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-629b5e4b175d5831", "name": "Very large file: extensions/qa-lab/src/live-transports/slack/slack-live.runtime.ts (2189 lines)", "shortDescription": {"text": "Very large file: extensions/qa-lab/src/live-transports/slack/slack-live.runtime.ts (2189 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-056d1c7cde889bd7", "name": "Very large file: extensions/tlon/src/monitor/index.ts (1531 lines)", "shortDescription": {"text": "Very large file: extensions/tlon/src/monitor/index.ts (1531 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-07aab17b31135e72", "name": "Very large file: extensions/microsoft-foundry/index.test.ts (2033 lines)", "shortDescription": {"text": "Very large file: extensions/microsoft-foundry/index.test.ts (2033 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-e6a52f7bc10161e0", "name": "Very large file: packages/speech-core/src/tts.ts (2132 lines)", "shortDescription": {"text": "Very large file: packages/speech-core/src/tts.ts (2132 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-d7053b5a7dbdc67b", "name": "Very large file: packages/gateway-client/src/client.ts (1574 lines)", "shortDescription": {"text": "Very large file: packages/gateway-client/src/client.ts (1574 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-5836a52bb45deb99", "name": "Very large file: src/security/audit.ts (1399 lines)", "shortDescription": {"text": "Very large file: src/security/audit.ts (1399 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-f2d63c44d761cbbb", "name": "Very large file: src/context-engine/context-engine.test.ts (1477 lines)", "shortDescription": {"text": "Very large file: src/context-engine/context-engine.test.ts (1477 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-9a5b10cde47b76fc", "name": "Very large file: src/config/config.plugin-validation.test.ts (1761 lines)", "shortDescription": {"text": "Very large file: src/config/config.plugin-validation.test.ts (1761 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-1d84709eb7deac1a", "name": "Very large file: src/config/io.ts (2858 lines)", "shortDescription": {"text": "Very large file: src/config/io.ts (2858 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-30d5af56dad98c6a", "name": "Very large file: src/config/schema.help.ts (1981 lines)", "shortDescription": {"text": "Very large file: src/config/schema.help.ts (1981 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-f1ed1712b7d7397b", "name": "Very large file: src/config/validation.ts (1939 lines)", "shortDescription": {"text": "Very large file: src/config/validation.ts (1939 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-0b7b7b1177f7bdc2", "name": "Very large file: src/config/zod-schema.providers-core.ts (1712 lines)", "shortDescription": {"text": "Very large file: src/config/zod-schema.providers-core.ts (1712 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-65741b1f2e888a86", "name": "Very large file: src/config/schema.labels.ts (1080 lines)", "shortDescription": {"text": "Very large file: src/config/schema.labels.ts (1080 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-2f18e33efe238757", "name": "Very large file: src/config/io.write-config.test.ts (1962 lines)", "shortDescription": {"text": "Very large file: src/config/io.write-config.test.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-77be5886dc1aaea4", "name": "Very large file: src/tui/embedded-backend.test.ts (1883 lines)", "shortDescription": {"text": "Very large file: src/tui/embedded-backend.test.ts (1883 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-2b5910f19f218179", "name": "Very large file: src/tui/tui-event-handlers.test.ts (2049 lines)", "shortDescription": {"text": "Very large file: src/tui/tui-event-handlers.test.ts (2049 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-25fbead5e43f67b8", "name": "Very large file: src/commands/doctor-state-migrations.test.ts (2675 lines)", "shortDescription": {"text": "Very large file: src/commands/doctor-state-migrations.test.ts (2675 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-319d828401f2b116", "name": "Very large file: src/commands/migrate.test.ts (1547 lines)", "shortDescription": {"text": "Very large file: src/commands/migrate.test.ts (1547 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-5eeac4d12907a1a0", "name": "Very large file: src/commands/agent-via-gateway.test.ts (1794 lines)", "shortDescription": {"text": "Very large file: src/commands/agent-via-gateway.test.ts (1794 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-b9fd97f9bc49b694", "name": "Very large file: src/commands/doctor-config-flow.test.ts (3013 lines)", "shortDescription": {"text": "Very large file: src/commands/doctor-config-flow.test.ts (3013 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-dbf2b5c15831287e", "name": "Very large file: src/commands/doctor-legacy-config.migrations.test.ts (1752 lines)", "shortDescription": {"text": "Very large file: src/commands/doctor-legacy-config.migrations.test.ts (1752 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-24e6fb2a7d9746ce", "name": "Very large file: src/commands/daemon-install-helpers.test.ts (1618 lines)", "shortDescription": {"text": "Very large file: src/commands/daemon-install-helpers.test.ts (1618 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-7ec7031a0e719ca9", "name": "Very large file: src/commands/model-picker.test.ts (2557 lines)", "shortDescription": {"text": "Very large file: src/commands/model-picker.test.ts (2557 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-c98becec91024ee2", "name": "Very large file: src/commands/onboarding-plugin-install.test.ts (1557 lines)", "shortDescription": {"text": "Very large file: src/commands/onboarding-plugin-install.test.ts (1557 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-0f70a90dba5085ad", "name": "Very large file: src/commands/doctor/shared/missing-configured-plugin-install.test.ts (3725 lines)", "shortDescription": {"text": "Very large file: src/commands/doctor/shared/missing-configured-plugin-install.test.ts (3725 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-0ec22ec8a369aafb", "name": "Very large file: src/commands/doctor/shared/codex-route-warnings.test.ts (4192 lines)", "shortDescription": {"text": "Very large file: src/commands/doctor/shared/codex-route-warnings.test.ts (4192 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-4604d26a4542ff6e", "name": "Very large file: src/commands/doctor/shared/codex-route-warnings.ts (3101 lines)", "shortDescription": {"text": "Very large file: src/commands/doctor/shared/codex-route-warnings.ts (3101 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-3649fc6ed7610961", "name": "Very large file: src/commands/doctor/shared/missing-configured-plugin-install.ts (1558 lines)", "shortDescription": {"text": "Very large file: src/commands/doctor/shared/missing-configured-plugin-install.ts (1558 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-1f277dacc90b34f6", "name": "Very large file: src/commands/doctor/shared/legacy-config-migrate.test.ts (3151 lines)", "shortDescription": {"text": "Very large file: src/commands/doctor/shared/legacy-config-migrate.test.ts (3151 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-8dfc766274372836", "name": "Very large file: src/commands/doctor/shared/legacy-config-migrations.runtime.models.ts (1616 lines)", "shortDescription": {"text": "Very large file: src/commands/doctor/shared/legacy-config-migrations.runtime.models.ts (1616 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-6d9c7d8b200c2424", "name": "Very large file: src/commands/models/list.status.test.ts (2040 lines)", "shortDescription": {"text": "Very large file: src/commands/models/list.status.test.ts (2040 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-17d6059b3288fe10", "name": "Very large file: src/commands/models/auth.test.ts (1681 lines)", "shortDescription": {"text": "Very large file: src/commands/models/auth.test.ts (1681 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-956b6a757d9d6e9d", "name": "Very large file: src/cli/cron-cli.test.ts (1793 lines)", "shortDescription": {"text": "Very large file: src/cli/cron-cli.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-4727cdc7cbaeb4a6", "name": "Very large file: src/cli/config-cli.ts (2688 lines)", "shortDescription": {"text": "Very large file: src/cli/config-cli.ts (2688 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-12d744a368761b2a", "name": "Very large file: src/cli/plugins-cli.install.test.ts (1926 lines)", "shortDescription": {"text": "Very large file: src/cli/plugins-cli.install.test.ts (1926 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-d44be28f0785121d", "name": "Very large file: src/cli/capability-cli.test.ts (3251 lines)", "shortDescription": {"text": "Very large file: src/cli/capability-cli.test.ts (3251 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-a4c2758c2c608114", "name": "Very large file: src/cli/config-cli.test.ts (3419 lines)", "shortDescription": {"text": "Very large file: src/cli/config-cli.test.ts (3419 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-ab4315da8bbc45ae", "name": "Very large file: src/cli/run-main.exit.test.ts (1321 lines)", "shortDescription": {"text": "Very large file: src/cli/run-main.exit.test.ts (1321 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-058e5bcfd1ee521f", "name": "Very large file: src/cli/capability-cli.ts (2859 lines)", "shortDescription": {"text": "Very large file: src/cli/capability-cli.ts (2859 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-664d0e691fd3fa07", "name": "Very large file: src/cli/update-cli.test.ts (6277 lines)", "shortDescription": {"text": "Very large file: src/cli/update-cli.test.ts (6277 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-409dbd59d3ffabbe", "name": "Very large file: src/cli/update-cli/update-command.ts (3895 lines)", "shortDescription": {"text": "Very large file: src/cli/update-cli/update-command.ts (3895 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-b60ca84e34304eee", "name": "Very large file: src/cli/gateway-cli/run-loop.test.ts (1783 lines)", "shortDescription": {"text": "Very large file: src/cli/gateway-cli/run-loop.test.ts (1783 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-a96bf4a266dc6ba4", "name": "Very large file: src/acp/translator.ts (1691 lines)", "shortDescription": {"text": "Very large file: src/acp/translator.ts (1691 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-86cb28f83b52eec3", "name": "Very large file: src/acp/control-plane/manager.test.ts (1643 lines)", "shortDescription": {"text": "Very large file: src/acp/control-plane/manager.test.ts (1643 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-648b594e5afb1465", "name": "Very large file: src/media-understanding/apply.test.ts (1938 lines)", "shortDescription": {"text": "Very large file: src/media-understanding/apply.test.ts (1938 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-945815c118fe44d2", "name": "Very large file: src/tasks/task-registry.test.ts (3641 lines)", "shortDescription": {"text": "Very large file: src/tasks/task-registry.test.ts (3641 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-2bd56a92f0c7668d", "name": "Very large file: src/tasks/task-registry.ts (2435 lines)", "shortDescription": {"text": "Very large file: src/tasks/task-registry.ts (2435 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-75e20d4a21c1cbf9", "name": "Very large file: src/daemon/systemd.test.ts (2092 lines)", "shortDescription": {"text": "Very large file: src/daemon/systemd.test.ts (2092 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-93a4e28fbf662a83", "name": "Very large file: src/daemon/launchd.test.ts (1940 lines)", "shortDescription": {"text": "Very large file: src/daemon/launchd.test.ts (1940 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-7ffae0eb336674c2", "name": "Very large file: src/agents/agent-tools.create-openclaw-coding-tools.test.ts (1458 lines)", "shortDescription": {"text": "Very large file: src/agents/agent-tools.create-openclaw-coding-tools.test.ts (1458 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-c844b65def8d4b0e", "name": "Very large file: src/agents/embedded-agent-runner.run-embedded-agent.auth-profile-rotation.e2e.test.ts (1652 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner.run-embedded-agent.auth-profile-rotation.e2e.test.ts (1652 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-5bccfdef9a3e62cd", "name": "Very large file: src/agents/model-fallback.test.ts (3092 lines)", "shortDescription": {"text": "Very large file: src/agents/model-fallback.test.ts (3092 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-e986394ec1cb26e5", "name": "Very large file: src/agents/model-auth.profiles.test.ts (1938 lines)", "shortDescription": {"text": "Very large file: src/agents/model-auth.profiles.test.ts (1938 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-d62787b7c9a83056", "name": "Very large file: src/agents/embedded-agent-subscribe.handlers.tools.ts (1570 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-subscribe.handlers.tools.ts (1570 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-0341726dd714b4c0", "name": "Very large file: src/agents/openai-transport-stream.ts (4338 lines)", "shortDescription": {"text": "Very large file: src/agents/openai-transport-stream.ts (4338 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-59920544a4fc0bb9", "name": "Very large file: src/agents/system-prompt.test.ts (1517 lines)", "shortDescription": {"text": "Very large file: src/agents/system-prompt.test.ts (1517 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-a056e517c2c55aa0", "name": "Very large file: src/agents/subagent-announce-delivery.ts (1740 lines)", "shortDescription": {"text": "Very large file: src/agents/subagent-announce-delivery.ts (1740 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-57ebf29f1f1c342d", "name": "Very large file: src/agents/agent-tools.before-tool-call.e2e.test.ts (1904 lines)", "shortDescription": {"text": "Very large file: src/agents/agent-tools.before-tool-call.e2e.test.ts (1904 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-797cf9648c8d56fb", "name": "Very large file: src/agents/model-catalog.test.ts (1973 lines)", "shortDescription": {"text": "Very large file: src/agents/model-catalog.test.ts (1973 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-c3d85e91201fdb67", "name": "Very large file: src/agents/bash-tools.exec.ts (1883 lines)", "shortDescription": {"text": "Very large file: src/agents/bash-tools.exec.ts (1883 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-1cfc5099af47c72e", "name": "Very large file: src/agents/embedded-agent-runner-extraparams.test.ts (4379 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner-extraparams.test.ts (4379 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-34eda2bf689ffebc", "name": "Very large file: src/agents/subagent-announce.format.e2e.test.ts (3654 lines)", "shortDescription": {"text": "Very large file: src/agents/subagent-announce.format.e2e.test.ts (3654 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-764a15f3b7f16349", "name": "Very large file: src/agents/code-mode.test.ts (1986 lines)", "shortDescription": {"text": "Very large file: src/agents/code-mode.test.ts (1986 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-82e1c1deffab4b96", "name": "Very large file: src/agents/agent-bundle-mcp-runtime.test.ts (2038 lines)", "shortDescription": {"text": "Very large file: src/agents/agent-bundle-mcp-runtime.test.ts (2038 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-3648a5a9586e3de2", "name": "Very large file: src/agents/system-prompt.ts (1392 lines)", "shortDescription": {"text": "Very large file: src/agents/system-prompt.ts (1392 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-cdeb23ac959cec4a", "name": "Very large file: src/agents/agent-command.ts (2275 lines)", "shortDescription": {"text": "Very large file: src/agents/agent-command.ts (2275 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-ffdc6f0a431cef6d", "name": "Very large file: src/agents/anthropic-transport-stream.test.ts (2547 lines)", "shortDescription": {"text": "Very large file: src/agents/anthropic-transport-stream.test.ts (2547 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-5801a56b68cddd17", "name": "Very large file: src/agents/subagent-announce-delivery.test.ts (4634 lines)", "shortDescription": {"text": "Very large file: src/agents/subagent-announce-delivery.test.ts (4634 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-66b05ae8c50811c2", "name": "Very large file: src/agents/embedded-agent-helpers.isbillingerrormessage.test.ts (1638 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-helpers.isbillingerrormessage.test.ts (1638 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-4f57d80578f2d23b", "name": "Very large file: src/agents/embedded-agent-subscribe.ts (1436 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-subscribe.ts (1436 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-31baa852878bc4c7", "name": "Very large file: src/agents/openclaw-tools.sessions.test.ts (1982 lines)", "shortDescription": {"text": "Very large file: src/agents/openclaw-tools.sessions.test.ts (1982 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-254c62d1dc280713", "name": "Very large file: src/agents/provider-transport-fetch.test.ts (1722 lines)", "shortDescription": {"text": "Very large file: src/agents/provider-transport-fetch.test.ts (1722 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-82b0b4fdfc444600", "name": "Very large file: src/agents/agent-command.live-model-switch.test.ts (2926 lines)", "shortDescription": {"text": "Very large file: src/agents/agent-command.live-model-switch.test.ts (2926 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-eb2296881268e94e", "name": "Very large file: src/agents/subagent-spawn.ts (1773 lines)", "shortDescription": {"text": "Very large file: src/agents/subagent-spawn.ts (1773 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-46cd62ccb461f10f", "name": "Very large file: src/agents/bash-tools.exec-host-node.test.ts (2778 lines)", "shortDescription": {"text": "Very large file: src/agents/bash-tools.exec-host-node.test.ts (2778 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-6bbe84371c15f8c1", "name": "Very large file: src/agents/models.profiles.live.test.ts (2370 lines)", "shortDescription": {"text": "Very large file: src/agents/models.profiles.live.test.ts (2370 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-7be2eb38723f5557", "name": "Very large file: src/agents/embedded-agent-runner.sanitize-session-history.test.ts (2479 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner.sanitize-session-history.test.ts (2479 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-2d30b4f9f4b49c07", "name": "Very large file: src/agents/model-fallback.ts (1782 lines)", "shortDescription": {"text": "Very large file: src/agents/model-fallback.ts (1782 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-825876257952a26e", "name": "Very large file: src/agents/embedded-agent-subscribe.handlers.tools.test.ts (1992 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-subscribe.handlers.tools.test.ts (1992 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-fd91020c21aad208", "name": "Very large file: src/agents/openai-transport-stream.test.ts (10404 lines)", "shortDescription": {"text": "Very large file: src/agents/openai-transport-stream.test.ts (10404 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-9947ce34f1482713", "name": "Very large file: src/agents/cli-runner.reliability.test.ts (2160 lines)", "shortDescription": {"text": "Very large file: src/agents/cli-runner.reliability.test.ts (2160 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-245ddada37c3d579", "name": "Very large file: src/agents/bash-tools.exec.approval-id.test.ts (1590 lines)", "shortDescription": {"text": "Very large file: src/agents/bash-tools.exec.approval-id.test.ts (1590 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-96f079741c54dd36", "name": "Very large file: src/agents/tool-search.ts (1765 lines)", "shortDescription": {"text": "Very large file: src/agents/tool-search.ts (1765 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-439af0a9c7cbebbb", "name": "Very large file: src/agents/cli-runner.spawn.test.ts (3413 lines)", "shortDescription": {"text": "Very large file: src/agents/cli-runner.spawn.test.ts (3413 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-4a8b61fe56719989", "name": "Very large file: src/agents/acp-spawn.test.ts (3127 lines)", "shortDescription": {"text": "Very large file: src/agents/acp-spawn.test.ts (3127 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-7fd80db075b2f405", "name": "Very large file: src/agents/model-selection-shared.ts (1588 lines)", "shortDescription": {"text": "Very large file: src/agents/model-selection-shared.ts (1588 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-44cce8e5202256ae", "name": "Very large file: src/agents/openclaw-tools.session-status.test.ts (2225 lines)", "shortDescription": {"text": "Very large file: src/agents/openclaw-tools.session-status.test.ts (2225 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-40d48478eb619afb", "name": "Very large file: src/agents/acp-spawn.ts (1708 lines)", "shortDescription": {"text": "Very large file: src/agents/acp-spawn.ts (1708 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-21fe191a4f81a7ca", "name": "Very large file: src/agents/subagent-registry.test.ts (3560 lines)", "shortDescription": {"text": "Very large file: src/agents/subagent-registry.test.ts (3560 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-ceeef935be1a56cb", "name": "Very large file: src/agents/anthropic-transport-stream.ts (1574 lines)", "shortDescription": {"text": "Very large file: src/agents/anthropic-transport-stream.ts (1574 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-cb0bb58518eae72e", "name": "Very large file: src/agents/model-selection.test.ts (2976 lines)", "shortDescription": {"text": "Very large file: src/agents/model-selection.test.ts (2976 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-b24c1401356f91c3", "name": "Very large file: src/agents/embedded-agent-helpers/errors.ts (1587 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-helpers/errors.ts (1587 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-e32835b7707534b8", "name": "Very large file: src/agents/cli-runner/prepare.test.ts (2257 lines)", "shortDescription": {"text": "Very large file: src/agents/cli-runner/prepare.test.ts (2257 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-87a22ef24d5f3699", "name": "Very large file: src/agents/sessions/agent-session.ts (3255 lines)", "shortDescription": {"text": "Very large file: src/agents/sessions/agent-session.ts (3255 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-85840deff776d7d4", "name": "Very large file: src/agents/sessions/extensions/types.ts (1694 lines)", "shortDescription": {"text": "Very large file: src/agents/sessions/extensions/types.ts (1694 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-01fca49b242d7d7a", "name": "Very large file: src/agents/tools/cron-tool.test.ts (1946 lines)", "shortDescription": {"text": "Very large file: src/agents/tools/cron-tool.test.ts (1946 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-10b9d987987c2d75", "name": "Very large file: src/agents/tools/video-generate-tool.test.ts (1627 lines)", "shortDescription": {"text": "Very large file: src/agents/tools/video-generate-tool.test.ts (1627 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-0c7505c83159a199", "name": "Very large file: src/agents/tools/message-tool.ts (1444 lines)", "shortDescription": {"text": "Very large file: src/agents/tools/message-tool.ts (1444 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-8d539eb7ee3b72f1", "name": "Very large file: src/agents/tools/image-tool.test.ts (2960 lines)", "shortDescription": {"text": "Very large file: src/agents/tools/image-tool.test.ts (2960 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-26048744de1d4ef0", "name": "Very large file: src/agents/tools/image-generate-tool.test.ts (2420 lines)", "shortDescription": {"text": "Very large file: src/agents/tools/image-generate-tool.test.ts (2420 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-23c9a8bf6585eefe", "name": "Very large file: src/agents/tools/message-tool.test.ts (2803 lines)", "shortDescription": {"text": "Very large file: src/agents/tools/message-tool.test.ts (2803 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-87516702826c5236", "name": "Very large file: src/agents/agent-hooks/compaction-safeguard.test.ts (2547 lines)", "shortDescription": {"text": "Very large file: src/agents/agent-hooks/compaction-safeguard.test.ts (2547 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-46cb4bef6f2d7eff", "name": "Very large file: src/agents/embedded-agent-runner/run.ts (3813 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/run.ts (3813 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-e7196a7c121f4c59", "name": "Very large file: src/agents/embedded-agent-runner/run.overflow-compaction.test.ts (2358 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/run.overflow-compaction.test.ts (2358 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-af304a1e5214a34f", "name": "Very large file: src/agents/embedded-agent-runner/compact.hooks.test.ts (2501 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/compact.hooks.test.ts (2501 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-41432caafdb09e31", "name": "Very large file: src/agents/embedded-agent-runner/model.ts (1695 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/model.ts (1695 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-35c53f361efae9e9", "name": "Very large file: src/agents/embedded-agent-runner/context-engine-maintenance.test.ts (1679 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/context-engine-maintenance.test.ts (1679 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-dc69c89df751ffaa", "name": "Very large file: src/agents/embedded-agent-runner/compact.ts (1651 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/compact.ts (1651 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-f592ef853795262a", "name": "Very large file: src/agents/embedded-agent-runner/run.incomplete-turn.test.ts (3371 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/run.incomplete-turn.test.ts (3371 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-c7a7b77e48660f90", "name": "Very large file: src/agents/embedded-agent-runner/model.test.ts (3580 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/model.test.ts (3580 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-c782ad591de3107f", "name": "Very large file: src/agents/embedded-agent-runner/run/attempt.ts (5428 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/run/attempt.ts (5428 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-b815b34eee451d29", "name": "Very large file: src/agents/embedded-agent-runner/run/attempt.spawn-workspace.context-engine.test.ts (2699 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/run/attempt.spawn-workspace.context-engine.test.ts (2699 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-0c30da6e624bfe56", "name": "Very large file: src/agents/embedded-agent-runner/run/attempt.session-lock.test.ts (1941 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/run/attempt.session-lock.test.ts (1941 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-b959f756a470cf0b", "name": "Very large file: src/agents/embedded-agent-runner/run/attempt.test.ts (3500 lines)", "shortDescription": {"text": "Very large file: src/agents/embedded-agent-runner/run/attempt.test.ts (3500 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-10a6f7b0721b935c", "name": "Very large file: src/agents/command/cli-compaction.test.ts (1625 lines)", "shortDescription": {"text": "Very large file: src/agents/command/cli-compaction.test.ts (1625 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-83926b64a1dcc54c", "name": "Very large file: src/agents/command/attempt-execution.cli.test.ts (2127 lines)", "shortDescription": {"text": "Very large file: src/agents/command/attempt-execution.cli.test.ts (2127 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-63dcb1c9ccee402f", "name": "Very large file: src/agents/command/session-store.test.ts (2228 lines)", "shortDescription": {"text": "Very large file: src/agents/command/session-store.test.ts (2228 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-58006dfc40123e7f", "name": "Very large file: src/agents/harness/native-hook-relay.test.ts (3233 lines)", "shortDescription": {"text": "Very large file: src/agents/harness/native-hook-relay.test.ts (3233 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-437a3653e199d662", "name": "Very large file: src/agents/harness/native-hook-relay.ts (2396 lines)", "shortDescription": {"text": "Very large file: src/agents/harness/native-hook-relay.ts (2396 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-5c338dcd47c660a6", "name": "Very large file: src/cron/isolated-agent/run.ts (1412 lines)", "shortDescription": {"text": "Very large file: src/cron/isolated-agent/run.ts (1412 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-171b72b4b91448c8", "name": "Very large file: src/cron/isolated-agent/delivery-dispatch.double-announce.test.ts (1893 lines)", "shortDescription": {"text": "Very large file: src/cron/isolated-agent/delivery-dispatch.double-announce.test.ts (1893 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-940c4516d87f0593", "name": "Very large file: src/cron/service/timer.ts (1757 lines)", "shortDescription": {"text": "Very large file: src/cron/service/timer.ts (1757 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-3aff154858e6a4ae", "name": "Very large file: src/cron/service/timer.regression.test.ts (2594 lines)", "shortDescription": {"text": "Very large file: src/cron/service/timer.regression.test.ts (2594 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-51771e9daa3550c8", "name": "Very large file: src/secrets/runtime-web-tools.test.ts (1775 lines)", "shortDescription": {"text": "Very large file: src/secrets/runtime-web-tools.test.ts (1775 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-46b0fe52a972dfce", "name": "Very large file: src/logging/redact.test.ts (1187 lines)", "shortDescription": {"text": "Very large file: src/logging/redact.test.ts (1187 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-507d36c4608b82f2", "name": "Very large file: src/logging/diagnostic.test.ts (2878 lines)", "shortDescription": {"text": "Very large file: src/logging/diagnostic.test.ts (2878 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-56b2c7ce405d2a01", "name": "Very large file: src/channels/plugins/setup-wizard-helpers.test.ts (2132 lines)", "shortDescription": {"text": "Very large file: src/channels/plugins/setup-wizard-helpers.test.ts (2132 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-4cf456c63a9688ff", "name": "Very large file: src/channels/plugins/setup-wizard-helpers.ts (1624 lines)", "shortDescription": {"text": "Very large file: src/channels/plugins/setup-wizard-helpers.ts (1624 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-a0ef31330fc3fae8", "name": "Very large file: src/infra/restart-stale-pids.test.ts (1379 lines)", "shortDescription": {"text": "Very large file: src/infra/restart-stale-pids.test.ts (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-fb0afb517788120e", "name": "Very large file: src/infra/heartbeat-runner.returns-default-unset.test.ts (1935 lines)", "shortDescription": {"text": "Very large file: src/infra/heartbeat-runner.returns-default-unset.test.ts (1935 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-d86bc89c8fe850db", "name": "Very large file: src/infra/update-runner.ts (1721 lines)", "shortDescription": {"text": "Very large file: src/infra/update-runner.ts (1721 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-f25791aa9a7a0182", "name": "Very large file: src/infra/heartbeat-runner.ts (2593 lines)", "shortDescription": {"text": "Very large file: src/infra/heartbeat-runner.ts (2593 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-1ef26751cf4c1a39", "name": "Very large file: src/infra/run-node.test.ts (2886 lines)", "shortDescription": {"text": "Very large file: src/infra/run-node.test.ts (2886 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-079a092755352918", "name": "Very large file: src/infra/host-env-security.test.ts (2154 lines)", "shortDescription": {"text": "Very large file: src/infra/host-env-security.test.ts (2154 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-a6b335072c465896", "name": "Very large file: src/infra/session-cost-usage.test.ts (2650 lines)", "shortDescription": {"text": "Very large file: src/infra/session-cost-usage.test.ts (2650 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-8af5121d148fb907", "name": "Very large file: src/infra/update-runner.test.ts (2995 lines)", "shortDescription": {"text": "Very large file: src/infra/update-runner.test.ts (2995 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-d8d7ec0988649be7", "name": "Very large file: src/infra/session-cost-usage.ts (2592 lines)", "shortDescription": {"text": "Very large file: src/infra/session-cost-usage.ts (2592 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-ee6ac175908da2b8", "name": "Very large file: src/infra/exec-approvals.ts (1696 lines)", "shortDescription": {"text": "Very large file: src/infra/exec-approvals.ts (1696 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-cd244ea7bdb4bfc7", "name": "Very large file: src/infra/state-migrations.ts (3968 lines)", "shortDescription": {"text": "Very large file: src/infra/state-migrations.ts (3968 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-fea97e09c09423fb", "name": "Very large file: src/infra/device-pairing.test.ts (1916 lines)", "shortDescription": {"text": "Very large file: src/infra/device-pairing.test.ts (1916 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-87ca577829f97836", "name": "Very large file: src/infra/net/fetch-guard.ssrf.test.ts (2128 lines)", "shortDescription": {"text": "Very large file: src/infra/net/fetch-guard.ssrf.test.ts (2128 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-1a93c8ee28383a31", "name": "Very large file: src/infra/outbound/deliver.ts (2002 lines)", "shortDescription": {"text": "Very large file: src/infra/outbound/deliver.ts (2002 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-5b5c7244988ea8cc", "name": "Very large file: src/infra/outbound/message-action-runner.ts (1619 lines)", "shortDescription": {"text": "Very large file: src/infra/outbound/message-action-runner.ts (1619 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-415d1074cbacba34", "name": "Very large file: src/infra/outbound/deliver.test.ts (3874 lines)", "shortDescription": {"text": "Very large file: src/infra/outbound/deliver.test.ts (3874 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-5da78f64916cd338", "name": "Very large file: src/infra/outbound/message-action-runner.plugin-dispatch.test.ts (1906 lines)", "shortDescription": {"text": "Very large file: src/infra/outbound/message-action-runner.plugin-dispatch.test.ts (1906 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-f86783c6ff2a50e3", "name": "Very large file: src/gateway/control-ui.http.test.ts (1565 lines)", "shortDescription": {"text": "Very large file: src/gateway/control-ui.http.test.ts (1565 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-61ada7ed729f7294", "name": "Very large file: src/gateway/config-reload.test.ts (1771 lines)", "shortDescription": {"text": "Very large file: src/gateway/config-reload.test.ts (1771 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-f72d9055b119f516", "name": "Very large file: src/gateway/server-startup-post-attach.test.ts (2244 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-startup-post-attach.test.ts (2244 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-4df04038a66bb7dc", "name": "Very large file: src/gateway/server-restart-sentinel.test.ts (1554 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-restart-sentinel.test.ts (1554 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-d1be106067adf232", "name": "Very large file: src/gateway/server.impl.ts (1785 lines)", "shortDescription": {"text": "Very large file: src/gateway/server.impl.ts (1785 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-8ab6b6ec8a775521", "name": "Very large file: src/gateway/server.chat.gateway-server-chat-b.test.ts (3026 lines)", "shortDescription": {"text": "Very large file: src/gateway/server.chat.gateway-server-chat-b.test.ts (3026 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-adbbec9f9733217a", "name": "Very large file: src/gateway/talk-realtime-relay.test.ts (1672 lines)", "shortDescription": {"text": "Very large file: src/gateway/talk-realtime-relay.test.ts (1672 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-ab0f708ea5e5e604", "name": "Very large file: src/gateway/server-plugins.test.ts (1555 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-plugins.test.ts (1555 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-89f129566cfd5f78", "name": "Very large file: src/gateway/openresponses-http.test.ts (1819 lines)", "shortDescription": {"text": "Very large file: src/gateway/openresponses-http.test.ts (1819 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-9235883e40135954", "name": "Very large file: src/gateway/server.cron.test.ts (1727 lines)", "shortDescription": {"text": "Very large file: src/gateway/server.cron.test.ts (1727 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-964bec619c347a0c", "name": "Very large file: src/gateway/server.chat.gateway-server-chat.test.ts (1956 lines)", "shortDescription": {"text": "Very large file: src/gateway/server.chat.gateway-server-chat.test.ts (1956 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-04b236cb861af5e5", "name": "Very large file: src/gateway/server-chat.agent-events.test.ts (3577 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-chat.agent-events.test.ts (3577 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-a74c024150f7376d", "name": "Very large file: src/gateway/openai-http.test.ts (2600 lines)", "shortDescription": {"text": "Very large file: src/gateway/openai-http.test.ts (2600 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-494ba270bce5bee2", "name": "Very large file: src/gateway/session-utils.fs.ts (1838 lines)", "shortDescription": {"text": "Very large file: src/gateway/session-utils.fs.ts (1838 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-062a550f2c6e55f5", "name": "Very large file: src/gateway/chat-display-projection.ts (1644 lines)", "shortDescription": {"text": "Very large file: src/gateway/chat-display-projection.ts (1644 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-8cce6644c571bb9f", "name": "Very large file: src/gateway/gateway-models.profiles.live.test.ts (4042 lines)", "shortDescription": {"text": "Very large file: src/gateway/gateway-models.profiles.live.test.ts (4042 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-22f3649ac349a68f", "name": "Very large file: src/gateway/call.test.ts (2265 lines)", "shortDescription": {"text": "Very large file: src/gateway/call.test.ts (2265 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-9f8169fe1028c4da", "name": "Very large file: src/gateway/client.test.ts (1786 lines)", "shortDescription": {"text": "Very large file: src/gateway/client.test.ts (1786 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-efcbfeadf8489a25", "name": "Very large file: src/gateway/session-utils.test.ts (2590 lines)", "shortDescription": {"text": "Very large file: src/gateway/session-utils.test.ts (2590 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-3aa660201a135dac", "name": "Very large file: src/gateway/server-reload-handlers.test.ts (1505 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-reload-handlers.test.ts (1505 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-7c3a6d0794aed9f2", "name": "Very large file: src/gateway/server-startup-post-attach.ts (1471 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-startup-post-attach.ts (1471 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-a8154da06076cf19", "name": "Very large file: src/gateway/session-utils.ts (2912 lines)", "shortDescription": {"text": "Very large file: src/gateway/session-utils.ts (2912 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-6072f6de6db12b1d", "name": "Very large file: src/gateway/session-utils.fs.test.ts (2150 lines)", "shortDescription": {"text": "Very large file: src/gateway/session-utils.fs.test.ts (2150 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-4d77337691d45f82", "name": "Very large file: src/gateway/server.auth.control-ui.suite.ts (1981 lines)", "shortDescription": {"text": "Very large file: src/gateway/server.auth.control-ui.suite.ts (1981 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-063d4ae82219eb8b", "name": "Very large file: src/gateway/server-methods/chat.directive-tags.test.ts (5271 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/chat.directive-tags.test.ts (5271 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-df6d69f2eb56fdbd", "name": "Very large file: src/gateway/server-methods/agent.test.ts (6919 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/agent.test.ts (6919 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-e1b942820779d797", "name": "Very large file: src/gateway/server-methods/server-methods.test.ts (4033 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/server-methods.test.ts (4033 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-966e0b860f2966e3", "name": "Very large file: src/gateway/server-methods/send.test.ts (2354 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/send.test.ts (2354 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-0d12d0828ce4c3c7", "name": "Very large file: src/gateway/server-methods/chat.ts (4647 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/chat.ts (4647 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-7fdfc5124a3746b8", "name": "Very large file: src/gateway/server-methods/doctor.test.ts (1676 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/doctor.test.ts (1676 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-0cde5f8c6b6c9cc3", "name": "Very large file: src/gateway/server-methods/sessions.ts (2707 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/sessions.ts (2707 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-11761dcf913bcb7d", "name": "Very large file: src/gateway/server-methods/talk.test.ts (2008 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/talk.test.ts (2008 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-018aa83005bdbd3d", "name": "Very large file: src/gateway/server-methods/agent.ts (2848 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/agent.ts (2848 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-afaeb52adac73af5", "name": "Very large file: src/gateway/server-methods/usage.ts (1582 lines)", "shortDescription": {"text": "Very large file: src/gateway/server-methods/usage.ts (1582 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-f37b5e6e8e826cfe", "name": "Very large file: src/gateway/server/ws-connection/message-handler.ts (2146 lines)", "shortDescription": {"text": "Very large file: src/gateway/server/ws-connection/message-handler.ts (2146 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-c0d68adf05f77f16", "name": "Very large file: src/skills/loading/workspace.ts (1663 lines)", "shortDescription": {"text": "Very large file: src/skills/loading/workspace.ts (1663 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-220e82e1e9200a41", "name": "Very large file: src/wizard/i18n/locales/en.ts (1031 lines)", "shortDescription": {"text": "Very large file: src/wizard/i18n/locales/en.ts (1031 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-99cdb900f58f0865", "name": "Very large file: src/wizard/i18n/locales/zh-TW.ts (994 lines)", "shortDescription": {"text": "Very large file: src/wizard/i18n/locales/zh-TW.ts (994 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-c74ef17ecf681e2c", "name": "Very large file: src/wizard/i18n/locales/zh-CN.ts (993 lines)", "shortDescription": {"text": "Very large file: src/wizard/i18n/locales/zh-CN.ts (993 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-ddb1728fb03c41d0", "name": "Very large file: src/node-host/invoke-system-run.test.ts (1950 lines)", "shortDescription": {"text": "Very large file: src/node-host/invoke-system-run.test.ts (1950 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-2aeb2fee713c4f2a", "name": "Very large file: src/plugin-sdk/provider-stream-shared.test.ts (2098 lines)", "shortDescription": {"text": "Very large file: src/plugin-sdk/provider-stream-shared.test.ts (2098 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-42c64d76be4bfd8e", "name": "Very large file: src/plugins/channel-plugin-ids.test.ts (3470 lines)", "shortDescription": {"text": "Very large file: src/plugins/channel-plugin-ids.test.ts (3470 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-9bfd4c2c9028c138", "name": "Very large file: src/plugins/schema-validator.test.ts (2131 lines)", "shortDescription": {"text": "Very large file: src/plugins/schema-validator.test.ts (2131 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-6bb3191de4d3285a", "name": "Very large file: src/plugins/registry.ts (3309 lines)", "shortDescription": {"text": "Very large file: src/plugins/registry.ts (3309 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-f7b872c454a5d7d8", "name": "Very large file: src/plugins/loader.ts (3262 lines)", "shortDescription": {"text": "Very large file: src/plugins/loader.ts (3262 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-cb5bc5fc3b5c21a1", "name": "Very large file: src/plugins/update.test.ts (4810 lines)", "shortDescription": {"text": "Very large file: src/plugins/update.test.ts (4810 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-c842219a1d7d1177", "name": "Very large file: src/plugins/loader.test.ts (9080 lines)", "shortDescription": {"text": "Very large file: src/plugins/loader.test.ts (9080 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-92313965d5983467", "name": "Very large file: src/plugins/clawhub.test.ts (2177 lines)", "shortDescription": {"text": "Very large file: src/plugins/clawhub.test.ts (2177 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-e3cf79e4fc3d15bc", "name": "Very large file: src/plugins/discovery.ts (1632 lines)", "shortDescription": {"text": "Very large file: src/plugins/discovery.ts (1632 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-339a6dd28f27322a", "name": "Very large file: src/plugins/hooks.ts (1684 lines)", "shortDescription": {"text": "Very large file: src/plugins/hooks.ts (1684 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-29d23350c2ebf7c8", "name": "Very large file: src/plugins/update.ts (2424 lines)", "shortDescription": {"text": "Very large file: src/plugins/update.ts (2424 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-2c47fa0e43b7bbf8", "name": "Very large file: src/plugins/sdk-alias.ts (2131 lines)", "shortDescription": {"text": "Very large file: src/plugins/sdk-alias.ts (2131 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-d1e39a21e25fcdbc", "name": "Very large file: src/plugins/manifest-registry.test.ts (2842 lines)", "shortDescription": {"text": "Very large file: src/plugins/manifest-registry.test.ts (2842 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-a41950331f61cc89", "name": "Very large file: src/plugins/capability-provider-runtime.test.ts (1855 lines)", "shortDescription": {"text": "Very large file: src/plugins/capability-provider-runtime.test.ts (1855 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-443656e354ff5057", "name": "Very large file: src/plugins/gateway-startup-plugin-ids.ts (2197 lines)", "shortDescription": {"text": "Very large file: src/plugins/gateway-startup-plugin-ids.ts (2197 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-c937892bd0ed406a", "name": "Very large file: src/plugins/manifest.ts (2065 lines)", "shortDescription": {"text": "Very large file: src/plugins/manifest.ts (2065 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-3fd43baf66c44649", "name": "Very large file: src/plugins/tools.optional.test.ts (2915 lines)", "shortDescription": {"text": "Very large file: src/plugins/tools.optional.test.ts (2915 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-8484a7a2169d3f24", "name": "Very large file: src/plugins/discovery.test.ts (2588 lines)", "shortDescription": {"text": "Very large file: src/plugins/discovery.test.ts (2588 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-a2ef8a68eb8cad20", "name": "Very large file: src/plugins/install.ts (2881 lines)", "shortDescription": {"text": "Very large file: src/plugins/install.ts (2881 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-8270ec27450b23b3", "name": "Very large file: src/plugins/uninstall.test.ts (1917 lines)", "shortDescription": {"text": "Very large file: src/plugins/uninstall.test.ts (1917 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-0c3f3148cf307464", "name": "Very large file: src/plugins/install.test.ts (3542 lines)", "shortDescription": {"text": "Very large file: src/plugins/install.test.ts (3542 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-8c468297dca707da", "name": "Very large file: src/plugins/provider-runtime.test.ts (2692 lines)", "shortDescription": {"text": "Very large file: src/plugins/provider-runtime.test.ts (2692 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-b3264ef99b0c8f8b", "name": "Very large file: src/plugins/install.npm-spec.test.ts (2787 lines)", "shortDescription": {"text": "Very large file: src/plugins/install.npm-spec.test.ts (2787 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-7badb1198c001718", "name": "Very large file: src/plugins/providers.test.ts (1807 lines)", "shortDescription": {"text": "Very large file: src/plugins/providers.test.ts (1807 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-1f8d77e5bf3abacf", "name": "Very large file: src/plugins/sdk-alias.test.ts (2764 lines)", "shortDescription": {"text": "Very large file: src/plugins/sdk-alias.test.ts (2764 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-836e25faa96aa45c", "name": "Very large file: src/plugins/types.ts (2919 lines)", "shortDescription": {"text": "Very large file: src/plugins/types.ts (2919 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-9ef53994ecf374a9", "name": "Very large file: src/plugins/contracts/plugin-sdk-subpaths.test.ts (1461 lines)", "shortDescription": {"text": "Very large file: src/plugins/contracts/plugin-sdk-subpaths.test.ts (1461 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-05d4ac7c77e765ef", "name": "Very large file: src/plugins/contracts/host-hooks.contract.test.ts (2952 lines)", "shortDescription": {"text": "Very large file: src/plugins/contracts/host-hooks.contract.test.ts (2952 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-4e13aac5061d7276", "name": "Very large file: src/llm/providers/openai-chatgpt-responses.ts (1654 lines)", "shortDescription": {"text": "Very large file: src/llm/providers/openai-chatgpt-responses.ts (1654 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-fa72cad1d7e8b693", "name": "Very large file: src/auto-reply/status.test.ts (2584 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/status.test.ts (2584 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-7232d8a57cd9677e", "name": "Very large file: src/auto-reply/reply/dispatch-acp.test.ts (2067 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/dispatch-acp.test.ts (2067 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-30b4e41fc0191d2d", "name": "Very large file: src/auto-reply/reply/followup-runner.ts (1299 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/followup-runner.ts (1299 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-b113e1a43e7e442a", "name": "Very large file: src/auto-reply/reply/get-reply-run.media-only.test.ts (2778 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/get-reply-run.media-only.test.ts (2778 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-ad96d56c0c3c0fb4", "name": "Very large file: src/auto-reply/reply/agent-runner.runreplyagent.e2e.test.ts (2336 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/agent-runner.runreplyagent.e2e.test.ts (2336 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-4a2fc1c8d294b92a", "name": "Very large file: src/auto-reply/reply/directive-handling.model.test.ts (2266 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/directive-handling.model.test.ts (2266 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-c73e4521c92cf43c", "name": "Very large file: src/auto-reply/reply/agent-runner.misc.runreplyagent.test.ts (3126 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/agent-runner.misc.runreplyagent.test.ts (3126 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-8129f63f73fa7581", "name": "Very large file: src/auto-reply/reply/agent-runner-execution.ts (3053 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/agent-runner-execution.ts (3053 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-0152d75cdb51ed0f", "name": "Very large file: src/auto-reply/reply/session.test.ts (4732 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/session.test.ts (4732 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-17c3b0e046f64fdd", "name": "Very large file: src/auto-reply/reply/agent-runner-memory.ts (1472 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/agent-runner-memory.ts (1472 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-fd431f1bf5a5994d", "name": "Very large file: src/auto-reply/reply/commands-status.test.ts (1518 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/commands-status.test.ts (1518 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-60fd3d5323ff7a7d", "name": "Very large file: src/auto-reply/reply/agent-runner-memory.test.ts (2225 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/agent-runner-memory.test.ts (2225 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-fca2a9d4d36d84a1", "name": "Very large file: src/auto-reply/reply/agent-runner-execution.test.ts (6991 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/agent-runner-execution.test.ts (6991 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-871f91c0b2d64e6f", "name": "Very large file: src/auto-reply/reply/agent-runner.ts (2480 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/agent-runner.ts (2480 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-683a213bb946398c", "name": "Very large file: src/auto-reply/reply/commands-acp.test.ts (2107 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/commands-acp.test.ts (2107 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-81dfb075266377ea", "name": "Very large file: src/auto-reply/reply/dispatch-from-config.test.ts (9688 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/dispatch-from-config.test.ts (9688 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-ebaf7807972d2da6", "name": "Very large file: src/auto-reply/reply/get-reply-run.ts (1406 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/get-reply-run.ts (1406 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-a2a3e03a23c43f56", "name": "Very large file: src/auto-reply/reply/followup-runner.test.ts (4032 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/followup-runner.test.ts (4032 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-f0caca0d8dc17aba", "name": "Very large file: src/auto-reply/reply/dispatch-from-config.ts (3263 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/dispatch-from-config.ts (3263 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-ca678299a94cb3b2", "name": "Very large file: src/auto-reply/reply/model-selection.test.ts (1696 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/model-selection.test.ts (1696 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-226a71e4f0314072", "name": "Very large file: src/auto-reply/reply/export-html/template.js (1959 lines)", "shortDescription": {"text": "Very large file: src/auto-reply/reply/export-html/template.js (1959 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-34e40a81476a1c25", "name": "61 TODO/FIXME markers", "shortDescription": {"text": "61 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-7679c47799b58c01", "name": "Node manifest has dependencies but no lockfile: qa/convex-credential-broker/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: qa/convex-credential-broker/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-eb52245e50d88e17", "name": "Node manifest has dependencies but no lockfile: ui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: 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-cb2d0338daf17f59", "name": "Node manifest has dependencies but no lockfile: extensions/google/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/google/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-cd65681212a26149", "name": "Node manifest has dependencies but no lockfile: extensions/mistral/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/mistral/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-990b7b9983641be6", "name": "Node manifest has dependencies but no lockfile: extensions/gmi/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/gmi/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-667101200cae0f18", "name": "Node manifest has dependencies but no lockfile: extensions/oc-path/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/oc-path/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-b0a35f1dbc680263", "name": "Node manifest has dependencies but no lockfile: extensions/parallel/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/parallel/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-32e6a732869f10a9", "name": "Node manifest has dependencies but no lockfile: extensions/migrate-hermes/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/migrate-hermes/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-ffd96310893e797f", "name": "Node manifest has dependencies but no lockfile: extensions/xiaomi/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/xiaomi/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-f8b6b947b5f30014", "name": "Node manifest has dependencies but no lockfile: extensions/alibaba/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/alibaba/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-f63bcb4b1728c2b3", "name": "Node manifest has dependencies but no lockfile: extensions/open-prose/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/open-prose/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-979d50f1dc0500b2", "name": "Node manifest has dependencies but no lockfile: extensions/tencent/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/tencent/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-daf4193e5f860a11", "name": "Node manifest has dependencies but no lockfile: extensions/imessage/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/imessage/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-6e03ad2ac51450ac", "name": "Node manifest has dependencies but no lockfile: extensions/volcengine/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/volcengine/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-d593fab966786202", "name": "Node manifest has dependencies but no lockfile: extensions/nvidia/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/nvidia/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-f7cd391c2d501ecc", "name": "Node manifest has dependencies but no lockfile: extensions/elevenlabs/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/elevenlabs/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-67786a4c2d9a6244", "name": "Node manifest has dependencies but no lockfile: extensions/tavily/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/tavily/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-451d8c6e433c9698", "name": "Node manifest has dependencies but no lockfile: extensions/github-copilot/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/github-copilot/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-c2652c3402a27957", "name": "Node manifest has dependencies but no lockfile: extensions/openai/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/openai/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-4a57234a0eee4e03", "name": "Node manifest has dependencies but no lockfile: extensions/policy/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/policy/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-78951390371a2f74", "name": "Node manifest has dependencies but no lockfile: extensions/comfy/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/comfy/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-bf0580a0e3ed8005", "name": "Node manifest has dependencies but no lockfile: extensions/deepinfra/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/deepinfra/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-6b7dd6344f60d70e", "name": "Node manifest has dependencies but no lockfile: extensions/huggingface/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/huggingface/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-d17602539e8ba61d", "name": "Node manifest has dependencies but no lockfile: extensions/memory-wiki/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/memory-wiki/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-84e62a4ac73ed245", "name": "Node manifest has dependencies but no lockfile: extensions/vllm/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/vllm/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-da7fb222f272b6b1", "name": "Node manifest has dependencies but no lockfile: extensions/opencode-go/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/opencode-go/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-dca1a7e8bb2f4365", "name": "Node manifest has dependencies but no lockfile: extensions/opencode/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/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-de1b7ee895d721b5", "name": "Node manifest has dependencies but no lockfile: extensions/telegram/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/telegram/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-e5344281fc472feb", "name": "Node manifest has dependencies but no lockfile: extensions/vercel-ai-gateway/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/vercel-ai-gateway/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-6db731048cbf7216", "name": "Node manifest has dependencies but no lockfile: extensions/exa/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/exa/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-0bed4312a533c43a", "name": "Node manifest has dependencies but no lockfile: extensions/bonjour/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/bonjour/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-e0c4933f58cbb963", "name": "Node manifest has dependencies but no lockfile: extensions/synthetic/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/synthetic/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-17997d03b33e2a9e", "name": "Node manifest has dependencies but no lockfile: extensions/qa-channel/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/qa-channel/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-97bf9d1b4e6232e1", "name": "Node manifest has dependencies but no lockfile: extensions/irc/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/irc/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-47c2e3066b158963", "name": "Node manifest has dependencies but no lockfile: extensions/file-transfer/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/file-transfer/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-541fa8ccca0da2c0", "name": "Node manifest has dependencies but no lockfile: extensions/venice/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/venice/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-837ab96a6fb94aa0", "name": "Node manifest has dependencies but no lockfile: extensions/arcee/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/arcee/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-934dc509e9fc1598", "name": "Node manifest has dependencies but no lockfile: extensions/fal/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/fal/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-db197291950232ef", "name": "Node manifest has dependencies but no lockfile: extensions/video-generation-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/video-generation-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-1e1d3cb29d4c5652", "name": "Node manifest has dependencies but no lockfile: extensions/qianfan/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/qianfan/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-ac3177db3cb7e8fd", "name": "Node manifest has dependencies but no lockfile: extensions/groq/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/groq/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-41f20529849a8692", "name": "Node manifest has dependencies but no lockfile: extensions/sglang/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/sglang/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-e5a080868cc851a2", "name": "Node manifest has dependencies but no lockfile: extensions/voyage/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/voyage/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-b4213f4098615f48", "name": "Node manifest has dependencies but no lockfile: extensions/deepseek/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/deepseek/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-bfcaa918d89c4541", "name": "Node manifest has dependencies but no lockfile: extensions/microsoft/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/microsoft/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-d099c4956bb69058", "name": "Node manifest has dependencies but no lockfile: extensions/novita/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/novita/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-bd201f2ea85897fb", "name": "Node manifest has dependencies but no lockfile: extensions/codex-supervisor/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/codex-supervisor/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-6d361505801e62de", "name": "Node manifest has dependencies but no lockfile: extensions/fireworks/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/fireworks/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-45f7594178b70264", "name": "Node manifest has dependencies but no lockfile: extensions/together/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/together/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-e7c22bc4c7043f87", "name": "Node manifest has dependencies but no lockfile: extensions/tts-local-cli/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/tts-local-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-b6e02d2610f54547", "name": "Node manifest has dependencies but no lockfile: extensions/gradium/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/gradium/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-96dbaed6dee115b2", "name": "Node manifest has dependencies but no lockfile: extensions/minimax/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/minimax/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-6ab97c2a130d5163", "name": "Node manifest has dependencies but no lockfile: extensions/kilocode/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/kilocode/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-94d14cff462f624d", "name": "Node manifest has dependencies but no lockfile: extensions/llm-task/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/llm-task/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-0031ebf849df0056", "name": "Node manifest has dependencies but no lockfile: extensions/signal/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/signal/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-48977ac299e7973b", "name": "Node manifest has dependencies but no lockfile: extensions/workboard/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/workboard/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-b3e9d617e494cb3a", "name": "Node manifest has dependencies but no lockfile: extensions/byteplus/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/byteplus/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-45262281c858eb7c", "name": "Node manifest has dependencies but no lockfile: extensions/litellm/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/litellm/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-e5288eb6854e1818", "name": "Node manifest has dependencies but no lockfile: extensions/searxng/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/searxng/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-9025aad7f201e421", "name": "Node manifest has dependencies but no lockfile: extensions/qa-matrix/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/qa-matrix/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-9b2179916af62944", "name": "Node manifest has dependencies but no lockfile: extensions/senseaudio/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/senseaudio/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-2947ab88f3ebe740", "name": "Node manifest has dependencies but no lockfile: extensions/image-generation-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/image-generation-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-579f5b5a038ef6b9", "name": "Node manifest has dependencies but no lockfile: extensions/duckduckgo/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/duckduckgo/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-05d13163362de187", "name": "Node manifest has dependencies but no lockfile: extensions/xai/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/xai/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-343b100635d92e32", "name": "Node manifest has dependencies but no lockfile: extensions/cerebras/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/cerebras/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-2e18719f8b1feff0", "name": "Node manifest has dependencies but no lockfile: extensions/clickclack/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/clickclack/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-ad6f4854f193ce9e", "name": "Node manifest has dependencies but no lockfile: extensions/document-extract/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/document-extract/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-5329bdbe51ac2754", "name": "Node manifest has dependencies but no lockfile: extensions/perplexity/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/perplexity/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-1692383cab38c0da", "name": "Node manifest has dependencies but no lockfile: extensions/qwen/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/qwen/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-198844a7b53bf08b", "name": "Node manifest has dependencies but no lockfile: extensions/chutes/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/chutes/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-a1acabb75da74618", "name": "Node manifest has dependencies but no lockfile: extensions/vydra/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/vydra/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-ae36a146fbf638dd", "name": "Node manifest has dependencies but no lockfile: extensions/cloudflare-ai-gateway/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/cloudflare-ai-gateway/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-78faa7fcd95440ca", "name": "Node manifest has dependencies but no lockfile: extensions/memory-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/memory-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-abebf6d90734157e", "name": "Node manifest has dependencies but no lockfile: extensions/zai/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/zai/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-8a991c43070f4c00", "name": "Node manifest has dependencies but no lockfile: extensions/azure-speech/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/azure-speech/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-f38be243e356aed4", "name": "Node manifest has dependencies but no lockfile: extensions/inworld/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/inworld/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-98ea862fe85c4009", "name": "Node manifest has dependencies but no lockfile: extensions/stepfun/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/stepfun/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-588afae0ed4b3c80", "name": "Node manifest has dependencies but no lockfile: extensions/moonshot/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/moonshot/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-2490133fdd053143", "name": "Node manifest has dependencies but no lockfile: extensions/ollama/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/ollama/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-91e435565557f38f", "name": "Node manifest has dependencies but no lockfile: extensions/mattermost/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/mattermost/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-5dbb579957e0cc88", "name": "Node manifest has dependencies but no lockfile: extensions/web-readability/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/web-readability/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-e26d14fc863b79d4", "name": "Node manifest has dependencies but no lockfile: extensions/sms/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/sms/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-5ec1b36b7e6f6c07", "name": "Node manifest has dependencies but no lockfile: extensions/anthropic/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/anthropic/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-ba72a7e532207849", "name": "Node manifest has dependencies but no lockfile: extensions/canvas/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/canvas/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-0ad94e7acad8f9d6", "name": "Node manifest has dependencies but no lockfile: extensions/admin-http-rpc/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/admin-http-rpc/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-dda6b64fdce8400e", "name": "Node manifest has dependencies but no lockfile: extensions/copilot-proxy/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/copilot-proxy/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-e691f29c53467a2b", "name": "Node manifest has dependencies but no lockfile: extensions/openrouter/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/openrouter/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-99f5176ac65733af", "name": "Node manifest has dependencies but no lockfile: extensions/webhooks/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/webhooks/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-0b4f28d47128de49", "name": "Node manifest has dependencies but no lockfile: extensions/browser/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/browser/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-39ab4c2177833aff", "name": "Node manifest has dependencies but no lockfile: extensions/qa-lab/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/qa-lab/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-1ebe4e5b6f9897f7", "name": "Node manifest has dependencies but no lockfile: extensions/firecrawl/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/firecrawl/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-6b90a48830f1721c", "name": "Node manifest has dependencies but no lockfile: extensions/kimi-coding/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/kimi-coding/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-5d81cee9407bb816", "name": "Node manifest has dependencies but no lockfile: extensions/microsoft-foundry/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/microsoft-foundry/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-fcaf40f03342371d", "name": "Node manifest has dependencies but no lockfile: extensions/runway/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/runway/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-265556514168724d", "name": "Node manifest has dependencies but no lockfile: extensions/migrate-claude/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/migrate-claude/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-ac221d7e3a03805f", "name": "Node manifest has dependencies but no lockfile: extensions/media-understanding-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/media-understanding-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-1b8901b81301ed0d", "name": "Node manifest has dependencies but no lockfile: extensions/deepgram/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: extensions/deepgram/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-8bf503bb1b0e2c47", "name": "Node manifest has dependencies but no lockfile: packages/gateway-protocol/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/gateway-protocol/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-b5c9cd0fe36ef8b7", "name": "Node manifest has dependencies but no lockfile: packages/llm-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/llm-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-7e38674563439a1e", "name": "Node manifest has dependencies but no lockfile: packages/media-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/media-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-7895c9e5e7316990", "name": "Node manifest has dependencies but no lockfile: packages/acp-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/acp-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-97af7266a513c8da", "name": "Node manifest has dependencies but no lockfile: packages/terminal-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/terminal-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-f221b4daf5a4b56f", "name": "Node manifest has dependencies but no lockfile: packages/llm-runtime/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/llm-runtime/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-ceb8e8ccae84f1dc", "name": "Node manifest has dependencies but no lockfile: packages/net-policy/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/net-policy/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-d7fb921412c53069", "name": "Node manifest has dependencies but no lockfile: packages/speech-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/speech-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-1ebbfde23d1ebf7e", "name": "Node manifest has dependencies but no lockfile: packages/agent-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/agent-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-a15f43e389971c61", "name": "Node manifest has dependencies but no lockfile: packages/markdown-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/markdown-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-b09786dfaec0de7c", "name": "Node manifest has dependencies but no lockfile: packages/gateway-client/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/gateway-client/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-ae014485ab255591", "name": "Node manifest has dependencies but no lockfile: packages/sdk/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/sdk/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-f283986b438fc15f", "name": "Node manifest has dependencies but no lockfile: examples/basic/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: examples/basic/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 950 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 2083 placeholder/mock markers across 585 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-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-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 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-cbb5857940ba0dc2", "name": "Agent instruction/config may expose a secret: AGENTS.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: 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-aac738f50b3285bc", "name": "Agent authority lacks a verifier contract: docs/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: docs/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-6c958de25a91167a", "name": "Agent authority lacks a verifier contract: docs/reference/templates/AGENTS.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: docs/reference/templates/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-64284936815187a7", "name": "Agent authority lacks a verifier contract: docs/cli/agents.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: docs/cli/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-d9cd169932119a4c", "name": "Agent authority lacks a verifier contract: extensions/oc-path/src/oc-path/tests/fixtures/real/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: extensions/oc-path/src/oc-path/tests/fixtures/real/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ab457e88c7e1be4a", "name": "Agent authority lacks a verifier contract: extensions/feishu/skills/feishu-drive/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: extensions/feishu/skills/feishu-drive/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aebb88c000fee799", "name": "Agent authority lacks a verifier contract: extensions/memory-wiki/skills/obsidian-vault-maintainer/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: extensions/memory-wiki/skills/obsidian-vault-maintainer/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2607f1fe951696b7", "name": "Agent instruction contains unpinned remote install: extensions/acpx/skills/acp-router/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: extensions/acpx/skills/acp-router/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d5dfb933980c057", "name": "Agent authority lacks a verifier contract: extensions/lobster/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: extensions/lobster/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9def0df150073677", "name": "Agent authority lacks a verifier contract: skills/blucli/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/blucli/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0d3b1253057049ae", "name": "Agent authority lacks a verifier contract: skills/bear-notes/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/bear-notes/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-583c8e3e7c33102d", "name": "Agent authority lacks a verifier contract: skills/model-usage/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/model-usage/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-33485ce1b455c16e", "name": "Agent authority lacks a verifier contract: skills/obsidian/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/obsidian/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9605ec913f252467", "name": "Agent authority lacks a verifier contract: skills/mcporter/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/mcporter/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3a6fc3452b4afd51", "name": "Agent authority lacks a verifier contract: skills/github/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/github/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0ca648e80519a288", "name": "Agent authority lacks a verifier contract: skills/blogwatcher/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/blogwatcher/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-50b39b899be27183", "name": "Agent authority lacks a verifier contract: skills/sag/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/sag/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-58b0b6f88f4e1049", "name": "Agent authority lacks a verifier contract: skills/openhue/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/openhue/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c7ee9d281ee01834", "name": "Agent instruction contains unpinned remote install: skills/oracle/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/oracle/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4e07bbd2a39901f1", "name": "Agent authority lacks a verifier contract: skills/eightctl/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/eightctl/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7fbbe120de99d795", "name": "Agent authority lacks a verifier contract: skills/weather/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/weather/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dce9c0fb81304faa", "name": "Agent authority lacks a verifier contract: skills/openai-whisper-api/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/openai-whisper-api/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-57b9ee346c1c3865", "name": "Agent instruction/config may expose a secret: skills/notion/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/notion/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-52c9407732446162", "name": "Agent authority lacks a verifier contract: skills/notion/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/notion/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f87180a5877545b2", "name": "Agent instruction contains unpinned remote install: skills/notion/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: skills/notion/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4528ff37ab340fab", "name": "Agent authority lacks a verifier contract: skills/apple-reminders/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/apple-reminders/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-40834c74716d990e", "name": "Agent authority lacks a verifier contract: skills/summarize/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/summarize/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-14d2492eacd0ba2f", "name": "Agent instruction/config may expose a secret: skills/taskflow/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/taskflow/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5743e2198d060cc2", "name": "Agent authority lacks a verifier contract: skills/taskflow/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/taskflow/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0467516f246a5c0", "name": "Agent authority lacks a verifier contract: skills/apple-notes/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/apple-notes/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1a403249f4e38710", "name": "Agent authority lacks a verifier contract: skills/voice-call/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/voice-call/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-94f15fa2db215550", "name": "Agent instruction/config may expose a secret: skills/trello/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/trello/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c17d2f1c225522d9", "name": "Agent authority lacks a verifier contract: skills/trello/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/trello/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-93a6d13c622efe92", "name": "Agent authority lacks a verifier contract: skills/things-mac/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/things-mac/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-71beff3138d3f49c", "name": "Agent authority lacks a verifier contract: skills/sonoscli/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/sonoscli/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-213b732cfd84c0c5", "name": "Agent authority lacks a verifier contract: skills/tmux/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/tmux/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7185a81d1a6ba387", "name": "Agent instruction/config may expose a secret: skills/taskflow-inbox-triage/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: skills/taskflow-inbox-triage/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e42914df217f90ec", "name": "Agent authority lacks a verifier contract: skills/taskflow-inbox-triage/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/taskflow-inbox-triage/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2cb9fd751d579d0b", "name": "Agent authority lacks a verifier contract: skills/openai-whisper/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/openai-whisper/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e291beef254f16c0", "name": "Agent authority lacks a verifier contract: skills/session-logs/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/session-logs/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6d23d8bbbfebddea", "name": "Agent authority lacks a verifier contract: skills/gog/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/gog/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef1bdce279b8b57a", "name": "Agent authority lacks a verifier contract: skills/clawhub/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/clawhub/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-97188ee266b1d852", "name": "Agent authority lacks a verifier contract: skills/spotify-player/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/spotify-player/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-be45e2c857c38db9", "name": "Agent authority lacks a verifier contract: skills/ordercli/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/ordercli/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3fa879faaf9d1e8d", "name": "Agent authority lacks a verifier contract: skills/sherpa-onnx-tts/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/sherpa-onnx-tts/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b627371df0c2f0ed", "name": "Agent authority lacks a verifier contract: skills/nano-pdf/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/nano-pdf/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-024b418092dfa72e", "name": "Agent authority lacks a verifier contract: skills/video-frames/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/video-frames/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-432a8f43d272a1ef", "name": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/e2e-mock-config-limits.test.ts:224", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/e2e-mock-config-limits.test.ts:224"}, "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-6e502fe8bb16c852", "name": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/postinstall-bundled-plugins.test.ts:280", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/postinstall-bundled-plugins.test.ts:280"}, "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-839af64c5f40c12f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/rtt-harness.test.ts:233", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/rtt-harness.test.ts:233"}, "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-860ed11307345f76", "name": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/openclaw-cross-os-release-checks.test.ts:884", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/openclaw-cross-os-release-checks.test.ts:884"}, "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-14e09b7d21d1db30", "name": "Legacy-named symbol `tarball_v1` in test/scripts/docker-build-helper.test.ts:1522", "shortDescription": {"text": "Legacy-named symbol `tarball_v1` in test/scripts/docker-build-helper.test.ts:1522"}, "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-2cb8a9d259450586", "name": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/docker-build-helper.test.ts:2995", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/docker-build-helper.test.ts:2995"}, "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-63ad009ec4b2d7d0", "name": "Commented-code block (5 lines) in test/proof/thinking-signature-real-proof.ts:29", "shortDescription": {"text": "Commented-code block (5 lines) in test/proof/thinking-signature-real-proof.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-0f5cf2ca4f39608d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 test/proof/thinking-signature-real-proof.ts:250", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/proof/thinking-signature-real-proof.ts:250"}, "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-fce6cad4aee77df2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 ui/public/sw.js:75", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/public/sw.js:75"}, "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-feb94475ef3f7210", "name": "Legacy-named symbol `test_old` in ui/src/ui/app-settings.test.ts:410", "shortDescription": {"text": "Legacy-named symbol `test_old` in ui/src/ui/app-settings.test.ts:410"}, "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-c8dd3adf2595c46d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/app-chat.ts:2329", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/app-chat.ts:2329"}, "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-f5e40bb20dae25a0", "name": "Legacy-named symbol `brand__copy` in ui/src/ui/navigation.browser.test.ts:363", "shortDescription": {"text": "Legacy-named symbol `brand__copy` in ui/src/ui/navigation.browser.test.ts:363"}, "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-2844d7b1c429bd5e", "name": "Legacy-named symbol `test_old` in ui/src/ui/storage.node.test.ts:558", "shortDescription": {"text": "Legacy-named symbol `test_old` in ui/src/ui/storage.node.test.ts:558"}, "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-ebbb5d0e22a06936", "name": "Commented-code block (5 lines) in ui/src/ui/app-scroll.ts:205", "shortDescription": {"text": "Commented-code block (5 lines) in ui/src/ui/app-scroll.ts:205"}, "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-c1eaf2b772096ac5", "name": "Commented-code block (6 lines) in ui/src/ui/control-ui-auth.ts:10", "shortDescription": {"text": "Commented-code block (6 lines) in ui/src/ui/control-ui-auth.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef68720a1b1d5e19", "name": "Legacy-named symbol `brand__copy` in ui/src/ui/app-render.ts:2308", "shortDescription": {"text": "Legacy-named symbol `brand__copy` in ui/src/ui/app-render.ts:2308"}, "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-e6a38c72d167b080", "name": "Commented-code block (6 lines) in ui/src/ui/markdown.ts:710", "shortDescription": {"text": "Commented-code block (6 lines) in ui/src/ui/markdown.ts:710"}, "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-98056ef9e37a5d47", "name": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/chat/grouped-render.ts:1182", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/chat/grouped-render.ts:1182"}, "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-c7b14f42f9719cec", "name": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/chat/realtime-talk-webrtc.ts:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/chat/realtime-talk-webrtc.ts:126"}, "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-91cc17a4dbc25beb", "name": "Commented-code block (7 lines) in ui/src/ui/chat/run-lifecycle.ts:230", "shortDescription": {"text": "Commented-code block (7 lines) in ui/src/ui/chat/run-lifecycle.ts: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-10b3830178e5fc93", "name": "Commented-code block (5 lines) in ui/src/ui/controllers/control-ui-bootstrap.ts:78", "shortDescription": {"text": "Commented-code block (5 lines) in ui/src/ui/controllers/control-ui-bootstrap.ts:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-90ce8736ec22e1f4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/controllers/control-ui-bootstrap.ts:90", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/controllers/control-ui-bootstrap.ts:90"}, "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-e4b3a63a5d2af0c5", "name": "Legacy-named symbol `call_old` in ui/src/ui/controllers/chat.test.ts:2687", "shortDescription": {"text": "Legacy-named symbol `call_old` in ui/src/ui/controllers/chat.test.ts:2687"}, "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-93b571e9c9b890eb", "name": "Legacy-named symbol `notifications__copy` in ui/src/ui/views/config.ts:827", "shortDescription": {"text": "Legacy-named symbol `notifications__copy` in ui/src/ui/views/config.ts:827"}, "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-edf0c040a123e1c9", "name": "Commented-code block (5 lines) in ui/src/ui/views/overview-cards.ts:96", "shortDescription": {"text": "Commented-code block (5 lines) in ui/src/ui/views/overview-cards.ts:96"}, "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-228beed3c27f7d12", "name": "Legacy-named symbol `state__copy` in ui/src/ui/views/cron.ts:598", "shortDescription": {"text": "Legacy-named symbol `state__copy` in ui/src/ui/views/cron.ts:598"}, "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-36cc766b98a364a3", "name": "Legacy-named symbol `dialog__copy` in ui/src/ui/views/skill-workshop.ts:198", "shortDescription": {"text": "Legacy-named symbol `dialog__copy` in ui/src/ui/views/skill-workshop.ts:198"}, "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-9b8323b4957de420", "name": "Legacy-named symbol `card__copy` in ui/src/ui/views/config-quick.ts:734", "shortDescription": {"text": "Legacy-named symbol `card__copy` in ui/src/ui/views/config-quick.ts:734"}, "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-ef60d89ee1917db4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/openclaw-cross-os-release-checks.ts:2671", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/openclaw-cross-os-release-checks.ts:2671"}, "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-7d14ff7b011e528b", "name": "Commented-code block (7 lines) in scripts/anthropic-prompt-probe.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/anthropic-prompt-probe.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-c97a53aa89cadaa4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/anthropic-prompt-probe.ts:382", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/anthropic-prompt-probe.ts:382"}, "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-6154bc86ad701aae", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/postinstall-bundled-plugins.mjs:69", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/postinstall-bundled-plugins.mjs:69"}, "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-aa49659523313a52", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check-no-raw-channel-fetch.mjs:84", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check-no-raw-channel-fetch.mjs:84"}, "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-32966cffcdfd17de", "name": "Legacy-named symbol `allowAnyValueForLegacy` in scripts/check-package-patches.mjs:54", "shortDescription": {"text": "Legacy-named symbol `allowAnyValueForLegacy` in scripts/check-package-patches.mjs:54"}, "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-ba17ece9abb27b93", "name": "Commented-code block (6 lines) in scripts/update-clawtributors.ts:148", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/update-clawtributors.ts:148"}, "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-c22ead653030041d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/github/real-behavior-proof-policy.mjs:187", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/github/real-behavior-proof-policy.mjs:187"}, "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-b6d960760529f542", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/dev/realtime-talk-live-smoke.ts:333", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/dev/realtime-talk-live-smoke.ts:333"}, "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-68544bd490b08179", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/e2e/telegram-user-driver.py:359", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/e2e/telegram-user-driver.py:359"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-04abd586ebee1f00", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/e2e/openwebui-probe.mjs:138", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/e2e/openwebui-probe.mjs:138"}, "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-f517900a7e99c3cd", "name": "Legacy-named symbol `cm_legacy` in scripts/e2e/commitments-safety-docker-client.ts:232", "shortDescription": {"text": "Legacy-named symbol `cm_legacy` in scripts/e2e/commitments-safety-docker-client.ts:232"}, "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-39a83562de1ad3ae", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/e2e/lib/plugins/assertions.mjs:897", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/e2e/lib/plugins/assertions.mjs:897"}, "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-4cae66d3f9eeb7c7", "name": "Commented-code block (7 lines) in extensions/memory-lancedb/index.test.ts:3579", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/memory-lancedb/index.test.ts:3579"}, "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-3b84453ea597c190", "name": "Commented-code block (7 lines) in extensions/memory-lancedb/index.ts:204", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/memory-lancedb/index.ts:204"}, "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-519b7a3c0cfb52cc", "name": "Commented-code block (6 lines) in extensions/google/vertex-adc.ts:322", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/google/vertex-adc.ts:322"}, "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-b721c4d461ed840d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google/embedding-provider.test.ts:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google/embedding-provider.test.ts:14"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9b231d0ac4cb834", "name": "Commented-code block (7 lines) in extensions/oc-path/src/cli.test.ts:299", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/oc-path/src/cli.test.ts:299"}, "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-8183082c774eeea4", "name": "Commented-code block (5 lines) in extensions/oc-path/src/oc-path/tests/edit.test.ts:86", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/oc-path/src/oc-path/tests/edit.test.ts:86"}, "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-cc4425c168adfd75", "name": "Commented-code block (5 lines) in extensions/oc-path/src/oc-path/tests/jsonl/resolve.test.ts:74", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/oc-path/src/oc-path/tests/jsonl/resolve.test.ts:74"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6596d79cc0d78c2", "name": "Commented-code block (5 lines) in extensions/oc-path/src/oc-path/tests/scenarios/oc-path-resolver-edges.test.ts:63", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/oc-path/src/oc-path/tests/scenarios/oc-path-resolver-edges.test.ts:63"}, "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-bb53b2e9324a16cb", "name": "Commented-code block (8 lines) in extensions/oc-path/src/oc-path/jsonl/parse.ts:21", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/oc-path/src/oc-path/jsonl/parse.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-6511ea774785c5ab", "name": "Commented-code block (7 lines) in extensions/parallel/src/parallel-web-search-provider.runtime.ts:179", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/parallel/src/parallel-web-search-provider.runtime.ts:179"}, "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-8777593c8fa5b867", "name": "Commented-code block (7 lines) in extensions/parallel/src/parallel-web-search-provider.test.ts:362", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/parallel/src/parallel-web-search-provider.test.ts:362"}, "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-1e8403d56d6acc5b", "name": "Commented-code block (5 lines) in extensions/parallel/src/parallel-mcp-search.runtime.ts:293", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/parallel/src/parallel-mcp-search.runtime.ts:293"}, "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-bebda84dea2221a5", "name": "Legacy-named symbol `acct_old` in extensions/migrate-hermes/secrets.test.ts:977", "shortDescription": {"text": "Legacy-named symbol `acct_old` in extensions/migrate-hermes/secrets.test.ts:977"}, "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-34af32254f6b236b", "name": "Legacy-named symbol `oc_group_v2` in extensions/feishu/src/monitor.card-action.lifecycle.test-support.ts:220", "shortDescription": {"text": "Legacy-named symbol `oc_group_v2` in extensions/feishu/src/monitor.card-action.lifecycle.test-support.ts:220"}, "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-7e6659224a5ab96e", "name": "Commented-code block (7 lines) in extensions/feishu/src/card-action.ts:194", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/feishu/src/card-action.ts:194"}, "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-37e86fd42f68ad8d", "name": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.broadcast.reply-once.lifecycle.test-support.ts:130", "shortDescription": {"text": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.broadcast.reply-once.lifecycle.test-support.ts:130"}, "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-bc521de814c36de6", "name": "Legacy-named symbol `comment_add_v1` in extensions/feishu/src/monitor.comment.test.ts:63", "shortDescription": {"text": "Legacy-named symbol `comment_add_v1` in extensions/feishu/src/monitor.comment.test.ts:63"}, "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-0c6be338224abfaa", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/feishu/src/monitor.webhook-security.test.ts:247", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/feishu/src/monitor.webhook-security.test.ts:247"}, "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-a0eceb14077379bf", "name": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.reaction.test.ts:195", "shortDescription": {"text": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.reaction.test.ts:195"}, "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-4eb300e7c8df533a", "name": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.acp-init-failure.lifecycle.test-support.ts:68", "shortDescription": {"text": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.acp-init-failure.lifecycle.test-support.ts:68"}, "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-c9a3f2ce4c7f5df6", "name": "Commented-code block (5 lines) in extensions/feishu/src/send.concurrent.test.ts:141", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/feishu/src/send.concurrent.test.ts:141"}, "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-469f8e083435f841", "name": "Legacy-named symbol `file_v2` in extensions/feishu/src/media.test.ts:649", "shortDescription": {"text": "Legacy-named symbol `file_v2` in extensions/feishu/src/media.test.ts:649"}, "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-d1154d3de09bdb8c", "name": "Commented-code block (6 lines) in extensions/feishu/src/client.ts:58", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/feishu/src/client.ts:58"}, "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-1903523d220b4b00", "name": "Commented-code block (5 lines) in extensions/feishu/src/bot.ts:290", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/feishu/src/bot.ts:290"}, "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-f0f64d56f0c3ceaa", "name": "Commented-code block (6 lines) in extensions/feishu/src/docx.ts:575", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/feishu/src/docx.ts:575"}, "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-b33658a016079ced", "name": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.account.ts:289", "shortDescription": {"text": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.account.ts:289"}, "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-ab8645928b1d00c3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/feishu/src/monitor.webhook-e2e.test.ts:60", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/feishu/src/monitor.webhook-e2e.test.ts:60"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b6817a594376d8f5", "name": "Legacy-named symbol `om_root_legacy` in extensions/feishu/src/bot.test.ts:3047", "shortDescription": {"text": "Legacy-named symbol `om_root_legacy` in extensions/feishu/src/bot.test.ts:3047"}, "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-05b1dadbbc6c0218", "name": "Commented-code block (5 lines) in extensions/feishu/src/bot.test.ts:2105", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/feishu/src/bot.test.ts:2105"}, "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-22a41eb65e703bdb", "name": "Legacy-named symbol `cli_backup` in extensions/feishu/src/config-schema.test.ts:318", "shortDescription": {"text": "Legacy-named symbol `cli_backup` in extensions/feishu/src/config-schema.test.ts:318"}, "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-69b63e2e992f2ce3", "name": "Commented-code block (7 lines) in extensions/feishu/src/docx-color-text.ts:64", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/feishu/src/docx-color-text.ts:64"}, "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-6036ec2fb051dcee", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/nextcloud-talk/src/send.cfg-threading.test.ts:85", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/nextcloud-talk/src/send.cfg-threading.test.ts:85"}, "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-7078ab3ed81b813e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/nextcloud-talk/src/monitor.replay.test.ts:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/nextcloud-talk/src/monitor.replay.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-7ac06f79cb75ddda", "name": "Commented-code block (5 lines) in extensions/imessage/src/monitor.last-route.test.ts:1412", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/imessage/src/monitor.last-route.test.ts:1412"}, "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-172e11930d6d3e20", "name": "Commented-code block (6 lines) in extensions/imessage/src/approval-auth.ts:16", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/imessage/src/approval-auth.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-59f5cc9e3a3f8bc8", "name": "Commented-code block (5 lines) in extensions/imessage/src/approval-native.test.ts:494", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/imessage/src/approval-native.test.ts:494"}, "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-ae5b7254b87145a2", "name": "Commented-code block (6 lines) in extensions/imessage/src/approval-auth.test.ts:81", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/imessage/src/approval-auth.test.ts:81"}, "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-b2f033b275a55d26", "name": "Commented-code block (6 lines) in extensions/imessage/src/probe.ts:187", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/imessage/src/probe.ts:187"}, "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-b22edc6c9b4b7d71", "name": "Commented-code block (7 lines) in extensions/imessage/src/actions.runtime.test.ts:140", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/imessage/src/actions.runtime.test.ts:140"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f0328b1cd0126fd2", "name": "Commented-code block (7 lines) in extensions/imessage/src/constants.ts:4", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/imessage/src/constants.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-c2be4005c996e06e", "name": "Commented-code block (7 lines) in extensions/imessage/src/actions.ts:166", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/imessage/src/actions.ts:166"}, "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-105eca858df91fa2", "name": "Commented-code block (6 lines) in extensions/imessage/src/approval-reactions.ts:359", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/imessage/src/approval-reactions.ts:359"}, "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-3eeeabb202869452", "name": "Commented-code block (5 lines) in extensions/imessage/src/send.ts:217", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/imessage/src/send.ts:217"}, "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-8337e05ae239ae11", "name": "Commented-code block (6 lines) in extensions/imessage/src/actions.test.ts:444", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/imessage/src/actions.test.ts:444"}, "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-c48f4e5c26d597d0", "name": "Commented-code block (5 lines) in extensions/imessage/src/approval-reactions.test.ts:388", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/imessage/src/approval-reactions.test.ts:388"}, "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-28f8bc5ee9f45c8a", "name": "Commented-code block (8 lines) in extensions/imessage/src/actions.runtime.ts:439", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/imessage/src/actions.runtime.ts:439"}, "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-0bd35ef7e113b7c2", "name": "Commented-code block (5 lines) in extensions/imessage/src/markdown-format.ts:52", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/imessage/src/markdown-format.ts:52"}, "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-21cba3982f7853bd", "name": "Commented-code block (6 lines) in extensions/imessage/src/monitor/recovery-cursor.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/imessage/src/monitor/recovery-cursor.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-3ac60bf41d8343cf", "name": "Commented-code block (8 lines) in extensions/imessage/src/monitor/inbound-processing.ts:258", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/imessage/src/monitor/inbound-processing.ts:258"}, "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-917a18a49345c178", "name": "Commented-code block (5 lines) in extensions/imessage/src/monitor/monitor-provider.ts:430", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/imessage/src/monitor/monitor-provider.ts:430"}, "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-3e848e55c50538eb", "name": "Commented-code block (6 lines) in extensions/imessage/src/monitor/inbound-processing.test.ts:265", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/imessage/src/monitor/inbound-processing.test.ts:265"}, "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-211fb5e8f32ccc15", "name": "Commented-code block (6 lines) in extensions/imessage/src/monitor/persisted-echo-cache.ts:16", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/imessage/src/monitor/persisted-echo-cache.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-b98fe23a90d5a332", "name": "Commented-code block (5 lines) in extensions/imessage/src/monitor/coalesce.ts:57", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/imessage/src/monitor/coalesce.ts:57"}, "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-d0f19b74450c7f3c", "name": "Commented-code block (8 lines) in extensions/imessage/src/monitor/catchup.ts:438", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/imessage/src/monitor/catchup.ts:438"}, "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-2f1a22b03af1b078", "name": "Commented-code block (6 lines) in extensions/imessage/src/monitor/catchup-bridge.ts:119", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/imessage/src/monitor/catchup-bridge.ts:119"}, "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-cecf1bdc827e4000", "name": "Commented-code block (5 lines) in extensions/imessage/src/monitor/group-allowlist-warnings.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/imessage/src/monitor/group-allowlist-warnings.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-548b4b24e2176ad6", "name": "Commented-code block (7 lines) in extensions/imessage/src/monitor/inbound-dedupe.ts:6", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/imessage/src/monitor/inbound-dedupe.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-db4ca9fc865c30dc", "name": "Commented-code block (7 lines) in extensions/imessage/src/monitor/catchup.test.ts:412", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/imessage/src/monitor/catchup.test.ts:412"}, "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-1febc4bdf693d2c9", "name": "Commented-code block (8 lines) in extensions/imessage/src/monitor/catchup-bridge.test.ts:303", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/imessage/src/monitor/catchup-bridge.test.ts:303"}, "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-22b1aeff55ca93fd", "name": "Legacy-named symbol `eleven_multilingual_v2` in extensions/elevenlabs/speech-provider.test.ts:48", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in extensions/elevenlabs/speech-provider.test.ts:48"}, "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-ee5b3608ddd54ebc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/elevenlabs/speech-provider.test.ts:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/elevenlabs/speech-provider.test.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-5ce39357fc72a04a", "name": "Legacy-named symbol `scribe_v2` in extensions/elevenlabs/media-understanding-provider.test.ts:32", "shortDescription": {"text": "Legacy-named symbol `scribe_v2` in extensions/elevenlabs/media-understanding-provider.test.ts:32"}, "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-d512bdeebf2e2ae9", "name": "Legacy-named symbol `scribe_v2` in extensions/elevenlabs/media-understanding-provider.ts:17", "shortDescription": {"text": "Legacy-named symbol `scribe_v2` in extensions/elevenlabs/media-understanding-provider.ts:17"}, "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-e6309b55d9905dc8", "name": "Legacy-named symbol `eleven_multilingual_v2` in extensions/elevenlabs/tts.test.ts:15", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in extensions/elevenlabs/tts.test.ts:15"}, "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-be4a84801797e9a7", "name": "Legacy-named symbol `eleven_multilingual_v2` in extensions/elevenlabs/speech-provider.ts:32", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in extensions/elevenlabs/speech-provider.ts:32"}, "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-4e221c1562ccd575", "name": "Commented-code block (9 lines) in extensions/matrix/src/matrix/sdk.ts:2023", "shortDescription": {"text": "Commented-code block (9 lines) in extensions/matrix/src/matrix/sdk.ts:2023"}, "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-332aba15d40dc012", "name": "Legacy-named symbol `megolm_backup` in extensions/matrix/src/matrix/sdk.test.ts:2026", "shortDescription": {"text": "Legacy-named symbol `megolm_backup` in extensions/matrix/src/matrix/sdk.test.ts:2026"}, "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-9f15c6daf543695b", "name": "Commented-code block (5 lines) in extensions/matrix/src/matrix/sdk/crypto-bootstrap.ts:369", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/matrix/src/matrix/sdk/crypto-bootstrap.ts:369"}, "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-5e8c2c062d9a4b67", "name": "Commented-code block (6 lines) in extensions/matrix/src/matrix/sdk/idb-persistence.ts:14", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/matrix/src/matrix/sdk/idb-persistence.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-32e2750071233999", "name": "Commented-code block (6 lines) in extensions/matrix/src/matrix/sdk/verification-manager.ts:744", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/matrix/src/matrix/sdk/verification-manager.ts:744"}, "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-03bb73538b2f9332", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/github-copilot/index.test.ts:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/github-copilot/index.test.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-2b9f927e7e76b5fa", "name": "Commented-code block (5 lines) in extensions/github-copilot/index.ts:299", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/github-copilot/index.ts:299"}, "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-dff0af9aa79677a0", "name": "Commented-code block (5 lines) in extensions/github-copilot/models.test.ts:431", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/github-copilot/models.test.ts:431"}, "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-07526749aae5df61", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/openai/speech-provider.test.ts:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/openai/speech-provider.test.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-f199e67191d961a1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/openai/tts.test.ts:30", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/openai/tts.test.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-880e3096cb6191eb", "name": "Legacy-named symbol `history_v2` in extensions/comfy/workflow-runtime.ts:814", "shortDescription": {"text": "Legacy-named symbol `history_v2` in extensions/comfy/workflow-runtime.ts:814"}, "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-a6235dab1c1a125b", "name": "Legacy-named symbol `history_v2` in extensions/comfy/image-generation-provider.test.ts:477", "shortDescription": {"text": "Legacy-named symbol `history_v2` in extensions/comfy/image-generation-provider.test.ts:477"}, "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-b5726cc0d5d0c7c8", "name": "Commented-code block (8 lines) in extensions/deepinfra/provider-models.ts:221", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/deepinfra/provider-models.ts:221"}, "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-4169fb80e866fd97", "name": "Commented-code block (6 lines) in extensions/line/src/send.ts:72", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/line/src/send.ts:72"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d047f72a3b77eb2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/telegram/src/bot.media.e2e-harness.ts:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/telegram/src/bot.media.e2e-harness.ts:31"}, "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-a60cf2acae470380", "name": "Legacy-named symbol `custom_backup` in extensions/telegram/src/bot-native-commands.test.ts:381", "shortDescription": {"text": "Legacy-named symbol `custom_backup` in extensions/telegram/src/bot-native-commands.test.ts:381"}, "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-6ed6ba61433c5a73", "name": "Commented-code block (5 lines) in extensions/telegram/src/polling-session.ts:1200", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/telegram/src/polling-session.ts:1200"}, "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-d052b500168d1bd9", "name": "Commented-code block (7 lines) in extensions/telegram/src/fetch.ts:40", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/telegram/src/fetch.ts:40"}, "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-6413edb39b006287", "name": "Commented-code block (5 lines) in extensions/telegram/src/bot-native-commands.ts:518", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/telegram/src/bot-native-commands.ts:518"}, "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-b833b20367fbfc4f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/telegram/src/webhook.test.ts:481", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/telegram/src/webhook.test.ts:481"}, "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-5ede068e71fc87a0", "name": "Commented-code block (6 lines) in extensions/telegram/src/bot-handlers.runtime.ts:2547", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/telegram/src/bot-handlers.runtime.ts:2547"}, "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-b4a37dd26058d46a", "name": "Legacy-named symbol `custom_backup` in extensions/telegram/src/bot.command-menu.test.ts:120", "shortDescription": {"text": "Legacy-named symbol `custom_backup` in extensions/telegram/src/bot.command-menu.test.ts:120"}, "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-1b4853427d9aea13", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/telegram/src/fetch.test.ts:531", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/telegram/src/fetch.test.ts:531"}, "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-a6d843914c5a233c", "name": "Commented-code block (6 lines) in extensions/telegram/src/account-config.ts:75", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/telegram/src/account-config.ts:75"}, "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-71cadda2edf14079", "name": "Commented-code block (5 lines) in extensions/bonjour/src/advertiser.ts:92", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/bonjour/src/advertiser.ts:92"}, "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-c53d8111c0af34ba", "name": "Commented-code block (14 lines) in extensions/file-transfer/src/shared/policy.ts:10", "shortDescription": {"text": "Commented-code block (14 lines) in extensions/file-transfer/src/shared/policy.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af6822642486806d", "name": "Commented-code block (5 lines) in extensions/file-transfer/src/tools/file-write-tool.ts:69", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/file-transfer/src/tools/file-write-tool.ts:69"}, "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-27e2a0b4568f4be0", "name": "Commented-code block (5 lines) in extensions/file-transfer/src/node-host/file-fetch.test.ts:38", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/file-transfer/src/node-host/file-fetch.test.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-0bd5da8decf6fd01", "name": "Commented-code block (9 lines) in extensions/file-transfer/src/node-host/dir-fetch.ts:250", "shortDescription": {"text": "Commented-code block (9 lines) in extensions/file-transfer/src/node-host/dir-fetch.ts:250"}, "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-6d00add7c986568e", "name": "Commented-code block (7 lines) in extensions/file-transfer/src/node-host/file-write.ts:107", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/file-transfer/src/node-host/file-write.ts:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4ead24b2c1829b16", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/voice-call/src/webhook.hangup-once.lifecycle.test.ts:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/voice-call/src/webhook.hangup-once.lifecycle.test.ts:68"}, "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-4bc210d2e6fd0718", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/voice-call/src/webhook.test.ts:494", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/voice-call/src/webhook.test.ts:494"}, "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-a1191f34fe93955b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/zalo/src/monitor.webhook.test.ts:118", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/zalo/src/monitor.webhook.test.ts:118"}, "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-c79ee205572915e9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/googlechat/src/targets.test.ts:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/googlechat/src/targets.test.ts:21"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5dd40c5052a41000", "name": "Legacy-named symbol `t2a_v2` in extensions/minimax/speech-provider.test.ts:436", "shortDescription": {"text": "Legacy-named symbol `t2a_v2` in extensions/minimax/speech-provider.test.ts:436"}, "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-3a71d2da39fa1b0a", "name": "Legacy-named symbol `t2a_v2` in extensions/minimax/tts.ts:76", "shortDescription": {"text": "Legacy-named symbol `t2a_v2` in extensions/minimax/tts.ts:76"}, "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-157f5f456d04de48", "name": "Commented-code block (6 lines) in extensions/codex/src/command-account.ts:206", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/codex/src/command-account.ts:206"}, "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-c76e1b0d1bf8da62", "name": "Legacy-named symbol `acct_old` in extensions/codex/src/migration/provider.test.ts:625", "shortDescription": {"text": "Legacy-named symbol `acct_old` in extensions/codex/src/migration/provider.test.ts:625"}, "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-6ce4d0b703880a33", "name": "Commented-code block (10 lines) in extensions/codex/src/app-server/event-projector.ts:316", "shortDescription": {"text": "Commented-code block (10 lines) in extensions/codex/src/app-server/event-projector.ts:316"}, "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-5a6e679a15a5abca", "name": "Commented-code block (5 lines) in extensions/codex/src/app-server/transcript-mirror.ts:124", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/codex/src/app-server/transcript-mirror.ts:124"}, "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-ad664d0108712378", "name": "Commented-code block (8 lines) in extensions/codex/src/app-server/thread-lifecycle.ts:1490", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/codex/src/app-server/thread-lifecycle.ts:1490"}, "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-4489e77ef6245c26", "name": "Commented-code block (5 lines) in extensions/codex/src/app-server/request.ts:84", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/codex/src/app-server/request.ts:84"}, "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-db641256b8f047ce", "name": "Commented-code block (11 lines) in extensions/codex/src/app-server/transcript-mirror.test.ts:507", "shortDescription": {"text": "Commented-code block (11 lines) in extensions/codex/src/app-server/transcript-mirror.test.ts:507"}, "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-828f89479b1c3502", "name": "Commented-code block (7 lines) in extensions/codex/src/app-server/run-attempt.turn-watches.test.ts:2984", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/codex/src/app-server/run-attempt.turn-watches.test.ts:2984"}, "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-e0e7139d2ad4fe39", "name": "Legacy-named symbol `isLegacy` in extensions/whatsapp/src/accounts.whatsapp-auth.test.ts:50", "shortDescription": {"text": "Legacy-named symbol `isLegacy` in extensions/whatsapp/src/accounts.whatsapp-auth.test.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-6fcf7814d24567ea", "name": "Legacy-named symbol `isLegacy` in extensions/whatsapp/src/accounts.ts:98", "shortDescription": {"text": "Legacy-named symbol `isLegacy` in extensions/whatsapp/src/accounts.ts:98"}, "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-620bbb22be76f209", "name": "Commented-code block (7 lines) in extensions/whatsapp/src/monitor-inbox.streams-inbound-messages.test-support.ts:842", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/whatsapp/src/monitor-inbox.streams-inbound-messages.test-support.ts:842"}, "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-0bdb39ba1cf5303b", "name": "Commented-code block (5 lines) in extensions/whatsapp/src/quoted-message.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/whatsapp/src/quoted-message.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-f7e1d6c577b698d5", "name": "Commented-code block (5 lines) in extensions/whatsapp/src/targets-runtime.ts:53", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/whatsapp/src/targets-runtime.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-aa5f8da1bdec711c", "name": "Commented-code block (8 lines) in extensions/whatsapp/src/inbound/monitor.ts:672", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/whatsapp/src/inbound/monitor.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-e6c3dc774fea5e09", "name": "Commented-code block (10 lines) in extensions/whatsapp/src/auto-reply/mentions.ts:54", "shortDescription": {"text": "Commented-code block (10 lines) in extensions/whatsapp/src/auto-reply/mentions.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-61eb727f733f28ed", "name": "Commented-code block (6 lines) in extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.ts:187", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.ts:187"}, "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-0d6c2fa74b193181", "name": "Commented-code block (6 lines) in extensions/whatsapp/src/auto-reply/monitor/group-gating.ts:220", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/whatsapp/src/auto-reply/monitor/group-gating.ts:220"}, "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-5f846c5f225adf01", "name": "Commented-code block (10 lines) in extensions/whatsapp/src/auto-reply/monitor/process-message.ts:240", "shortDescription": {"text": "Commented-code block (10 lines) in extensions/whatsapp/src/auto-reply/monitor/process-message.ts:240"}, "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-6209a07b0e6007be", "name": "Commented-code block (7 lines) in extensions/whatsapp/src/auto-reply/monitor/on-message.ts:170", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/whatsapp/src/auto-reply/monitor/on-message.ts:170"}, "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-b7ac83f3ff5aedd6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/voice-message.test.ts:18", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/voice-message.test.ts:18"}, "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-d0ca8ec37ad02e30", "name": "Legacy-named symbol `button_v1` in extensions/discord/src/components.test.ts:69", "shortDescription": {"text": "Legacy-named symbol `button_v1` in extensions/discord/src/components.test.ts:69"}, "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-169f8e3321dc8aad", "name": "Commented-code block (5 lines) in extensions/discord/src/monitor/message-handler.dm-preflight.ts:87", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/discord/src/monitor/message-handler.dm-preflight.ts:87"}, "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-3d92f04660bd4e88", "name": "Commented-code block (5 lines) in extensions/discord/src/monitor/native-command-model-picker-interaction.ts:556", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/discord/src/monitor/native-command-model-picker-interaction.ts:556"}, "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-78c8835e140adfe3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/monitor/provider.proxy.test.ts:734", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/monitor/provider.proxy.test.ts:734"}, "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-046b1f5534e5484b", "name": "Commented-code block (5 lines) in extensions/discord/src/monitor/thread-title.ts:15", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/discord/src/monitor/thread-title.ts:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c742130b4a5856e", "name": "Commented-code block (5 lines) in extensions/discord/src/monitor/message-handler.ts:314", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/discord/src/monitor/message-handler.ts: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-0cfd51a993c8a2fe", "name": "Commented-code block (6 lines) in extensions/discord/src/monitor/message-handler.process.test.ts:3622", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/discord/src/monitor/message-handler.process.test.ts:3622"}, "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-65b8750f83223bc0", "name": "Commented-code block (6 lines) in extensions/discord/src/monitor/model-picker.state.ts:398", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/discord/src/monitor/model-picker.state.ts:398"}, "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-979faffa5962a924", "name": "Commented-code block (7 lines) in extensions/discord/src/monitor/model-picker.view.ts:178", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/discord/src/monitor/model-picker.view.ts:178"}, "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-a0e9ae1dc3bee053", "name": "Commented-code block (7 lines) in extensions/discord/src/monitor/model-picker.test.ts:588", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/discord/src/monitor/model-picker.test.ts:588"}, "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-8b583afc9521f571", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/internal/listeners.ts:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/internal/listeners.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-67f28414bfa2abed", "name": "Commented-code block (8 lines) in extensions/discord/src/internal/command-deploy.test.ts:344", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/discord/src/internal/command-deploy.test.ts:344"}, "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-6e7ee5acc4ec421d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/internal/structures.ts:74", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/internal/structures.ts:74"}, "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-127aad834df766b4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/test-support/partial-channel.ts:3", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/test-support/partial-channel.ts:3"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8df3beee64b9f308", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qqbot/src/engine/api/token.test.ts:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qqbot/src/engine/api/token.test.ts:62"}, "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-a0424c3c86d347d6", "name": "Commented-code block (5 lines) in extensions/qqbot/src/engine/utils/platform.test.ts:153", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/qqbot/src/engine/utils/platform.test.ts:153"}, "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-746165978a6c3093", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qqbot/src/engine/utils/stt.test.ts:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qqbot/src/engine/utils/stt.test.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-a9cd12a85bb6967f", "name": "Commented-code block (5 lines) in extensions/qqbot/src/engine/utils/platform.ts:302", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/qqbot/src/engine/utils/platform.ts:302"}, "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-eb6287a27024855a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qqbot/src/engine/adapter/types.ts:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qqbot/src/engine/adapter/types.ts:22"}, "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-a6650faa70f4de1d", "name": "Commented-code block (7 lines) in extensions/qqbot/src/engine/messaging/streaming-c2c.ts:795", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/qqbot/src/engine/messaging/streaming-c2c.ts:795"}, "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-c89cbfc1cef3c153", "name": "Commented-code block (5 lines) in extensions/qqbot/src/engine/messaging/sender.ts:593", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/qqbot/src/engine/messaging/sender.ts:593"}, "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-0ee530ce1036d724", "name": "Commented-code block (6 lines) in extensions/qqbot/src/engine/gateway/outbound-dispatch.ts:49", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/qqbot/src/engine/gateway/outbound-dispatch.ts:49"}, "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-c648e98f9965dd90", "name": "Commented-code block (7 lines) in extensions/qqbot/src/engine/gateway/message-queue.test.ts:159", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/qqbot/src/engine/gateway/message-queue.test.ts:159"}, "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-a7c85a291aba09aa", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-matrix/src/substrate/fault-proxy.test.ts:94", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-matrix/src/substrate/fault-proxy.test.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-ee2c9eb3224c4568", "name": "Legacy-named symbol `megolm_backup` in extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee.ts:209", "shortDescription": {"text": "Legacy-named symbol `megolm_backup` in extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee.ts:209"}, "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-c96a46160056e54d", "name": "Legacy-named symbol `megolm_backup` in extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee-destructive.ts:26", "shortDescription": {"text": "Legacy-named symbol `megolm_backup` in extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee-destructive.ts:265"}, "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-0dc5c57333575545", "name": "Legacy-named symbol `megolm_backup` in extensions/qa-matrix/src/runners/contract/scenarios.test.ts:5579", "shortDescription": {"text": "Legacy-named symbol `megolm_backup` in extensions/qa-matrix/src/runners/contract/scenarios.test.ts:5579"}, "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-a1c40f0e66cf380c", "name": "Commented-code block (6 lines) in extensions/msteams/src/reply-stream-controller.ts:37", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/msteams/src/reply-stream-controller.ts: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-2c4cfbf1756e909f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/msteams/src/graph.test.ts:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/msteams/src/graph.test.ts:36"}, "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-5d06dabaee17a63f", "name": "Commented-code block (7 lines) in extensions/msteams/src/channel.actions.test.ts:800", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/msteams/src/channel.actions.test.ts:800"}, "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-73afd4e6d61c34ba", "name": "Commented-code block (5 lines) in extensions/msteams/src/auth-coverage.test.ts:157", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/auth-coverage.test.ts:157"}, "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-00d8ab7e3ff693f2", "name": "Commented-code block (5 lines) in extensions/msteams/src/thread-parent-context.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/thread-parent-context.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-3c29c310b1d4921d", "name": "Commented-code block (6 lines) in extensions/msteams/src/messenger.ts:584", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/msteams/src/messenger.ts:584"}, "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-e836adf1dd6f882c", "name": "Commented-code block (5 lines) in extensions/msteams/src/monitor.ts:475", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor.ts:475"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-759ef184f3cddc06", "name": "Commented-code block (7 lines) in extensions/msteams/src/reply-dispatcher.ts:86", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/msteams/src/reply-dispatcher.ts:86"}, "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-dbb9927f44352d21", "name": "Commented-code block (5 lines) in extensions/msteams/src/conversation-store-helpers.ts:38", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/conversation-store-helpers.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-9b3d544b04964bd2", "name": "Commented-code block (5 lines) in extensions/msteams/src/messenger.test.ts:149", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/messenger.test.ts: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-bd2724f37d4224c4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/msteams/src/user-agent.test.ts:18", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/msteams/src/user-agent.test.ts:18"}, "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-1ce06fac4758ec28", "name": "Commented-code block (5 lines) in extensions/msteams/src/send-context.ts:255", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/send-context.ts:255"}, "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-6e963d015dbba974", "name": "Commented-code block (6 lines) in extensions/msteams/src/resolve-allowlist.ts:100", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/msteams/src/resolve-allowlist.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-e4bf9f9d925a316f", "name": "Commented-code block (7 lines) in extensions/msteams/src/reply-dispatcher.test.ts:302", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/msteams/src/reply-dispatcher.test.ts:302"}, "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-965b522d572469d7", "name": "Commented-code block (5 lines) in extensions/msteams/src/monitor.lifecycle.test.ts:350", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor.lifecycle.test.ts:350"}, "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-cfbf000ad7ec0f37", "name": "Commented-code block (5 lines) in extensions/msteams/src/graph-messages.ts:120", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/graph-messages.ts:120"}, "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-e1ce5d5fa17245ff", "name": "Commented-code block (7 lines) in extensions/msteams/src/reply-stream-controller.test.ts:40", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/msteams/src/reply-stream-controller.test.ts:40"}, "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-67acf94eb143b034", "name": "Commented-code block (5 lines) in extensions/msteams/src/attachments/download.ts:73", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/attachments/download.ts:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-61c52dfc86c38d72", "name": "Commented-code block (7 lines) in extensions/msteams/src/monitor-handler/thread-session.ts:18", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/msteams/src/monitor-handler/thread-session.ts:18"}, "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-962c6e059e0c72c9", "name": "Commented-code block (5 lines) in extensions/msteams/src/monitor-handler/inbound-media.ts:64", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor-handler/inbound-media.ts:64"}, "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-7de0dc9afab08856", "name": "Commented-code block (5 lines) in extensions/msteams/src/monitor-handler/message-handler.ts:493", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor-handler/message-handler.ts:493"}, "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-d32f21454497c154", "name": "Commented-code block (5 lines) in extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts:79", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts:79"}, "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-12b83fe1ff28080f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/xai/web-search.test.ts:55", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/xai/web-search.test.ts:55"}, "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-832f561757600f74", "name": "Legacy-named symbol `runtimeLegacy` in extensions/xai/src/tool-auth-shared.ts:123", "shortDescription": {"text": "Legacy-named symbol `runtimeLegacy` in extensions/xai/src/tool-auth-shared.ts:123"}, "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-0720894ecf794326", "name": "Commented-code block (6 lines) in extensions/synology-chat/src/client.ts:22", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/synology-chat/src/client.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-a0dfd3c977de9e66", "name": "Commented-code block (5 lines) in extensions/active-memory/index.test.ts:1197", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/active-memory/index.test.ts:1197"}, "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-0b2e089b5e21e371", "name": "Commented-code block (8 lines) in extensions/active-memory/index.ts:2887", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/active-memory/index.ts:2887"}, "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-0296ddc2e236a5f9", "name": "Commented-code block (8 lines) in extensions/amazon-bedrock/register.sync.runtime.ts:653", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/amazon-bedrock/register.sync.runtime.ts:653"}, "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-e426b7bb1a7a5fdf", "name": "Legacy-named symbol `migratedLegacy` in extensions/memory-core/src/dreaming.ts:453", "shortDescription": {"text": "Legacy-named symbol `migratedLegacy` in extensions/memory-core/src/dreaming.ts:453"}, "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-0e0d27fd891fe737", "name": "Commented-code block (5 lines) in extensions/memory-core/src/dreaming.ts:708", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/dreaming.ts:708"}, "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-20616b79f523e1c0", "name": "Commented-code block (6 lines) in extensions/memory-core/src/short-term-promotion.ts:400", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/memory-core/src/short-term-promotion.ts:400"}, "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-bb214c1ab51723f4", "name": "Commented-code block (5 lines) in extensions/memory-core/src/dreaming-narrative.ts:150", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/dreaming-narrative.ts:150"}, "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-9ce908bad875e9e2", "name": "Legacy-named symbol `listedLegacy` in extensions/memory-core/src/memory/qmd-manager.ts:829", "shortDescription": {"text": "Legacy-named symbol `listedLegacy` in extensions/memory-core/src/memory/qmd-manager.ts:829"}, "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-579f1fbbf86e2e84", "name": "Commented-code block (5 lines) in extensions/memory-core/src/memory/qmd-manager.ts:223", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/memory/qmd-manager.ts:223"}, "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-09d276524f1ea164", "name": "Commented-code block (7 lines) in extensions/memory-core/src/memory/manager-search.ts:145", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/memory-core/src/memory/manager-search.ts: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-149fb7ad3441fbef", "name": "Legacy-named symbol `memory_index_meta_v1` in extensions/memory-core/src/memory/index.test.ts:842", "shortDescription": {"text": "Legacy-named symbol `memory_index_meta_v1` in extensions/memory-core/src/memory/index.test.ts:842"}, "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-638e1d1a1d80825f", "name": "Commented-code block (6 lines) in extensions/memory-core/src/memory/qmd-manager.test.ts:4477", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/memory-core/src/memory/qmd-manager.test.ts:4477"}, "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-01961bf0a61d5f31", "name": "Legacy-named symbol `memory_index_meta_v1` in extensions/memory-core/src/memory/manager-sync-ops.ts:121", "shortDescription": {"text": "Legacy-named symbol `memory_index_meta_v1` in extensions/memory-core/src/memory/manager-sync-ops.ts:121"}, "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-96d947d520b4a890", "name": "Commented-code block (5 lines) in extensions/memory-core/src/memory/manager-sync-ops.ts:700", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/memory/manager-sync-ops.ts:700"}, "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-ed49cce3b6292973", "name": "Commented-code block (6 lines) in extensions/memory-core/src/memory/mmr.test.ts:155", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/memory-core/src/memory/mmr.test.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-888addab102bd927", "name": "Legacy-named symbol `veryOld` in extensions/memory-core/src/memory/temporal-decay.test.ts:76", "shortDescription": {"text": "Legacy-named symbol `veryOld` in extensions/memory-core/src/memory/temporal-decay.test.ts:76"}, "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-1b7196e8345283aa", "name": "Commented-code block (5 lines) in extensions/memory-core/src/memory/manager.watcher-config.test.ts:265", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/memory/manager.watcher-config.test.ts:265"}, "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-73b73410e20d6b67", "name": "Commented-code block (6 lines) in extensions/memory-core/src/memory/manager-search.test.ts:660", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/memory-core/src/memory/manager-search.test.ts:660"}, "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-c9814979800e9269", "name": "Legacy-named symbol `IsDeprecated` in extensions/azure-speech/tts.test.ts:148", "shortDescription": {"text": "Legacy-named symbol `IsDeprecated` in extensions/azure-speech/tts.test.ts:148"}, "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-61544fc08f225ee6", "name": "Legacy-named symbol `IsDeprecated` in extensions/azure-speech/tts.ts:33", "shortDescription": {"text": "Legacy-named symbol `IsDeprecated` in extensions/azure-speech/tts.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-f4ecfcf7e2bfa3bd", "name": "Commented-code block (5 lines) in extensions/ollama/src/media-understanding-provider.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/ollama/src/media-understanding-provider.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-3b09ebe10ccac045", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/ollama/src/embedding-provider.test.ts:8", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/ollama/src/embedding-provider.test.ts:8"}, "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-0cc42f89efeefe68", "name": "Legacy-named symbol `eleven_multilingual_v2` in extensions/google-meet/index.test.ts:4156", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in extensions/google-meet/index.test.ts:4156"}, "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-ef897e94cc00b324", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google-meet/index.test.ts:87", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google-meet/index.test.ts:87"}, "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-c15136f1652e3694", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google-meet/index.create.test.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google-meet/index.create.test.ts:34"}, "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-f6b6d30c439b5fd5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google-meet/src/cli.test.ts:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google-meet/src/cli.test.ts:21"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d4c835164c018813", "name": "Commented-code block (7 lines) in extensions/copilot/harness.test.ts:523", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/copilot/harness.test.ts:523"}, "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-cce8849676a47705", "name": "Commented-code block (7 lines) in extensions/copilot/harness.ts:43", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/copilot/harness.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-911a29681a99d276", "name": "Commented-code block (5 lines) in extensions/copilot/src/attempt.ts:93", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/copilot/src/attempt.ts:93"}, "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-afe724b1f1734ba2", "name": "Commented-code block (7 lines) in extensions/copilot/src/workspace-bootstrap.test.ts:177", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/copilot/src/workspace-bootstrap.test.ts:177"}, "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-38a0c83553d44e2b", "name": "Commented-code block (5 lines) in extensions/copilot/src/doctor-probes.ts:139", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/copilot/src/doctor-probes.ts:139"}, "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-fbc1a469500f1c31", "name": "Commented-code block (6 lines) in extensions/copilot/src/compaction-bridge.ts:11", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/copilot/src/compaction-bridge.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-76d86263b68e0306", "name": "Commented-code block (5 lines) in extensions/copilot/src/runtime.ts:73", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/copilot/src/runtime.ts:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a0805f31375d53b", "name": "Commented-code block (7 lines) in extensions/copilot/src/telemetry-bridge.ts:6", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/copilot/src/telemetry-bridge.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-dc918bc49ecf5ac6", "name": "Commented-code block (8 lines) in extensions/copilot/src/auth-bridge.ts:160", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/copilot/src/auth-bridge.ts:160"}, "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-386b3c7c6167ac90", "name": "Commented-code block (5 lines) in extensions/copilot/src/dual-write-transcripts.test.ts:359", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/copilot/src/dual-write-transcripts.test.ts:359"}, "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-23dc5295cdca2e02", "name": "Commented-code block (5 lines) in extensions/copilot/src/attempt.test.ts:18", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/copilot/src/attempt.test.ts:18"}, "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-dfc5bf6d34a6fb72", "name": "Commented-code block (11 lines) in extensions/copilot/src/replay-shim.ts:3", "shortDescription": {"text": "Commented-code block (11 lines) in extensions/copilot/src/replay-shim.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-8c9389e63c87e435", "name": "Commented-code block (6 lines) in extensions/copilot/src/tool-bridge.ts:260", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/copilot/src/tool-bridge.ts:260"}, "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-6bfef637518e2e1a", "name": "Commented-code block (8 lines) in extensions/copilot/src/tool-bridge.test.ts:207", "shortDescription": {"text": "Commented-code block (8 lines) in extensions/copilot/src/tool-bridge.test.ts:207"}, "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-e0fbb989e3468e33", "name": "Commented-code block (10 lines) in extensions/copilot/src/workspace-bootstrap.ts:12", "shortDescription": {"text": "Commented-code block (10 lines) in extensions/copilot/src/workspace-bootstrap.ts:12"}, "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-ce704c3f71c8f8f3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/mattermost/src/channel.test.ts:9", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/mattermost/src/channel.test.ts:9"}, "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-732b82c2d69c347c", "name": "Commented-code block (6 lines) in extensions/mattermost/src/mattermost/monitor.inbound-system-event.test.ts:517", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/mattermost/src/mattermost/monitor.inbound-system-event.test.ts:517"}, "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-b9a4bb14ad66f12a", "name": "Commented-code block (5 lines) in extensions/mattermost/src/mattermost/monitor.ts:550", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/mattermost/src/mattermost/monitor.ts:550"}, "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-92ed40c412707eb2", "name": "Commented-code block (7 lines) in extensions/mattermost/src/mattermost/slash-http.ts:618", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/mattermost/src/mattermost/slash-http.ts:618"}, "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-15af8f1669b2a1df", "name": "Commented-code block (6 lines) in extensions/slack/src/channel.lazy-seams.test.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/slack/src/channel.lazy-seams.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-0c0f55c44ed83901", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/slack/src/send.upload.test.ts:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/slack/src/send.upload.test.ts:23"}, "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-790fb18fff9603bf", "name": "Commented-code block (6 lines) in extensions/slack/src/send.ts:507", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/slack/src/send.ts:507"}, "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-b41f46ad4e3b2279", "name": "Commented-code block (6 lines) in extensions/slack/src/monitor/events/messages.ts:195", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/slack/src/monitor/events/messages.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-ee2bcde9011fbda4", "name": "Commented-code block (6 lines) in extensions/slack/src/monitor/message-handler/prepare-routing.ts:193", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/slack/src/monitor/message-handler/prepare-routing.ts:193"}, "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-4028c202372ca78f", "name": "Commented-code block (7 lines) in extensions/slack/src/monitor/message-handler/prepare.ts:659", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/slack/src/monitor/message-handler/prepare.ts:659"}, "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-3bf0c20b7b79f6ae", "name": "Commented-code block (6 lines) in extensions/slack/src/monitor/message-handler/dispatch.ts:734", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/slack/src/monitor/message-handler/dispatch.ts:734"}, "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-d77253f780c7d8bd", "name": "Commented-code block (5 lines) in extensions/openrouter/index.test.ts:233", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/openrouter/index.test.ts:233"}, "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-4412cd5a1d7d6682", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/openrouter/openrouter.live.test.ts:61", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/openrouter/openrouter.live.test.ts:61"}, "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-074862c80f96848d", "name": "Commented-code block (5 lines) in extensions/browser/src/browser/chrome.ts:355", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/chrome.ts:355"}, "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-85d4d163bea60774", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/chrome.ts:402", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/chrome.ts:402"}, "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-c0db7c7082078604", "name": "Commented-code block (9 lines) in extensions/browser/src/browser/server-context.ensure-browser-available.waits-for-cdp-r", "shortDescription": {"text": "Commented-code block (9 lines) in extensions/browser/src/browser/server-context.ensure-browser-available.waits-for-cdp-ready.test.ts:402"}, "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-41177be15cc519af", "name": "Commented-code block (5 lines) in extensions/browser/src/browser/pw-tools-core.interactions.ts:116", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/pw-tools-core.interactions.ts:116"}, "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-2976999bea8524d8", "name": "Commented-code block (5 lines) in extensions/browser/src/browser/pw-tools-core.snapshot.navigate-guard.test.ts:151", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/pw-tools-core.snapshot.navigate-guard.test.ts:151"}, "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-a8a8615b0e2d75f5", "name": "Commented-code block (5 lines) in extensions/browser/src/browser/chrome.test.ts:669", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/chrome.test.ts:669"}, "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-50d21aac2d8d4e81", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/chrome.test.ts:782", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/chrome.test.ts:782"}, "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-5fda1439b3c8f88a", "name": "Commented-code block (5 lines) in extensions/browser/src/browser/cdp.ts:219", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/cdp.ts:219"}, "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-f5fddae47b885542", "name": "Commented-code block (7 lines) in extensions/browser/src/browser/cdp.helpers.internal.test.ts:490", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/browser/src/browser/cdp.helpers.internal.test.ts:490"}, "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-19de485c843561b8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/bridge-server.auth.test.ts:54", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/bridge-server.auth.test.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-ec5a21473b91fc8a", "name": "Commented-code block (5 lines) in extensions/browser/src/browser/errors.ts:110", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/errors.ts:110"}, "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-6766c27a5fb1e19c", "name": "Commented-code block (5 lines) in extensions/browser/src/browser/pw-session.ts:1265", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/pw-session.ts:1265"}, "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-1134dba0049490df", "name": "Commented-code block (5 lines) in extensions/browser/src/browser/routes/agent.act.existing-session-navigation-guard.test", "shortDescription": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/routes/agent.act.existing-session-navigation-guard.test.ts:310"}, "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-159b5e75ccdc6d3f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/test-support/fetch.ts:30", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/test-support/fetch.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-e45ec5c2c01cf070", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/web/src/app.ts:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/web/src/app.ts:22"}, "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-8f0af19db55112d2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/lab-server.test.ts:340", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/lab-server.test.ts:340"}, "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-d48f7e19b2c1e455", "name": "Commented-code block (6 lines) in extensions/qa-lab/src/agentic-parity-report.ts:143", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/qa-lab/src/agentic-parity-report.ts:143"}, "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-93c4b60afd099142", "name": "Commented-code block (7 lines) in extensions/qa-lab/src/agentic-parity-report.test.ts:415", "shortDescription": {"text": "Commented-code block (7 lines) in extensions/qa-lab/src/agentic-parity-report.test.ts:415"}, "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-e9e433c4cb78ea2f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/bus-server.test.ts:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/bus-server.test.ts:46"}, "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-be245a85cb301bcc", "name": "Commented-code block (6 lines) in extensions/qa-lab/src/suite.ts:1278", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/qa-lab/src/suite.ts:1278"}, "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-3313fc752c45c2d3", "name": "Commented-code block (10 lines) in extensions/qa-lab/src/providers/mock-openai/server.test.ts:3909", "shortDescription": {"text": "Commented-code block (10 lines) in extensions/qa-lab/src/providers/mock-openai/server.test.ts:3909"}, "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-eaf67237219aedc9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/providers/mock-openai/server.test.ts:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/providers/mock-openai/server.test.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-711a6210210a49f8", "name": "Commented-code block (6 lines) in extensions/qa-lab/src/providers/mock-openai/server.ts:112", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/qa-lab/src/providers/mock-openai/server.ts:112"}, "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-ee0ac00fe2d9db0f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/providers/aimock/server.test.ts:38", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/providers/aimock/server.test.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-209b9b117d5a046c", "name": "Commented-code block (6 lines) in extensions/tlon/src/urbit/story.ts:122", "shortDescription": {"text": "Commented-code block (6 lines) in extensions/tlon/src/urbit/story.ts:122"}, "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-8b13b01a180f962f", "name": "Commented-code block (5 lines) in packages/media-core/src/mime.ts:137", "shortDescription": {"text": "Commented-code block (5 lines) in packages/media-core/src/mime.ts:137"}, "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-c4f56282dad92a2a", "name": "Legacy-named symbol `eleven_multilingual_v2` in packages/speech-core/src/tts.test.ts:616", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in packages/speech-core/src/tts.test.ts:616"}, "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-d721525a7655b6fe", "name": "Commented-code block (5 lines) in packages/speech-core/src/tts.test.ts:38", "shortDescription": {"text": "Commented-code block (5 lines) in packages/speech-core/src/tts.test.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-8e739d81acf5056f", "name": "Commented-code block (6 lines) in packages/speech-core/src/tts.ts:1401", "shortDescription": {"text": "Commented-code block (6 lines) in packages/speech-core/src/tts.ts:1401"}, "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-a7d505ad27b15a19", "name": "Commented-code block (5 lines) in packages/memory-host-sdk/src/host/sqlite-vec.ts:68", "shortDescription": {"text": "Commented-code block (5 lines) in packages/memory-host-sdk/src/host/sqlite-vec.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5c3e8b1b5f2620c", "name": "Commented-code block (7 lines) in packages/memory-host-sdk/src/host/session-files.ts:655", "shortDescription": {"text": "Commented-code block (7 lines) in packages/memory-host-sdk/src/host/session-files.ts:655"}, "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-f7d410000e00defc", "name": "Legacy-named symbol `existingLegacy` in packages/memory-host-sdk/src/host/config-utils.ts:279", "shortDescription": {"text": "Legacy-named symbol `existingLegacy` in packages/memory-host-sdk/src/host/config-utils.ts:279"}, "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-a815f26aaff61117", "name": "`fetch()` without try/.catch or AbortSignal \u2014 skills/meme-maker/scripts/meme.mjs:158", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/meme-maker/scripts/meme.mjs:158"}, "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-7b57beaa9d9720e3", "name": "Commented-code block (8 lines) in src/poll-params.ts:78", "shortDescription": {"text": "Commented-code block (8 lines) in src/poll-params.ts:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe51f18f7be48489", "name": "Commented-code block (6 lines) in src/poll-params.test.ts:46", "shortDescription": {"text": "Commented-code block (6 lines) in src/poll-params.test.ts:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b7a2796e4979a49a", "name": "Commented-code block (5 lines) in src/entry.ts:79", "shortDescription": {"text": "Commented-code block (5 lines) in src/entry.ts:79"}, "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-a7e8561d96d0a172", "name": "Commented-code block (5 lines) in src/docker-setup.e2e.test.ts:851", "shortDescription": {"text": "Commented-code block (5 lines) in src/docker-setup.e2e.test.ts:851"}, "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-9146235381c0fe41", "name": "Legacy-named symbol `gpt4_legacy` in src/security/audit-extra.sync.ts:171", "shortDescription": {"text": "Legacy-named symbol `gpt4_legacy` in src/security/audit-extra.sync.ts:171"}, "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-9d8b7642cc01c56d", "name": "Commented-code block (5 lines) in src/security/windows-acl.test.ts:234", "shortDescription": {"text": "Commented-code block (5 lines) in src/security/windows-acl.test.ts:234"}, "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-cb7a57a0412c7089", "name": "Commented-code block (5 lines) in src/flows/channel-setup.test.ts:778", "shortDescription": {"text": "Commented-code block (5 lines) in src/flows/channel-setup.test.ts:778"}, "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-f048efb098382352", "name": "Commented-code block (12 lines) in src/flows/search-setup.ts:439", "shortDescription": {"text": "Commented-code block (12 lines) in src/flows/search-setup.ts:439"}, "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-c5dd007938a2803a", "name": "Commented-code block (5 lines) in src/flows/channel-setup.ts:324", "shortDescription": {"text": "Commented-code block (5 lines) in src/flows/channel-setup.ts:324"}, "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-4ee6aadb05a43602", "name": "Commented-code block (6 lines) in src/process/command-queue.ts:117", "shortDescription": {"text": "Commented-code block (6 lines) in src/process/command-queue.ts:117"}, "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-721d055eacbc73af", "name": "Commented-code block (5 lines) in src/process/command-queue.test.ts:752", "shortDescription": {"text": "Commented-code block (5 lines) in src/process/command-queue.test.ts:752"}, "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-34941a819e4df199", "name": "Commented-code block (5 lines) in src/process/exec.ts:170", "shortDescription": {"text": "Commented-code block (5 lines) in src/process/exec.ts:170"}, "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-c28e4a1c434e141b", "name": "Commented-code block (5 lines) in src/process/supervisor/adapters/child.ts:355", "shortDescription": {"text": "Commented-code block (5 lines) in src/process/supervisor/adapters/child.ts:355"}, "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-c0488877d87979a5", "name": "Commented-code block (5 lines) in src/routing/bound-account-read.ts:109", "shortDescription": {"text": "Commented-code block (5 lines) in src/routing/bound-account-read.ts:109"}, "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-634ac0896e314eba", "name": "Commented-code block (9 lines) in src/model-catalog/manifest-planner.test.ts:141", "shortDescription": {"text": "Commented-code block (9 lines) in src/model-catalog/manifest-planner.test.ts:141"}, "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-e0a78196dcd3cfc8", "name": "Commented-code block (9 lines) in src/model-catalog/provider-index/openclaw-provider-index.ts:4", "shortDescription": {"text": "Commented-code block (9 lines) in src/model-catalog/provider-index/openclaw-provider-index.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-9fa382dcaa7295fb", "name": "Legacy-named symbol `isLegacy` in src/context-engine/registry.ts:301", "shortDescription": {"text": "Legacy-named symbol `isLegacy` in src/context-engine/registry.ts: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-daae20e22cfb7cfd", "name": "Legacy-named symbol `eleven_multilingual_v2` in src/config/zod-schema.agent-defaults.test.ts:82", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/config/zod-schema.agent-defaults.test.ts:82"}, "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-e8adb90ae3776ba8", "name": "Commented-code block (5 lines) in src/config/io.audit.ts:49", "shortDescription": {"text": "Commented-code block (5 lines) in src/config/io.audit.ts:49"}, "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-e0666dcf70222a1c", "name": "Commented-code block (10 lines) in src/config/group-policy.ts:344", "shortDescription": {"text": "Commented-code block (10 lines) in src/config/group-policy.ts:344"}, "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-484ddffed63e49aa", "name": "Commented-code block (5 lines) in src/config/state-dir-dotenv.ts:33", "shortDescription": {"text": "Commented-code block (5 lines) in src/config/state-dir-dotenv.ts:33"}, "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-01e09eb2f82de748", "name": "Legacy-named symbol `existingLegacy` in src/config/paths.ts:80", "shortDescription": {"text": "Legacy-named symbol `existingLegacy` in src/config/paths.ts: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-25f5f479df6129cb", "name": "Commented-code block (8 lines) in src/config/io.ts:2278", "shortDescription": {"text": "Commented-code block (8 lines) in src/config/io.ts:2278"}, "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-2d13a23a57f961b9", "name": "Commented-code block (7 lines) in src/config/redact-snapshot.ts:99", "shortDescription": {"text": "Commented-code block (7 lines) in src/config/redact-snapshot.ts:99"}, "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-c131cb5b1a137c3b", "name": "Commented-code block (7 lines) in src/config/agent-dirs.test.ts:12", "shortDescription": {"text": "Commented-code block (7 lines) in src/config/agent-dirs.test.ts:12"}, "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-240c43dd1c947108", "name": "Legacy-named symbol `prod_v2` in src/config/state-dir-dotenv.test.ts:62", "shortDescription": {"text": "Legacy-named symbol `prod_v2` in src/config/state-dir-dotenv.test.ts:62"}, "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-527f7f58cadd88bf", "name": "Commented-code block (6 lines) in src/config/sessions/transcript.ts:182", "shortDescription": {"text": "Commented-code block (6 lines) in src/config/sessions/transcript.ts:182"}, "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-8e82f68c7bf8ce3c", "name": "Commented-code block (6 lines) in src/config/sessions/store-load.ts:334", "shortDescription": {"text": "Commented-code block (6 lines) in src/config/sessions/store-load.ts:334"}, "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-8651e2a883413aad", "name": "Commented-code block (7 lines) in src/config/sessions/transcript-stream.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in src/config/sessions/transcript-stream.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-e68cdc3d8c5b831a", "name": "Legacy-named symbol `rawLegacy` in src/config/sessions/store.skills-stripping.test.ts:136", "shortDescription": {"text": "Legacy-named symbol `rawLegacy` in src/config/sessions/store.skills-stripping.test.ts:136"}, "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-fa28b028762f1294", "name": "Commented-code block (6 lines) in src/config/sessions/artifacts.ts:53", "shortDescription": {"text": "Commented-code block (6 lines) in src/config/sessions/artifacts.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-72a2af1762cece48", "name": "Commented-code block (5 lines) in src/tui/tui-session-actions.ts:521", "shortDescription": {"text": "Commented-code block (5 lines) in src/tui/tui-session-actions.ts:521"}, "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-31a1524ef2119c51", "name": "Commented-code block (6 lines) in src/media/web-media.ts:241", "shortDescription": {"text": "Commented-code block (6 lines) in src/media/web-media.ts:241"}, "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-899b6ba89f96ab8a", "name": "Legacy-named symbol `hasLegacy` in src/commands/doctor-state-migrations.test.ts:756", "shortDescription": {"text": "Legacy-named symbol `hasLegacy` in src/commands/doctor-state-migrations.test.ts:756"}, "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-3e4ae5dd7b10d602", "name": "Legacy-named symbol `activeOrLegacy` in src/commands/doctor-gateway-services.ts:221", "shortDescription": {"text": "Legacy-named symbol `activeOrLegacy` in src/commands/doctor-gateway-services.ts:221"}, "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-137cd374c6469f98", "name": "Commented-code block (6 lines) in src/commands/sessions.acp-model-display.test.ts:169", "shortDescription": {"text": "Commented-code block (6 lines) in src/commands/sessions.acp-model-display.test.ts:169"}, "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-0f9519eb486cf7d7", "name": "Commented-code block (7 lines) in src/commands/doctor-memory-search.ts:539", "shortDescription": {"text": "Commented-code block (7 lines) in src/commands/doctor-memory-search.ts:539"}, "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-bf0f24b05704eac4", "name": "Commented-code block (7 lines) in src/commands/doctor-gateway-health.ts:151", "shortDescription": {"text": "Commented-code block (7 lines) in src/commands/doctor-gateway-health.ts:151"}, "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-491369ced179968e", "name": "Commented-code block (5 lines) in src/commands/channels.logs.test.ts:146", "shortDescription": {"text": "Commented-code block (5 lines) in src/commands/channels.logs.test.ts:146"}, "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-b0f2cea71a499a70", "name": "Legacy-named symbol `removedLegacy` in src/commands/doctor-workspace.ts:170", "shortDescription": {"text": "Legacy-named symbol `removedLegacy` in src/commands/doctor-workspace.ts:170"}, "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-bf9e6c919aea5185", "name": "Legacy-named symbol `removedLegacy` in src/commands/doctor-workspace.test.ts:80", "shortDescription": {"text": "Legacy-named symbol `removedLegacy` in src/commands/doctor-workspace.test.ts: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-058cbc5b54bd4cbc", "name": "Commented-code block (8 lines) in src/commands/onboarding-plugin-install.ts:383", "shortDescription": {"text": "Commented-code block (8 lines) in src/commands/onboarding-plugin-install.ts:383"}, "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-d4ad56e36c067d23", "name": "Commented-code block (6 lines) in src/commands/sessions.acp-runtime-metadata.test.ts:138", "shortDescription": {"text": "Commented-code block (6 lines) in src/commands/sessions.acp-runtime-metadata.test.ts:138"}, "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-ea7c7568e08d5822", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/commands/chutes-oauth.test.ts:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/commands/chutes-oauth.test.ts:56"}, "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-bc01f2fd338c65bc", "name": "Commented-code block (5 lines) in src/commands/sessions.kind-classification.test.ts:156", "shortDescription": {"text": "Commented-code block (5 lines) in src/commands/sessions.kind-classification.test.ts:156"}, "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-a31003161637eaae", "name": "Commented-code block (5 lines) in src/commands/doctor-memory-search.test.ts:668", "shortDescription": {"text": "Commented-code block (5 lines) in src/commands/doctor-memory-search.test.ts:668"}, "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-de1f7e508b315a1e", "name": "Legacy-named symbol `hasLegacy` in src/commands/doctor.e2e-harness.ts:214", "shortDescription": {"text": "Legacy-named symbol `hasLegacy` in src/commands/doctor.e2e-harness.ts:214"}, "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-8738952e6028cdbd", "name": "Commented-code block (6 lines) in src/commands/agents.commands.list.ts:105", "shortDescription": {"text": "Commented-code block (6 lines) in src/commands/agents.commands.list.ts:105"}, "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-d309b5991ec6d51b", "name": "Commented-code block (5 lines) in src/commands/doctor/shared/config-flow-steps.ts:50", "shortDescription": {"text": "Commented-code block (5 lines) in src/commands/doctor/shared/config-flow-steps.ts:50"}, "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-d815ec055697f75e", "name": "Legacy-named symbol `oldLegacy` in src/commands/doctor/shared/bundled-plugin-load-paths.ts:81", "shortDescription": {"text": "Legacy-named symbol `oldLegacy` in src/commands/doctor/shared/bundled-plugin-load-paths.ts:81"}, "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-15e3a610ede79d92", "name": "Legacy-named symbol `nextLegacy` in src/commands/doctor/shared/legacy-x-search-migrate.ts:62", "shortDescription": {"text": "Legacy-named symbol `nextLegacy` in src/commands/doctor/shared/legacy-x-search-migrate.ts:62"}, "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-03d4322a3b677f2e", "name": "Commented-code block (5 lines) in src/commands/doctor/shared/missing-configured-plugin-install.ts:1539", "shortDescription": {"text": "Commented-code block (5 lines) in src/commands/doctor/shared/missing-configured-plugin-install.ts:1539"}, "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-b0c0fbf4896fd833", "name": "Legacy-named symbol `normalizedLegacy` in src/commands/doctor/cron/store-migration.ts:582", "shortDescription": {"text": "Legacy-named symbol `normalizedLegacy` in src/commands/doctor/cron/store-migration.ts:582"}, "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-34e9fa1c4e1cfe1a", "name": "Commented-code block (8 lines) in src/commands/models/auth.ts:1019", "shortDescription": {"text": "Commented-code block (8 lines) in src/commands/models/auth.ts:1019"}, "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-3f98ce75e6c4ff96", "name": "Commented-code block (5 lines) in src/commands/channels/list.ts:219", "shortDescription": {"text": "Commented-code block (5 lines) in src/commands/channels/list.ts:219"}, "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-ae44628f090a1275", "name": "Commented-code block (5 lines) in src/cli/run-main-policy.ts:327", "shortDescription": {"text": "Commented-code block (5 lines) in src/cli/run-main-policy.ts:327"}, "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-a3e3f404c01ad169", "name": "Commented-code block (5 lines) in src/cli/secrets-cli.ts:246", "shortDescription": {"text": "Commented-code block (5 lines) in src/cli/secrets-cli.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-749d045bbadb2a83", "name": "Commented-code block (7 lines) in src/cli/tagline.test.ts:37", "shortDescription": {"text": "Commented-code block (7 lines) in src/cli/tagline.test.ts: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-4a90edcfad6c47a3", "name": "Commented-code block (7 lines) in src/cli/wait.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/cli/wait.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-a5c60b309f104d72", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/cli/nodes-camera.test.ts:14", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/cli/nodes-camera.test.ts:14"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-07078839d118c657", "name": "Commented-code block (5 lines) in src/cli/run-main.test.ts:624", "shortDescription": {"text": "Commented-code block (5 lines) in src/cli/run-main.test.ts:624"}, "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-37836798a507a145", "name": "Commented-code block (5 lines) in src/cli/config-cli.test.ts:816", "shortDescription": {"text": "Commented-code block (5 lines) in src/cli/config-cli.test.ts:816"}, "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-5c8760d6f45915e6", "name": "Commented-code block (5 lines) in src/cli/update-cli/update-command.test.ts:683", "shortDescription": {"text": "Commented-code block (5 lines) in src/cli/update-cli/update-command.test.ts:683"}, "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-f91df1b743ebe481", "name": "Commented-code block (7 lines) in src/cli/update-cli/post-core-plugin-convergence.ts:134", "shortDescription": {"text": "Commented-code block (7 lines) in src/cli/update-cli/post-core-plugin-convergence.ts:134"}, "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-92d958951466bbe0", "name": "Commented-code block (5 lines) in src/cli/update-cli/update-command.ts:1884", "shortDescription": {"text": "Commented-code block (5 lines) in src/cli/update-cli/update-command.ts:1884"}, "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-eb5cb30f1ca20495", "name": "Commented-code block (13 lines) in src/cli/gateway-cli/run-loop.ts:111", "shortDescription": {"text": "Commented-code block (13 lines) in src/cli/gateway-cli/run-loop.ts:111"}, "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-ca422b0c42d56b89", "name": "Commented-code block (6 lines) in src/sessions/user-turn-transcript.ts:300", "shortDescription": {"text": "Commented-code block (6 lines) in src/sessions/user-turn-transcript.ts:300"}, "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-93df06d453314ea3", "name": "Legacy-named symbol `builtInLegacy` in src/sessions/session-chat-type-shared.ts:38", "shortDescription": {"text": "Legacy-named symbol `builtInLegacy` in src/sessions/session-chat-type-shared.ts:38"}, "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-17602754fcb96ed3", "name": "Legacy-named symbol `freshLegacy` in src/sessions/session-key-case-preservation.test.ts:399", "shortDescription": {"text": "Legacy-named symbol `freshLegacy` in src/sessions/session-key-case-preservation.test.ts:399"}, "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-3cf71ed5f2a42f22", "name": "Commented-code block (6 lines) in src/utils/message-channel-constants.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in src/utils/message-channel-constants.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-cf4f37039c231720", "name": "Commented-code block (9 lines) in src/media-understanding/shared.ts:425", "shortDescription": {"text": "Commented-code block (9 lines) in src/media-understanding/shared.ts:425"}, "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-9d3c1c981a3b5547", "name": "Commented-code block (5 lines) in src/media-understanding/runner.ts:319", "shortDescription": {"text": "Commented-code block (5 lines) in src/media-understanding/runner.ts:319"}, "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-fae8de5672cbcd80", "name": "Commented-code block (8 lines) in src/tasks/task-registry.ts:335", "shortDescription": {"text": "Commented-code block (8 lines) in src/tasks/task-registry.ts:335"}, "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-3267126dbbf69c92", "name": "Commented-code block (5 lines) in src/tasks/task-registry.store.test.ts:821", "shortDescription": {"text": "Commented-code block (5 lines) in src/tasks/task-registry.store.test.ts:821"}, "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-3c4b6e9bf41e82bb", "name": "Commented-code block (5 lines) in src/status/status-message.ts:612", "shortDescription": {"text": "Commented-code block (5 lines) in src/status/status-message.ts:612"}, "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-585bd7889e61e51b", "name": "Commented-code block (6 lines) in src/daemon/launchd-restart-handoff.ts:143", "shortDescription": {"text": "Commented-code block (6 lines) in src/daemon/launchd-restart-handoff.ts:143"}, "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-9d17ca1428673c95", "name": "Commented-code block (8 lines) in src/daemon/schtasks.ts:126", "shortDescription": {"text": "Commented-code block (8 lines) in src/daemon/schtasks.ts:126"}, "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-bf57e69330118394", "name": "Commented-code block (6 lines) in src/daemon/systemd.ts:931", "shortDescription": {"text": "Commented-code block (6 lines) in src/daemon/systemd.ts:931"}, "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-25c4d195ee41219c", "name": "Commented-code block (5 lines) in src/daemon/program-args.ts:48", "shortDescription": {"text": "Commented-code block (5 lines) in src/daemon/program-args.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0ac09047f8baaf9", "name": "Commented-code block (5 lines) in src/agents/openclaw-tools.update-plan.test.ts:232", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/openclaw-tools.update-plan.test.ts:232"}, "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-9603dd9a1518155b", "name": "Commented-code block (5 lines) in src/agents/cli-session.test.ts:288", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/cli-session.test.ts:288"}, "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-55a71a3fc5706ad8", "name": "Commented-code block (6 lines) in src/agents/subagent-registry-lifecycle.ts:1259", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/subagent-registry-lifecycle.ts:1259"}, "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-3f110b6673413178", "name": "Legacy-named symbol `ToolExecuteArgsLegacy` in src/agents/agent-tool-definition-adapter.ts:46", "shortDescription": {"text": "Legacy-named symbol `ToolExecuteArgsLegacy` in src/agents/agent-tool-definition-adapter.ts:46"}, "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-dd8bb35d9ac3503f", "name": "Legacy-named symbol `isLegacy` in src/agents/subagent-registry.store.ts:131", "shortDescription": {"text": "Legacy-named symbol `isLegacy` in src/agents/subagent-registry.store.ts:131"}, "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-91094de1d5e5070b", "name": "Commented-code block (5 lines) in src/agents/session-transcript-repair.ts:157", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/session-transcript-repair.ts:157"}, "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-fcae9540ee3f4fe6", "name": "Legacy-named symbol `req_legacy` in src/agents/provider-http-errors.test.ts:160", "shortDescription": {"text": "Legacy-named symbol `req_legacy` in src/agents/provider-http-errors.test.ts:160"}, "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-fd9f01160096dd58", "name": "Commented-code block (5 lines) in src/agents/session-file-repair.ts:414", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/session-file-repair.ts:414"}, "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-9862e6297dddee52", "name": "Commented-code block (7 lines) in src/agents/cli-credentials.ts:411", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/cli-credentials.ts:411"}, "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-a8495caa0486770d", "name": "Commented-code block (5 lines) in src/agents/openai-transport-stream.ts:1170", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/openai-transport-stream.ts:1170"}, "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-d489caf57b546bfe", "name": "Commented-code block (6 lines) in src/agents/exec-approval-result.ts:31", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/exec-approval-result.ts:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-297338a16a92d22e", "name": "Commented-code block (7 lines) in src/agents/cli-auth-epoch.ts:99", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/cli-auth-epoch.ts:99"}, "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-ec71348ea2b63d32", "name": "Commented-code block (5 lines) in src/agents/exec-approval-result.test.ts:35", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/exec-approval-result.test.ts:35"}, "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-6de312b7d69c7b8c", "name": "Commented-code block (9 lines) in src/agents/bash-tools.exec.ts:1548", "shortDescription": {"text": "Commented-code block (9 lines) in src/agents/bash-tools.exec.ts:1548"}, "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-a720372b6b1393b2", "name": "Commented-code block (5 lines) in src/agents/spawn-requester-origin.ts:11", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/spawn-requester-origin.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc41aa8f1e2d310a", "name": "Commented-code block (6 lines) in src/agents/model-provider-auth.ts:134", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/model-provider-auth.ts:134"}, "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-f24b8f471bc0265b", "name": "Commented-code block (5 lines) in src/agents/model-fallback.run-embedded.e2e.test.ts:729", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/model-fallback.run-embedded.e2e.test.ts:729"}, "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-5a02c9136124ca1b", "name": "Legacy-named symbol `eleven_multilingual_v2` in src/agents/auth-profiles.external-cli-scope.test.ts:59", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/agents/auth-profiles.external-cli-scope.test.ts:59"}, "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-e730ce151dc2095b", "name": "Commented-code block (11 lines) in src/agents/stream-message-shared.ts:80", "shortDescription": {"text": "Commented-code block (11 lines) in src/agents/stream-message-shared.ts:80"}, "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-7da435202d5e1b85", "name": "Commented-code block (5 lines) in src/agents/bash-tools.exec-runtime.ts:738", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/bash-tools.exec-runtime.ts:738"}, "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-70785b8a58a1e015", "name": "Legacy-named symbol `at_old` in src/agents/auth-profiles.chutes.test.ts:67", "shortDescription": {"text": "Legacy-named symbol `at_old` in src/agents/auth-profiles.chutes.test.ts:67"}, "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-a85bc13144d8c6e0", "name": "Commented-code block (5 lines) in src/agents/subagent-announce-delivery.test.ts:841", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/subagent-announce-delivery.test.ts:841"}, "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-6335f217c912871d", "name": "Commented-code block (6 lines) in src/agents/agent-tools-parameter-schema.ts:763", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/agent-tools-parameter-schema.ts:763"}, "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-40baa6b74073f2df", "name": "Commented-code block (5 lines) in src/agents/context.ts:256", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/context.ts:256"}, "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-cd905c4f0cf7119b", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-subscribe.ts:488", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-subscribe.ts:488"}, "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-a9aef42311454983", "name": "Commented-code block (5 lines) in src/agents/model-auth.ts:996", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/model-auth.ts:996"}, "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-ad29c49543f961aa", "name": "Commented-code block (5 lines) in src/agents/subagent-announce.ts:414", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/subagent-announce.ts:414"}, "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-dd93cecfac59473c", "name": "Commented-code block (6 lines) in src/agents/tool-mutation.ts:106", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/tool-mutation.ts:106"}, "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-06e59531d0f15a05", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/mcp-http-fetch.test.ts:99", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/mcp-http-fetch.test.ts:99"}, "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-830caaef7481dd4a", "name": "Commented-code block (5 lines) in src/agents/subagent-registry-lifecycle.test.ts:1321", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/subagent-registry-lifecycle.test.ts:1321"}, "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-119146778074a66c", "name": "Commented-code block (6 lines) in src/agents/subagent-spawn.ts:244", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/subagent-spawn.ts:244"}, "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-989b1549d8a64073", "name": "Commented-code block (6 lines) in src/agents/tool-call-id.ts:455", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/tool-call-id.ts:455"}, "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-46d68966b3a31ed9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/provider-headers.live.test.ts:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/provider-headers.live.test.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-d13995dce53c153a", "name": "Commented-code block (5 lines) in src/agents/agent-settings.test.ts:168", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/agent-settings.test.ts:168"}, "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-2fc06f32b374832a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/mcp-http-fetch.ts:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/mcp-http-fetch.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-c1085a8d92ccc1b3", "name": "Legacy-named symbol `toolu_legacy` in src/agents/embedded-agent-runner.sanitize-session-history.test.ts:1204", "shortDescription": {"text": "Legacy-named symbol `toolu_legacy` in src/agents/embedded-agent-runner.sanitize-session-history.test.ts:1204"}, "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-ade16daa89db478f", "name": "Commented-code block (6 lines) in src/agents/model-fallback.ts:1071", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/model-fallback.ts:1071"}, "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-97d782cae755c726", "name": "Commented-code block (5 lines) in src/agents/openai-transport-stream.test.ts:10372", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/openai-transport-stream.test.ts:10372"}, "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-67ce4555e974a1db", "name": "Commented-code block (6 lines) in src/agents/session-tool-result-guard.ts:756", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/session-tool-result-guard.ts:756"}, "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-14e2ed2d10d5c1c3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/provider-local-service.test.ts:106", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/provider-local-service.test.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-c13b650390f7f71b", "name": "Commented-code block (6 lines) in src/agents/agent-bundle-mcp-materialize.ts:25", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/agent-bundle-mcp-materialize.ts:25"}, "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-83d56bb84a3b1d59", "name": "Legacy-named symbol `call_legacy` in src/agents/btw.test.ts:1246", "shortDescription": {"text": "Legacy-named symbol `call_legacy` in src/agents/btw.test.ts:1246"}, "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-065a46a4716217fa", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-subscribe.handlers.messages.ts:557", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-subscribe.handlers.messages.ts:557"}, "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-58a0660d7d3f9f4c", "name": "Commented-code block (8 lines) in src/agents/provider-attribution.ts:739", "shortDescription": {"text": "Commented-code block (8 lines) in src/agents/provider-attribution.ts:739"}, "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-a8d485e4ee9ff026", "name": "Commented-code block (5 lines) in src/agents/agent-settings.ts:88", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/agent-settings.ts:88"}, "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-1846000368ea6c23", "name": "Commented-code block (7 lines) in src/agents/acp-spawn.ts:909", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/acp-spawn.ts:909"}, "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-466c67f369226c77", "name": "Legacy-named symbol `item_legacy` in src/agents/embedded-agent-subscribe.subscribe-embedded-agent-session.emits-block-re", "shortDescription": {"text": "Legacy-named symbol `item_legacy` in src/agents/embedded-agent-subscribe.subscribe-embedded-agent-session.emits-block-replies-text-end-does-not.test.ts:211"}, "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-fa727c70c49b443f", "name": "Commented-code block (6 lines) in src/agents/cli-runner.before-agent-reply-cron.test.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/cli-runner.before-agent-reply-cron.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-f772e887884c0c5a", "name": "Legacy-named symbol `at_old` in src/agents/chutes-oauth.flow.test.ts:22", "shortDescription": {"text": "Legacy-named symbol `at_old` in src/agents/chutes-oauth.flow.test.ts:22"}, "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-2df34b206fdce691", "name": "Commented-code block (11 lines) in src/agents/agent-bundle-mcp-tools.request-boundary.test.ts:12", "shortDescription": {"text": "Commented-code block (11 lines) in src/agents/agent-bundle-mcp-tools.request-boundary.test.ts:12"}, "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-8ebae1886fad33ea", "name": "Commented-code block (5 lines) in src/agents/shell-utils.ts:104", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/shell-utils.ts:104"}, "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-6bd22f790bcdbf40", "name": "Commented-code block (5 lines) in src/agents/session-write-lock.test.ts:1144", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/session-write-lock.test.ts:1144"}, "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-3077d4485adad800", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/embedded-agent-runner-extraparams.live.test.ts:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/embedded-agent-runner-extraparams.live.test.ts:92"}, "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-fed7d224669ad271", "name": "Commented-code block (5 lines) in src/agents/usage.ts:158", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/usage.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-7d312962112c5948", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-helpers/provider-error-patterns.ts:38", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-helpers/provider-error-patterns.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-bfc4f5997a965e7f", "name": "Commented-code block (6 lines) in src/agents/embedded-agent-helpers/openai.ts:495", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-helpers/openai.ts:495"}, "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-d755588a262d2fce", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-helpers/thinking.ts:42", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-helpers/thinking.ts:42"}, "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-72fc3b0752ddb373", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-helpers/errors.ts:871", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-helpers/errors.ts:871"}, "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-264a2c1d618a22c9", "name": "Commented-code block (9 lines) in src/agents/cli-runner/session-history.test.ts:687", "shortDescription": {"text": "Commented-code block (9 lines) in src/agents/cli-runner/session-history.test.ts:687"}, "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-fc33cc53fc5db7d7", "name": "Commented-code block (5 lines) in src/agents/cli-runner/bundle-mcp-codex.ts:12", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/cli-runner/bundle-mcp-codex.ts:12"}, "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-1c4328fc0dfa03ba", "name": "Commented-code block (5 lines) in src/agents/sessions/model-resolver.ts:364", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/sessions/model-resolver.ts:364"}, "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-f834e9af3c0e7ab8", "name": "Commented-code block (5 lines) in src/agents/sessions/auth-storage.test.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/sessions/auth-storage.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5bf93294e15ed34c", "name": "Commented-code block (5 lines) in src/agents/sessions/session-manager.ts:1332", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/sessions/session-manager.ts:1332"}, "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-1b8aa7618ba13da4", "name": "Commented-code block (7 lines) in src/agents/tools/sessions-send-tool.ts:577", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/tools/sessions-send-tool.ts:577"}, "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-aa76fbd048192d56", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/tools/pdf-native-providers.ts:119", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/tools/pdf-native-providers.ts:119"}, "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-8babc007708d0d20", "name": "Commented-code block (5 lines) in src/agents/tools/image-tool.ts:882", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/tools/image-tool.ts:882"}, "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-753f0fde3d350937", "name": "Commented-code block (6 lines) in src/agents/tools/nodes-tool-commands.ts:129", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/tools/nodes-tool-commands.ts:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d96c5c6d43ab96c4", "name": "Commented-code block (5 lines) in src/agents/tools/cron-tool.ts:216", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/tools/cron-tool.ts:216"}, "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-2ca0b05dd3f4db46", "name": "Commented-code block (9 lines) in src/agents/tools/video-generate-tool.ts:515", "shortDescription": {"text": "Commented-code block (9 lines) in src/agents/tools/video-generate-tool.ts:515"}, "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-94e727a2ede4ede8", "name": "Commented-code block (10 lines) in src/agents/tools/message-tool.ts:1234", "shortDescription": {"text": "Commented-code block (10 lines) in src/agents/tools/message-tool.ts:1234"}, "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-49890afd17f6e046", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/tools/image-tool.test.ts:513", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/tools/image-tool.test.ts:513"}, "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-0f606657b554f178", "name": "Commented-code block (12 lines) in src/agents/auth-profiles/oauth.mirror-refresh.test.ts:366", "shortDescription": {"text": "Commented-code block (12 lines) in src/agents/auth-profiles/oauth.mirror-refresh.test.ts:366"}, "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-731fffa63671a719", "name": "Commented-code block (5 lines) in src/agents/auth-profiles/constants.ts:37", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/auth-profiles/constants.ts: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-52920d53bf62f158", "name": "Commented-code block (5 lines) in src/agents/auth-profiles/external-cli-sync.ts:56", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/auth-profiles/external-cli-sync.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-5f654c0a8f98cfc0", "name": "Legacy-named symbol `nonLegacy` in src/agents/auth-profiles/repair.ts:83", "shortDescription": {"text": "Legacy-named symbol `nonLegacy` in src/agents/auth-profiles/repair.ts:83"}, "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-683594da3141b8d5", "name": "Commented-code block (7 lines) in src/agents/auth-profiles/oauth-refresh-queue.test.ts:126", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/auth-profiles/oauth-refresh-queue.test.ts:126"}, "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-bee25269afcf2fa9", "name": "Commented-code block (6 lines) in src/agents/auth-profiles/usage.ts:597", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/auth-profiles/usage.ts:597"}, "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-a1bd04a85d54f13d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/auth-profiles/usage.ts:245", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/auth-profiles/usage.ts:245"}, "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-4883843d0e594e48", "name": "Legacy-named symbol `call_old` in src/agents/agent-hooks/compaction-safeguard.test.ts:686", "shortDescription": {"text": "Legacy-named symbol `call_old` in src/agents/agent-hooks/compaction-safeguard.test.ts:686"}, "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-a026afc3d283a37e", "name": "Commented-code block (7 lines) in src/agents/agent-hooks/compaction-safeguard.ts:911", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/agent-hooks/compaction-safeguard.ts:911"}, "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-2f214f0c5d73a783", "name": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/compact.queued.ts:376", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/compact.queued.ts:376"}, "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-5f914883fc4bc05e", "name": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run.ts:1227", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run.ts:1227"}, "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-490f088f693c1412", "name": "Legacy-named symbol `call_old` in src/agents/embedded-agent-runner/tool-result-context-guard.test.ts:304", "shortDescription": {"text": "Legacy-named symbol `call_old` in src/agents/embedded-agent-runner/tool-result-context-guard.test.ts:304"}, "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-dbec52cde93ee2b3", "name": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/replay-history.ts:372", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/replay-history.ts:372"}, "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-e60d193c1475b8d2", "name": "Commented-code block (9 lines) in src/agents/embedded-agent-runner/stream-resolution.ts:181", "shortDescription": {"text": "Commented-code block (9 lines) in src/agents/embedded-agent-runner/stream-resolution.ts: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-b80bed7b15ade415", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/effective-tool-policy.ts:37", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/effective-tool-policy.ts: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-5d160820dca5516a", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/replay-history.test.ts:258", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/replay-history.test.ts:258"}, "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-17a45ea085e26711", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/model.ts:796", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/model.ts:796"}, "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-75bf246f2e4a7df3", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/stream-resolution.test.ts:16", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/stream-resolution.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-dc754054f38cb9e6", "name": "Legacy-named symbol `stale_sig_old` in src/agents/embedded-agent-runner/compaction-successor-transcript.test.ts:532", "shortDescription": {"text": "Legacy-named symbol `stale_sig_old` in src/agents/embedded-agent-runner/compaction-successor-transcript.test.ts:532"}, "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-b9cc44fcd96604e4", "name": "Legacy-named symbol `sig_old` in src/agents/embedded-agent-runner/thinking.test.ts:136", "shortDescription": {"text": "Legacy-named symbol `sig_old` in src/agents/embedded-agent-runner/thinking.test.ts:136"}, "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-99f755cc36b8a75c", "name": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/compact.ts:922", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/compact.ts:922"}, "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-744f2b5732c8c568", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/extra-params.ts:840", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/extra-params.ts:840"}, "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-53885dd39a1caea9", "name": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/prompt-cache-retention.ts:36", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/prompt-cache-retention.ts:36"}, "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-53afb69e890866ed", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/embedded-agent-runner/openrouter-model-capabilities.ts:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/embedded-agent-runner/openrouter-model-capabilities.ts: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-cb5d38a04ef71690", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.ts:2751", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.ts:2751"}, "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-1e39e47a4c617dc0", "name": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run/images.ts:444", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run/images.ts:444"}, "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-b2d3c41579c2f83d", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/llm-idle-timeout.test.ts:220", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/llm-idle-timeout.test.ts:220"}, "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-a470dde436d15463", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.media-hint-cache-boundary.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.media-hint-cache-boundary.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-2843ff3b7fa1df61", "name": "Commented-code block (9 lines) in src/agents/embedded-agent-runner/run/auth-profile-failure-policy.ts:19", "shortDescription": {"text": "Commented-code block (9 lines) in src/agents/embedded-agent-runner/run/auth-profile-failure-policy.ts: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-8810529139a39c66", "name": "Legacy-named symbol `nOld` in src/agents/embedded-agent-runner/run/attempt.llm-boundary.test.ts:82", "shortDescription": {"text": "Legacy-named symbol `nOld` in src/agents/embedded-agent-runner/run/attempt.llm-boundary.test.ts:82"}, "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-d6b1e6942b6528d9", "name": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run/llm-idle-timeout.ts:66", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run/llm-idle-timeout.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-bfa219c3455d45f2", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.model-diagnostic-events.ts:222", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.model-diagnostic-events.ts:222"}, "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-1d7510f72e73b9e7", "name": "Commented-code block (9 lines) in src/agents/embedded-agent-runner/run/attempt.run-decisions.ts:53", "shortDescription": {"text": "Commented-code block (9 lines) in src/agents/embedded-agent-runner/run/attempt.run-decisions.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-769b61e3bb866b81", "name": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/run/idle-timeout-breaker.test.ts:10", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/run/idle-timeout-breaker.test.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7cc2741822f629b9", "name": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/run/auth-controller.ts:377", "shortDescription": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/run/auth-controller.ts:377"}, "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-2b793db8b67e5510", "name": "Legacy-named symbol `toolu_legacy` in src/agents/embedded-agent-runner/run/attempt.test.ts:1712", "shortDescription": {"text": "Legacy-named symbol `toolu_legacy` in src/agents/embedded-agent-runner/run/attempt.test.ts:1712"}, "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-f93526b1c7533843", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/incomplete-turn.ts:114", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/incomplete-turn.ts:114"}, "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-e266a33df4323d9f", "name": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run/attempt.llm-boundary.ts:465", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run/attempt.llm-boundary.ts:465"}, "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-0a29468175dfe6dc", "name": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.prompt-helpers.ts:66", "shortDescription": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.prompt-helpers.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-6ec87dd2c8c3d6a4", "name": "Commented-code block (6 lines) in src/agents/command/attempt-execution.helpers.ts:283", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/command/attempt-execution.helpers.ts:283"}, "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-5fdf764f8c80619d", "name": "Legacy-named symbol `toolu_old` in src/agents/command/attempt-execution.test.ts:928", "shortDescription": {"text": "Legacy-named symbol `toolu_old` in src/agents/command/attempt-execution.test.ts:928"}, "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-b1c89709504fafef", "name": "Commented-code block (6 lines) in src/agents/harness/context-engine-lifecycle.test.ts:120", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/harness/context-engine-lifecycle.test.ts:120"}, "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-25a2198d99e9ff30", "name": "Commented-code block (6 lines) in src/agents/harness/native-hook-relay.ts:919", "shortDescription": {"text": "Commented-code block (6 lines) in src/agents/harness/native-hook-relay.ts:919"}, "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-7b59dd21750b9629", "name": "Commented-code block (5 lines) in src/test-utils/vitest-mock-fn.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/test-utils/vitest-mock-fn.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-326807d4d9aeadd7", "name": "Commented-code block (8 lines) in src/cron/active-jobs-manual-run.test.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/cron/active-jobs-manual-run.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-2d15e07aa1fb44fe", "name": "Commented-code block (8 lines) in src/cron/retry-hint.ts:10", "shortDescription": {"text": "Commented-code block (8 lines) in src/cron/retry-hint.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c2d60c4e97ea293", "name": "Commented-code block (5 lines) in src/cron/isolated-agent.run-timeout-override.test.ts:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/cron/isolated-agent.run-timeout-override.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-70b55fa4ffa4c324", "name": "Commented-code block (6 lines) in src/cron/isolated-agent/run.ts:769", "shortDescription": {"text": "Commented-code block (6 lines) in src/cron/isolated-agent/run.ts:769"}, "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-ff878264507708ac", "name": "Commented-code block (5 lines) in src/cron/isolated-agent/delivery-dispatch.ts:1125", "shortDescription": {"text": "Commented-code block (5 lines) in src/cron/isolated-agent/delivery-dispatch.ts:1125"}, "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-b995ed52498fc737", "name": "Commented-code block (6 lines) in src/cron/isolated-agent/helpers.ts:305", "shortDescription": {"text": "Commented-code block (6 lines) in src/cron/isolated-agent/helpers.ts:305"}, "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-ca9ff730013cbdcb", "name": "Commented-code block (5 lines) in src/cron/service/wake-origin.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/cron/service/wake-origin.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-cdb7d42af62645a1", "name": "Commented-code block (5 lines) in src/cron/service/wake.ts:38", "shortDescription": {"text": "Commented-code block (5 lines) in src/cron/service/wake.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-8aa02cfafaae4ef5", "name": "Commented-code block (5 lines) in src/cron/service/wake-origin-delivery.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/cron/service/wake-origin-delivery.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-52d2673e2f8a3999", "name": "Commented-code block (8 lines) in src/cron/service/timer.ts:791", "shortDescription": {"text": "Commented-code block (8 lines) in src/cron/service/timer.ts:791"}, "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-07f563f1474d4c78", "name": "Commented-code block (5 lines) in src/hooks/bundled/session-memory/handler.test.ts:777", "shortDescription": {"text": "Commented-code block (5 lines) in src/hooks/bundled/session-memory/handler.test.ts:777"}, "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-f56b09946d24716b", "name": "Legacy-named symbol `deletedLegacy` in src/secrets/apply.ts:368", "shortDescription": {"text": "Legacy-named symbol `deletedLegacy` in src/secrets/apply.ts:368"}, "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-65440e078e5b97e0", "name": "Commented-code block (6 lines) in src/logging/diagnostic-run-activity.ts:500", "shortDescription": {"text": "Commented-code block (6 lines) in src/logging/diagnostic-run-activity.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-419937c54d4567e0", "name": "Commented-code block (6 lines) in src/logging/console.ts:191", "shortDescription": {"text": "Commented-code block (6 lines) in src/logging/console.ts:191"}, "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-9525a14ad5f08454", "name": "Commented-code block (7 lines) in src/logging/diagnostic.test.ts:1573", "shortDescription": {"text": "Commented-code block (7 lines) in src/logging/diagnostic.test.ts:1573"}, "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-65d5167dcc2475d9", "name": "Commented-code block (5 lines) in src/logging/redact.ts:268", "shortDescription": {"text": "Commented-code block (5 lines) in src/logging/redact.ts:268"}, "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-6dad4602a1ad652e", "name": "Commented-code block (7 lines) in src/channels/bundled-channel-catalog-read.test.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in src/channels/bundled-channel-catalog-read.test.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cbad8239f8c67bf1", "name": "Legacy-named symbol `readCanonicalOrLegacy` in src/channels/plugins/dm-access.ts:142", "shortDescription": {"text": "Legacy-named symbol `readCanonicalOrLegacy` in src/channels/plugins/dm-access.ts:142"}, "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-9234448a76d1e16c", "name": "Commented-code block (5 lines) in src/infra/restart-stale-pids.test.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/restart-stale-pids.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-10998fd65466f2b4", "name": "Commented-code block (6 lines) in src/infra/approval-handler-runtime.ts:530", "shortDescription": {"text": "Commented-code block (6 lines) in src/infra/approval-handler-runtime.ts:530"}, "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-e31b5f84edc5e308", "name": "Commented-code block (8 lines) in src/infra/exec-command-resolution.ts:305", "shortDescription": {"text": "Commented-code block (8 lines) in src/infra/exec-command-resolution.ts:305"}, "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-fa102f5cb0dacfa7", "name": "Commented-code block (6 lines) in src/infra/heartbeat-runner.ts:699", "shortDescription": {"text": "Commented-code block (6 lines) in src/infra/heartbeat-runner.ts:699"}, "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-6a93530c91691880", "name": "Legacy-named symbol `nodeOld` in src/infra/runtime-guard.test.ts:45", "shortDescription": {"text": "Legacy-named symbol `nodeOld` in src/infra/runtime-guard.test.ts:45"}, "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-d4caf7124ff0029e", "name": "Commented-code block (6 lines) in src/infra/retry.ts:87", "shortDescription": {"text": "Commented-code block (6 lines) in src/infra/retry.ts:87"}, "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-b9e1d846c03db801", "name": "Commented-code block (7 lines) in src/infra/restart-stale-pids.ts:99", "shortDescription": {"text": "Commented-code block (7 lines) in src/infra/restart-stale-pids.ts:99"}, "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-9299913f10d6bd76", "name": "Commented-code block (6 lines) in src/infra/exec-approvals-analysis.test.ts:423", "shortDescription": {"text": "Commented-code block (6 lines) in src/infra/exec-approvals-analysis.test.ts:423"}, "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-61522688fef4556d", "name": "Commented-code block (7 lines) in src/infra/tailscale.ts:457", "shortDescription": {"text": "Commented-code block (7 lines) in src/infra/tailscale.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-a2429aa8674ac523", "name": "Commented-code block (7 lines) in src/infra/heartbeat-cooldown.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in src/infra/heartbeat-cooldown.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-86a3c92a8c090f97", "name": "Commented-code block (8 lines) in src/infra/backup-create.ts:129", "shortDescription": {"text": "Commented-code block (8 lines) in src/infra/backup-create.ts:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e55b603dc5e60400", "name": "Commented-code block (5 lines) in src/infra/session-cost-usage.test.ts:2285", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/session-cost-usage.test.ts:2285"}, "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-221b9911386dc040", "name": "Commented-code block (5 lines) in src/infra/exec-approval-command-display.test.ts:70", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/exec-approval-command-display.test.ts:70"}, "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-93a9d4b8149759a5", "name": "Commented-code block (9 lines) in src/infra/heartbeat-runner.scheduler.test.ts:664", "shortDescription": {"text": "Commented-code block (9 lines) in src/infra/heartbeat-runner.scheduler.test.ts:664"}, "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-0257bc6ad124121d", "name": "Commented-code block (6 lines) in src/infra/exec-approvals-analysis.ts:438", "shortDescription": {"text": "Commented-code block (6 lines) in src/infra/exec-approvals-analysis.ts:438"}, "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-127b601afc6e11c9", "name": "Commented-code block (5 lines) in src/infra/install-package-dir.ts:267", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/install-package-dir.ts:267"}, "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-76a9eafbe7977b98", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/push-apns.relay.ts:229", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/push-apns.relay.ts:229"}, "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-0e0f40388c8391a5", "name": "Commented-code block (7 lines) in src/infra/exec-approval-command-display.ts:108", "shortDescription": {"text": "Commented-code block (7 lines) in src/infra/exec-approval-command-display.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-0f296ecd2d868930", "name": "Legacy-named symbol `hasLegacy` in src/infra/state-migrations.test.ts:199", "shortDescription": {"text": "Legacy-named symbol `hasLegacy` in src/infra/state-migrations.test.ts:199"}, "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-5653534e5f926d78", "name": "Commented-code block (6 lines) in src/infra/agent-events.ts:252", "shortDescription": {"text": "Commented-code block (6 lines) in src/infra/agent-events.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-5ff46074e41a21ad", "name": "Commented-code block (6 lines) in src/infra/session-cost-usage.ts:1043", "shortDescription": {"text": "Commented-code block (6 lines) in src/infra/session-cost-usage.ts:1043"}, "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-e2e30bfe3f045bd8", "name": "Commented-code block (5 lines) in src/infra/retry.retry-after-lower-bound.test.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/retry.retry-after-lower-bound.test.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80fd8b7b3f67d3f3", "name": "Commented-code block (5 lines) in src/infra/tmp-openclaw-dir.test.ts:528", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/tmp-openclaw-dir.test.ts:528"}, "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-7eeb2ada119dc59d", "name": "Legacy-named symbol `hasLegacy` in src/infra/state-migrations.ts:94", "shortDescription": {"text": "Legacy-named symbol `hasLegacy` in src/infra/state-migrations.ts:94"}, "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-24bf2b61d51a0972", "name": "Commented-code block (5 lines) in src/infra/state-migrations.ts:1810", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/state-migrations.ts:1810"}, "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-1a38e046b98b3057", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/net/runtime-fetch.ts:120", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/net/runtime-fetch.ts:120"}, "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-bd92415fc692e350", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/net/fetch-guard.ts:658", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/net/fetch-guard.ts:658"}, "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-2d0b89aa05184fa4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/net/fetch-guard.ssrf.test.ts:356", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/net/fetch-guard.ssrf.test.ts:356"}, "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-e8e29a261fb0df4e", "name": "Commented-code block (5 lines) in src/infra/outbound/message-action-runner.send-validation.test.ts:369", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/outbound/message-action-runner.send-validation.test.ts:369"}, "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-e6971e0c75de434f", "name": "Commented-code block (7 lines) in src/infra/outbound/deliver.ts:1020", "shortDescription": {"text": "Commented-code block (7 lines) in src/infra/outbound/deliver.ts:1020"}, "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-b1b08df8d0a9667c", "name": "Commented-code block (5 lines) in src/infra/outbound/delivery-queue.reconnect-drain.test.ts:467", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/outbound/delivery-queue.reconnect-drain.test.ts:467"}, "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-dabc6b7b29ca902f", "name": "Commented-code block (5 lines) in src/infra/outbound/targets.ts:120", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/outbound/targets.ts:120"}, "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-1d7fbcdfc72932b6", "name": "Commented-code block (5 lines) in src/infra/outbound/message-action-params.test.ts:538", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/outbound/message-action-params.test.ts:538"}, "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-5a54903e5b8d7efc", "name": "Commented-code block (9 lines) in src/infra/outbound/channel-selection.ts:56", "shortDescription": {"text": "Commented-code block (9 lines) in src/infra/outbound/channel-selection.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-0e6b80deb2158420", "name": "Commented-code block (5 lines) in src/infra/outbound/deliver.test.ts:2965", "shortDescription": {"text": "Commented-code block (5 lines) in src/infra/outbound/deliver.test.ts:2965"}, "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-4af7a2961fbd5a59", "name": "Legacy-named symbol `expectedLegacy` in src/pairing/pairing-store.test.ts:260", "shortDescription": {"text": "Legacy-named symbol `expectedLegacy` in src/pairing/pairing-store.test.ts:260"}, "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-c7381b279b599a1a", "name": "Commented-code block (6 lines) in src/gateway/control-ui.http.test.ts:926", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/control-ui.http.test.ts: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-f7eef939020e782b", "name": "Commented-code block (6 lines) in src/gateway/server-aux-handlers.test.ts:186", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/server-aux-handlers.test.ts:186"}, "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-2c56fb820fb2d378", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/server.hooks.test.ts:61", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/server.hooks.test.ts:61"}, "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-f4e422032b982b97", "name": "Commented-code block (7 lines) in src/gateway/chat-attachments.ts:336", "shortDescription": {"text": "Commented-code block (7 lines) in src/gateway/chat-attachments.ts:336"}, "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-574c3318b115bc90", "name": "Commented-code block (6 lines) in src/gateway/node-invoke-system-run-approval.ts:166", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/node-invoke-system-run-approval.ts:166"}, "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-3a8dac85d34f4f00", "name": "Commented-code block (9 lines) in src/gateway/server-maintenance.test.ts:502", "shortDescription": {"text": "Commented-code block (9 lines) in src/gateway/server-maintenance.test.ts:502"}, "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-eea470efa5871bce", "name": "Commented-code block (5 lines) in src/gateway/chat-abort.ts:223", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/chat-abort.ts:223"}, "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-b7c73bce7908dd3b", "name": "Commented-code block (8 lines) in src/gateway/chat-attachments.test.ts:220", "shortDescription": {"text": "Commented-code block (8 lines) in src/gateway/chat-attachments.test.ts:220"}, "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-921b1b98b54d84a2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/control-ui-assistant-media.e2e.test.ts:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/control-ui-assistant-media.e2e.test.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-952d2c4d50b15fab", "name": "Commented-code block (5 lines) in src/gateway/sessions-history-http.ts:290", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/sessions-history-http.ts:290"}, "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-267f6178d4d3bd96", "name": "Commented-code block (5 lines) in src/gateway/active-sessions-shutdown-tracker.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/active-sessions-shutdown-tracker.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-a292303bb551079f", "name": "Commented-code block (5 lines) in src/gateway/server-chat.ts:315", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server-chat.ts:315"}, "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-979b87f7e4fb4bf2", "name": "Commented-code block (9 lines) in src/gateway/session-transcript-files.fs.ts:136", "shortDescription": {"text": "Commented-code block (9 lines) in src/gateway/session-transcript-files.fs.ts:136"}, "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-5eb0279c96631f92", "name": "Commented-code block (6 lines) in src/gateway/openai-tool-choice.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/openai-tool-choice.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-f73dd5816f463044", "name": "Commented-code block (7 lines) in src/gateway/server-cron.test.ts:781", "shortDescription": {"text": "Commented-code block (7 lines) in src/gateway/server-cron.test.ts:781"}, "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-8720318bfe9e255b", "name": "Commented-code block (6 lines) in src/gateway/openresponses-http.test.ts:1340", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/openresponses-http.test.ts:1340"}, "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-78d067e081a57d1b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/openresponses-http.test.ts:104", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/openresponses-http.test.ts:104"}, "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-dbcffbfe88771031", "name": "Legacy-named symbol `anthropicApiKeyOld` in src/gateway/gateway-cli-backend.live-helpers.ts:64", "shortDescription": {"text": "Legacy-named symbol `anthropicApiKeyOld` in src/gateway/gateway-cli-backend.live-helpers.ts:64"}, "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-b9e782d7071345f7", "name": "Commented-code block (5 lines) in src/gateway/server-aux-handlers.ts:181", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server-aux-handlers.ts: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-aec11f88304b88ac", "name": "Commented-code block (5 lines) in src/gateway/gateway-codex-harness.live.test.ts:987", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/gateway-codex-harness.live.test.ts:987"}, "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-8780c0af38369b9e", "name": "Commented-code block (5 lines) in src/gateway/openresponses-http.ts:744", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/openresponses-http.ts:744"}, "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-5e47cb35dea7413c", "name": "Commented-code block (7 lines) in src/gateway/boot.ts:54", "shortDescription": {"text": "Commented-code block (7 lines) in src/gateway/boot.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-4dc28baabb2f3ff3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/openai-http.test.ts:80", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/openai-http.test.ts:80"}, "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-86700bfba02cea28", "name": "Commented-code block (6 lines) in src/gateway/auth-rate-limit.ts:46", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/auth-rate-limit.ts:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73e1b44d8a3b0b0d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/models-http.test.ts:31", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/models-http.test.ts:31"}, "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-1ee53db4282c262d", "name": "Commented-code block (6 lines) in src/gateway/server-node-events.ts:740", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/server-node-events.ts:740"}, "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-e3849d3c4197ea6c", "name": "Commented-code block (6 lines) in src/gateway/session-reset-service.ts:223", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/session-reset-service.ts:223"}, "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-f7f999c79ddf8f01", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/embeddings-http.test.ts:156", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/embeddings-http.test.ts:156"}, "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-b72b587369fc0d8c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/tools-invoke-http.test.ts:319", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/tools-invoke-http.test.ts:319"}, "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-b999d5940fc40b6e", "name": "Commented-code block (6 lines) in src/gateway/control-ui.ts:838", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/control-ui.ts:838"}, "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-ca49841bc7b42e09", "name": "Legacy-named symbol `agentCheckLegacy` in src/gateway/sessions-resolve.ts:175", "shortDescription": {"text": "Legacy-named symbol `agentCheckLegacy` in src/gateway/sessions-resolve.ts:175"}, "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-2295daff24d61ad6", "name": "Commented-code block (5 lines) in src/gateway/session-utils.perf.test.ts:76", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/session-utils.perf.test.ts:76"}, "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-06825223dd5d6918", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/tools-invoke-http.cron-regression.test.ts:124", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/tools-invoke-http.cron-regression.test.ts:124"}, "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-1e0da295742849e1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/server.control-ui-root.test.ts:40", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/server.control-ui-root.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-95bb41682261b47e", "name": "Commented-code block (6 lines) in src/gateway/drain-active-sessions-for-shutdown.test.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/drain-active-sessions-for-shutdown.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-ab467e083829f785", "name": "Commented-code block (5 lines) in src/gateway/server.talk-config.test.ts:356", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server.talk-config.test.ts:356"}, "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-13ee24c1175f977e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/session-kill-http.test.ts:116", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/session-kill-http.test.ts:116"}, "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-96f00514379e89ac", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/test-helpers.speech.ts:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/test-helpers.speech.ts:35"}, "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-e4fe29a28d5590d9", "name": "Commented-code block (8 lines) in src/gateway/server-cron.ts:553", "shortDescription": {"text": "Commented-code block (8 lines) in src/gateway/server-cron.ts:553"}, "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-3dab08856e38852e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/mcp-http.test.ts:122", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/mcp-http.test.ts:122"}, "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-72f689c4f18fe465", "name": "Commented-code block (7 lines) in src/gateway/mcp-http.request.ts:95", "shortDescription": {"text": "Commented-code block (7 lines) in src/gateway/mcp-http.request.ts:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-749b67b393145dc5", "name": "Commented-code block (5 lines) in src/gateway/server-methods/chat.directive-tags.test.ts:4664", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/chat.directive-tags.test.ts:4664"}, "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-5c33d77004bf2a78", "name": "Commented-code block (7 lines) in src/gateway/server-methods/nodes.wake-leak.test.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in src/gateway/server-methods/nodes.wake-leak.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-b6851552b98f4150", "name": "Commented-code block (6 lines) in src/gateway/server-methods/agent.test.ts:1486", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/server-methods/agent.test.ts:1486"}, "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-d7e4ce42dff865ab", "name": "Commented-code block (5 lines) in src/gateway/server-methods/usage.cost-usage-cache.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/usage.cost-usage-cache.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-5fbbb7600b28ae54", "name": "Commented-code block (5 lines) in src/gateway/server-methods/models-auth-status.ts:110", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/models-auth-status.ts:110"}, "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-9546a9b0664ea8cf", "name": "Commented-code block (5 lines) in src/gateway/server-methods/nodes.ts:504", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/nodes.ts:504"}, "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-b77de4e73f8b58cd", "name": "Commented-code block (6 lines) in src/gateway/server-methods/talk.ts:439", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/server-methods/talk.ts:439"}, "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-abdd270a21db6ef3", "name": "Commented-code block (5 lines) in src/gateway/server-methods/chat.ts:1244", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/chat.ts:1244"}, "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-b1da7870dcb2b577", "name": "Commented-code block (5 lines) in src/gateway/server-methods/sessions.ts:2000", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/sessions.ts:2000"}, "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-a9f9fa6ca5615c47", "name": "Commented-code block (5 lines) in src/gateway/server-methods/cron.ts:259", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/cron.ts:259"}, "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-74e49827755b3249", "name": "Legacy-named symbol `eleven_multilingual_v2` in src/gateway/server-methods/talk.test.ts:1839", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/gateway/server-methods/talk.test.ts:1839"}, "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-f23e1698702cd3e2", "name": "Commented-code block (7 lines) in src/gateway/server-methods/agent.ts:1645", "shortDescription": {"text": "Commented-code block (7 lines) in src/gateway/server-methods/agent.ts:1645"}, "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-873aea081b90f2d7", "name": "Commented-code block (7 lines) in src/gateway/server-methods/plugin-host-hooks.ts:213", "shortDescription": {"text": "Commented-code block (7 lines) in src/gateway/server-methods/plugin-host-hooks.ts:213"}, "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-b55e64a4b8f89cc1", "name": "Commented-code block (5 lines) in src/gateway/server/ws-connection/auth-context.ts:261", "shortDescription": {"text": "Commented-code block (5 lines) in src/gateway/server/ws-connection/auth-context.ts:261"}, "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-e7ab74b88edd5e10", "name": "Commented-code block (6 lines) in src/gateway/server/ws-connection/message-handler.ts:1237", "shortDescription": {"text": "Commented-code block (6 lines) in src/gateway/server/ws-connection/message-handler.ts:1237"}, "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-8333c4a8b6c99528", "name": "Commented-code block (7 lines) in src/gateway/server/ws-connection/connect-policy.ts:48", "shortDescription": {"text": "Commented-code block (7 lines) in src/gateway/server/ws-connection/connect-policy.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-11b8f14463b823e2", "name": "Commented-code block (6 lines) in src/skills/security/workspace-audit.test.ts:84", "shortDescription": {"text": "Commented-code block (6 lines) in src/skills/security/workspace-audit.test.ts:84"}, "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-f8f93751631ca968", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/skills/security/scanner.test.ts:209", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/skills/security/scanner.test.ts:209"}, "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-f1371e6e62875cde", "name": "Commented-code block (6 lines) in src/skills/lifecycle/gh-config-discovery.ts:8", "shortDescription": {"text": "Commented-code block (6 lines) in src/skills/lifecycle/gh-config-discovery.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-2df91727358cfe62", "name": "Commented-code block (5 lines) in src/skills/runtime/refresh.ts:61", "shortDescription": {"text": "Commented-code block (5 lines) in src/skills/runtime/refresh.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-cd0fcd7ef5decf2b", "name": "Legacy-named symbol `nOld` in src/skills/workshop/service.test.ts:156", "shortDescription": {"text": "Legacy-named symbol `nOld` in src/skills/workshop/service.test.ts:156"}, "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-474dc2f5d219964e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/proxy-capture/runtime.test.ts:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/proxy-capture/runtime.test.ts:68"}, "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-e094bcc57d35d4ee", "name": "Commented-code block (6 lines) in src/plugin-sdk/provider-auth-runtime.ts:71", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugin-sdk/provider-auth-runtime.ts:71"}, "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-761a2ac5d75b3d34", "name": "Commented-code block (5 lines) in src/plugin-sdk/ssrf-policy.test.ts:398", "shortDescription": {"text": "Commented-code block (5 lines) in src/plugin-sdk/ssrf-policy.test.ts:398"}, "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-6e64faed6bf32934", "name": "Commented-code block (5 lines) in src/plugin-sdk/agent-harness-runtime.ts:295", "shortDescription": {"text": "Commented-code block (5 lines) in src/plugin-sdk/agent-harness-runtime.ts:295"}, "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-3d2d22deb415c649", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/plugin-sdk/provider-auth-runtime.test.ts:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/plugin-sdk/provider-auth-runtime.test.ts:97"}, "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-82407c9111144172", "name": "Legacy-named symbol `eleven_multilingual_v2` in src/plugin-sdk/test-helpers/stt-live-audio.ts:10", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/plugin-sdk/test-helpers/stt-live-audio.ts:10"}, "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-1d576ee2c8492311", "name": "Commented-code block (8 lines) in src/plugin-sdk/test-helpers/plugin-runtime-mock.ts:671", "shortDescription": {"text": "Commented-code block (8 lines) in src/plugin-sdk/test-helpers/plugin-runtime-mock.ts:671"}, "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-128fe21da30936d0", "name": "Commented-code block (6 lines) in src/plugins/setup-registry.test.ts:655", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/setup-registry.test.ts:655"}, "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-4c8b4295c656049f", "name": "Commented-code block (6 lines) in src/plugins/registry.ts:1803", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/registry.ts:1803"}, "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-119d4ae710786fe8", "name": "Commented-code block (8 lines) in src/plugins/provider-replay-helpers.ts:103", "shortDescription": {"text": "Commented-code block (8 lines) in src/plugins/provider-replay-helpers.ts:103"}, "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-6cbbc476970c4269", "name": "Commented-code block (10 lines) in src/plugins/hooks.ts:209", "shortDescription": {"text": "Commented-code block (10 lines) in src/plugins/hooks.ts:209"}, "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-1ee9e2d5db930588", "name": "Legacy-named symbol `node_modules_backup` in src/plugins/dependency-denylist.test.ts:168", "shortDescription": {"text": "Legacy-named symbol `node_modules_backup` in src/plugins/dependency-denylist.test.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-172b9196968c6155", "name": "Commented-code block (7 lines) in src/plugins/plugin-module-loader-cache.ts:263", "shortDescription": {"text": "Commented-code block (7 lines) in src/plugins/plugin-module-loader-cache.ts:263"}, "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-2cf36abdcff8f9a1", "name": "Commented-code block (5 lines) in src/plugins/host-hook-runtime.ts:512", "shortDescription": {"text": "Commented-code block (5 lines) in src/plugins/host-hook-runtime.ts:512"}, "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-f84d4c6c23351cc9", "name": "Commented-code block (5 lines) in src/plugins/provider-auth-choice.ts:178", "shortDescription": {"text": "Commented-code block (5 lines) in src/plugins/provider-auth-choice.ts:178"}, "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-f388dce96eccf7e2", "name": "Commented-code block (6 lines) in src/plugins/web-provider-runtime-shared.ts:222", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/web-provider-runtime-shared.ts:222"}, "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-df4c9420d050dd62", "name": "Commented-code block (6 lines) in src/plugins/sdk-alias.test.ts:1919", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/sdk-alias.test.ts:1919"}, "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-89d32c264595792f", "name": "Commented-code block (6 lines) in src/plugins/runtime/index.ts:169", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/runtime/index.ts:169"}, "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-8c454fa860f84357", "name": "Legacy-named symbol `unknownDeprecated` in src/plugins/contracts/plugin-sdk-package-contract-guardrails.test.ts:890", "shortDescription": {"text": "Legacy-named symbol `unknownDeprecated` in src/plugins/contracts/plugin-sdk-package-contract-guardrails.test.ts:890"}, "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-ac2759ba7a668403", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/plugins/contracts/tts-contract-suites.ts:273", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/plugins/contracts/tts-contract-suites.ts:273"}, "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-1d8ae5e6a4de9332", "name": "Commented-code block (6 lines) in src/plugins/contracts/plugin-sdk-runtime-api-guardrails.test.ts:359", "shortDescription": {"text": "Commented-code block (6 lines) in src/plugins/contracts/plugin-sdk-runtime-api-guardrails.test.ts:359"}, "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-b9dd900561831511", "name": "Commented-code block (7 lines) in src/llm/env-api-keys.ts:241", "shortDescription": {"text": "Commented-code block (7 lines) in src/llm/env-api-keys.ts:241"}, "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-027b1b83899295f8", "name": "Commented-code block (5 lines) in src/llm/providers/openai-completions.ts:1007", "shortDescription": {"text": "Commented-code block (5 lines) in src/llm/providers/openai-completions.ts:1007"}, "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-cb22b669576bda51", "name": "Commented-code block (5 lines) in src/llm/providers/transform-messages.ts:215", "shortDescription": {"text": "Commented-code block (5 lines) in src/llm/providers/transform-messages.ts:215"}, "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-6d711284742ac0a0", "name": "Commented-code block (7 lines) in src/llm/providers/stream-wrappers/anthropic-family-cache-semantics.ts:31", "shortDescription": {"text": "Commented-code block (7 lines) in src/llm/providers/stream-wrappers/anthropic-family-cache-semantics.ts:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b75b6deb67722630", "name": "Commented-code block (5 lines) in src/auto-reply/thinking.test.ts:417", "shortDescription": {"text": "Commented-code block (5 lines) in src/auto-reply/thinking.test.ts:417"}, "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-f7613e0f51649f37", "name": "Commented-code block (5 lines) in src/auto-reply/thinking.ts:201", "shortDescription": {"text": "Commented-code block (5 lines) in src/auto-reply/thinking.ts:201"}, "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-f165d65ab0a5d826", "name": "Commented-code block (7 lines) in src/auto-reply/reply/followup-runner.ts:1288", "shortDescription": {"text": "Commented-code block (7 lines) in src/auto-reply/reply/followup-runner.ts:1288"}, "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-a77f7aa2b7d8fffb", "name": "Commented-code block (5 lines) in src/auto-reply/reply/reply-threading.ts:109", "shortDescription": {"text": "Commented-code block (5 lines) in src/auto-reply/reply/reply-threading.ts:109"}, "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-ad37f76778ee24e7", "name": "Commented-code block (5 lines) in src/auto-reply/reply/inbound-meta.ts:442", "shortDescription": {"text": "Commented-code block (5 lines) in src/auto-reply/reply/inbound-meta.ts:442"}, "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-787dc95bceaf940e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/auto-reply/reply/agent-runner.runreplyagent.e2e.test.ts:2319", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/auto-reply/reply/agent-runner.runreplyagent.e2e.test.ts:2319"}, "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-c018f2c93fe0e98a", "name": "Commented-code block (6 lines) in src/auto-reply/reply/commands-slash-parse.ts:22", "shortDescription": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/commands-slash-parse.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-ab794408bf0a3425", "name": "Commented-code block (6 lines) in src/auto-reply/reply/agent-runner-execution.ts:1726", "shortDescription": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/agent-runner-execution.ts:1726"}, "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-4116761e32a566fb", "name": "Commented-code block (10 lines) in src/auto-reply/reply/session.ts:527", "shortDescription": {"text": "Commented-code block (10 lines) in src/auto-reply/reply/session.ts:527"}, "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-80345ada361987d3", "name": "Commented-code block (7 lines) in src/auto-reply/reply/stage-sandbox-media.ts:25", "shortDescription": {"text": "Commented-code block (7 lines) in src/auto-reply/reply/stage-sandbox-media.ts:25"}, "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-ebd89cde3a3e05b1", "name": "Commented-code block (6 lines) in src/auto-reply/reply/session-delivery.ts:104", "shortDescription": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/session-delivery.ts:104"}, "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-078296a075cff8ff", "name": "Commented-code block (5 lines) in src/auto-reply/reply/agent-runner-execution.test.ts:6610", "shortDescription": {"text": "Commented-code block (5 lines) in src/auto-reply/reply/agent-runner-execution.test.ts:6610"}, "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-d0dcb816a678e337", "name": "Commented-code block (6 lines) in src/auto-reply/reply/agent-runner.ts:2472", "shortDescription": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/agent-runner.ts:2472"}, "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-36814688792b8c28", "name": "Commented-code block (6 lines) in src/auto-reply/reply/reply-utils.test.ts:1382", "shortDescription": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/reply-utils.test.ts:1382"}, "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-a6b89382c9651707", "name": "Commented-code block (10 lines) in src/auto-reply/reply/dispatch-from-config.test.ts:5422", "shortDescription": {"text": "Commented-code block (10 lines) in src/auto-reply/reply/dispatch-from-config.test.ts:5422"}, "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-dc4b0f32ee99bf61", "name": "Commented-code block (5 lines) in src/auto-reply/reply/get-reply-run.ts:1218", "shortDescription": {"text": "Commented-code block (5 lines) in src/auto-reply/reply/get-reply-run.ts:1218"}, "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-651acf7f3878f924", "name": "Commented-code block (8 lines) in src/auto-reply/reply/dispatch-from-config.ts:1054", "shortDescription": {"text": "Commented-code block (8 lines) in src/auto-reply/reply/dispatch-from-config.ts:1054"}, "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-f1b2a1e3346adc6d", "name": "Commented-code block (6 lines) in src/auto-reply/reply/queue/drain.identity-guard.test.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/queue/drain.identity-guard.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-1061113e1e14bd39", "name": "1112 env vars used in code but missing from .env.example", "shortDescription": {"text": "1112 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ALL_PROXY`, `ANTHROPIC_API_KEY`, `ANTHROPIC_API_KEY_OLD`, `ANTHROPIC_API_KEY_SECONDARY`, `ANTHROPIC_BASE_URL`, `ANTHROPIC_MODEL`, `ANTHROPIC_OAUTH_TOKEN`, `API_TOKEN` + 1104 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-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:\nskills/model-usage/scripts/model_usage.py:pick_current_model, skills/model-usage/scripts/model_usage.py:latest_day_cost\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-599cbc8c9088c2cf", "name": "Dangling fetch: POST http://127.0.0.1:${port}/tools/invoke (scripts/check-memory-fd-repro.mjs:684)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/tools/invoke (scripts/check-memory-fd-repro.mjs:684)"}, "fullDescription": {"text": "`scripts/check-memory-fd-repro.mjs:684` calls `POST http://127.0.0.1:${port}/tools/invoke` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/tools/invoke`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ea5aaf51de7fa6a1", "name": "Dangling fetch: POST /graphql (scripts/github/dependency-guard.mjs:565)", "shortDescription": {"text": "Dangling fetch: POST /graphql (scripts/github/dependency-guard.mjs:565)"}, "fullDescription": {"text": "`scripts/github/dependency-guard.mjs:565` calls `POST /graphql` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/graphql`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-21a49cb408a805e0", "name": "Dangling fetch: GET /repos/${owner}/${repo}/contents/${encodedPath}?ref=${encodeURIComponent(ref)} (scripts/github/depen", "shortDescription": {"text": "Dangling fetch: GET /repos/${owner}/${repo}/contents/${encodedPath}?ref=${encodeURIComponent(ref)} (scripts/github/dependency-guard.mjs:606)"}, "fullDescription": {"text": "`scripts/github/dependency-guard.mjs:606` calls `GET /repos/${owner}/${repo}/contents/${encodedPath}?ref=${encodeURIComponent(ref)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/repos/<p>/<p>/contents/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8be6972ac67c47f8", "name": "Dangling fetch: GET /repos/${owner}/${repo}/contents/${encodedPath}?ref=${encodeURIComponent(ref)} (scripts/github/depen", "shortDescription": {"text": "Dangling fetch: GET /repos/${owner}/${repo}/contents/${encodedPath}?ref=${encodeURIComponent(ref)} (scripts/github/dependency-guard.mjs:623)"}, "fullDescription": {"text": "`scripts/github/dependency-guard.mjs:623` calls `GET /repos/${owner}/${repo}/contents/${encodedPath}?ref=${encodeURIComponent(ref)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/repos/<p>/<p>/contents/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8c25c5fb07b9eb87", "name": "Dangling fetch: GET /repos/${owner}/${repo}/git/blobs/${file.sha} (scripts/github/dependency-guard.mjs:641)", "shortDescription": {"text": "Dangling fetch: GET /repos/${owner}/${repo}/git/blobs/${file.sha} (scripts/github/dependency-guard.mjs:641)"}, "fullDescription": {"text": "`scripts/github/dependency-guard.mjs:641` calls `GET /repos/${owner}/${repo}/git/blobs/${file.sha}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/repos/<p>/<p>/git/blobs/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1c14cf0b4e2e1871", "name": "Dangling fetch: DELETE /repos/${owner}/${repo}/issues/comments/${comment.id} (scripts/github/dependency-guard.mjs:837)", "shortDescription": {"text": "Dangling fetch: DELETE /repos/${owner}/${repo}/issues/comments/${comment.id} (scripts/github/dependency-guard.mjs:837)"}, "fullDescription": {"text": "`scripts/github/dependency-guard.mjs:837` calls `DELETE /repos/${owner}/${repo}/issues/comments/${comment.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/repos/<p>/<p>/issues/comments/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8320e051aab0b469", "name": "Dangling fetch: PATCH /repos/${owner}/${repo}/issues/comments/${comment.id} (scripts/github/dependency-guard.mjs:845)", "shortDescription": {"text": "Dangling fetch: PATCH /repos/${owner}/${repo}/issues/comments/${comment.id} (scripts/github/dependency-guard.mjs:845)"}, "fullDescription": {"text": "`scripts/github/dependency-guard.mjs:845` calls `PATCH /repos/${owner}/${repo}/issues/comments/${comment.id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/repos/<p>/<p>/issues/comments/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1596c8b4c22d404f", "name": "Dangling fetch: GET http://127.0.0.1:${port}${pathName} (scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}${pathName} (scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs:674)"}, "fullDescription": {"text": "`scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs:674` calls `GET http://127.0.0.1:${port}${pathName}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b652b1da706709df", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (scripts/e2e/lib/openai-chat-tools/client.mjs:59)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (scripts/e2e/lib/openai-chat-tools/client.mjs:59)"}, "fullDescription": {"text": "`scripts/e2e/lib/openai-chat-tools/client.mjs:59` calls `POST http://127.0.0.1:${port}/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bf1f4465551c7e60", "name": "Dangling fetch: GET http://127.0.0.1:${mock_port}/health (test/scripts/rtt-harness.test.ts:233)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${mock_port}/health (test/scripts/rtt-harness.test.ts:233)"}, "fullDescription": {"text": "`test/scripts/rtt-harness.test.ts:233` calls `GET http://127.0.0.1:${mock_port}/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/health`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2212d459013427c0", "name": "Dangling fetch: GET http://127.0.0.1:${MOCK_PORT}/health (test/scripts/docker-build-helper.test.ts:2995)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${MOCK_PORT}/health (test/scripts/docker-build-helper.test.ts:2995)"}, "fullDescription": {"text": "`test/scripts/docker-build-helper.test.ts:2995` calls `GET http://127.0.0.1:${MOCK_PORT}/health` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/health`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fba1968a2eba24aa", "name": "Dangling fetch: GET /repos/openclaw/openclaw (test/scripts/dependency-guard-script.test.ts:663)", "shortDescription": {"text": "Dangling fetch: GET /repos/openclaw/openclaw (test/scripts/dependency-guard-script.test.ts:663)"}, "fullDescription": {"text": "`test/scripts/dependency-guard-script.test.ts:663` calls `GET /repos/openclaw/openclaw` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/repos/openclaw/openclaw`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1b29ad46f0f4406c", "name": "Dangling fetch: GET /repos/openclaw/openclaw (test/scripts/dependency-guard-script.test.ts:687)", "shortDescription": {"text": "Dangling fetch: GET /repos/openclaw/openclaw (test/scripts/dependency-guard-script.test.ts:687)"}, "fullDescription": {"text": "`test/scripts/dependency-guard-script.test.ts:687` calls `GET /repos/openclaw/openclaw` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/repos/openclaw/openclaw`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b1dc19983fce5faa", "name": "Dangling fetch: GET /repos/openclaw/openclaw (test/scripts/dependency-guard-script.test.ts:721)", "shortDescription": {"text": "Dangling fetch: GET /repos/openclaw/openclaw (test/scripts/dependency-guard-script.test.ts:721)"}, "fullDescription": {"text": "`test/scripts/dependency-guard-script.test.ts:721` calls `GET /repos/openclaw/openclaw` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/repos/openclaw/openclaw`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-80ced168c8394661", "name": "Dangling fetch: GET http://127.0.0.1:${port}/fixture/inbound (test/scripts/e2e-helper-env-limits.test.ts:149)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/fixture/inbound (test/scripts/e2e-helper-env-limits.test.ts:149)"}, "fullDescription": {"text": "`test/scripts/e2e-helper-env-limits.test.ts:149` calls `GET http://127.0.0.1:${port}/fixture/inbound` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/fixture/inbound`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f987dbc7e0866d5", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/traces (test/scripts/qa-otel-smoke.test.ts:110)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/traces (test/scripts/qa-otel-smoke.test.ts:110)"}, "fullDescription": {"text": "`test/scripts/qa-otel-smoke.test.ts:110` calls `POST http://127.0.0.1:${port}/v1/traces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/traces`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-80263069fbcc3bbc", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/traces (test/scripts/qa-otel-smoke.test.ts:144)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/traces (test/scripts/qa-otel-smoke.test.ts:144)"}, "fullDescription": {"text": "`test/scripts/qa-otel-smoke.test.ts:144` calls `POST http://127.0.0.1:${port}/v1/traces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/traces`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9dac388610d84173", "name": "Dangling fetch: GET https://github.com/${login}.png?size=${AVATAR_PROBE_SIZE} (scripts/update-clawtributors.ts:457)", "shortDescription": {"text": "Dangling fetch: GET https://github.com/${login}.png?size=${AVATAR_PROBE_SIZE} (scripts/update-clawtributors.ts:457)"}, "fullDescription": {"text": "`scripts/update-clawtributors.ts:457` calls `GET https://github.com/${login}.png?size=${AVATAR_PROBE_SIZE}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/github.com/<p>.png`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7f7cf07d7a822c8f", "name": "Dangling fetch: POST https://api.openai.com/v1/realtime/calls (scripts/dev/realtime-talk-live-smoke.ts:333)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/realtime/calls (scripts/dev/realtime-talk-live-smoke.ts:333)"}, "fullDescription": {"text": "`scripts/dev/realtime-talk-live-smoke.ts:333` calls `POST https://api.openai.com/v1/realtime/calls` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.openai.com/v1/realtime/calls`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a2f6618bb200b842", "name": "Dangling fetch: GET http://127.0.0.1:${port}/healthz (extensions/telegram/src/webhook.test.ts:481)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/healthz (extensions/telegram/src/webhook.test.ts:481)"}, "fullDescription": {"text": "`extensions/telegram/src/webhook.test.ts:481` calls `GET http://127.0.0.1:${port}/healthz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/healthz`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b614490bbbbdc5ff", "name": "Dangling fetch: GET http://127.0.0.1:${port}/healthz (extensions/telegram/src/webhook.test.ts:528)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/healthz (extensions/telegram/src/webhook.test.ts:528)"}, "fullDescription": {"text": "`extensions/telegram/src/webhook.test.ts:528` calls `GET http://127.0.0.1:${port}/healthz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/healthz`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b10d6daf114483db", "name": "Dangling fetch: GET https://api.telegram.org/botTOKEN/getMe (extensions/telegram/src/fetch.test.ts:531)", "shortDescription": {"text": "Dangling fetch: GET https://api.telegram.org/botTOKEN/getMe (extensions/telegram/src/fetch.test.ts:531)"}, "fullDescription": {"text": "`extensions/telegram/src/fetch.test.ts:531` calls `GET https://api.telegram.org/botTOKEN/getMe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.telegram.org/bottoken/getme`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c044df85c975b7b6", "name": "Dangling fetch: GET https://api.telegram.org/botTOKEN/getMe (extensions/telegram/src/fetch.test.ts:562)", "shortDescription": {"text": "Dangling fetch: GET https://api.telegram.org/botTOKEN/getMe (extensions/telegram/src/fetch.test.ts:562)"}, "fullDescription": {"text": "`extensions/telegram/src/fetch.test.ts:562` calls `GET https://api.telegram.org/botTOKEN/getMe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.telegram.org/bottoken/getme`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-202bdf59d1cc1224", "name": "Dangling fetch: GET https://api.telegram.org/botx/getMe (extensions/telegram/src/fetch.test.ts:1255)", "shortDescription": {"text": "Dangling fetch: GET https://api.telegram.org/botx/getMe (extensions/telegram/src/fetch.test.ts:1255)"}, "fullDescription": {"text": "`extensions/telegram/src/fetch.test.ts:1255` calls `GET https://api.telegram.org/botx/getMe` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.telegram.org/botx/getme`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f14a74b8f673d407", "name": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-pr", "shortDescription": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:177)"}, "fullDescription": {"text": "`extensions/discord/src/monitor/provider.rest-proxy.test.ts:177` calls `GET https://discord.com/api/v10/oauth2/applications/@me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/discord.com/api/v10/oauth2/applications/@me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d114ebfb5be07623", "name": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-pr", "shortDescription": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:207)"}, "fullDescription": {"text": "`extensions/discord/src/monitor/provider.rest-proxy.test.ts:207` calls `GET https://discord.com/api/v10/oauth2/applications/@me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/discord.com/api/v10/oauth2/applications/@me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-157a3008fbe9f58c", "name": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-pr", "shortDescription": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:256)"}, "fullDescription": {"text": "`extensions/discord/src/monitor/provider.rest-proxy.test.ts:256` calls `GET https://discord.com/api/v10/oauth2/applications/@me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/discord.com/api/v10/oauth2/applications/@me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee0563ae45c96a9d", "name": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-pr", "shortDescription": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:273)"}, "fullDescription": {"text": "`extensions/discord/src/monitor/provider.rest-proxy.test.ts:273` calls `GET https://discord.com/api/v10/oauth2/applications/@me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/discord.com/api/v10/oauth2/applications/@me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-05a434c68804f796", "name": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-pr", "shortDescription": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:307)"}, "fullDescription": {"text": "`extensions/discord/src/monitor/provider.rest-proxy.test.ts:307` calls `GET https://discord.com/api/v10/oauth2/applications/@me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/discord.com/api/v10/oauth2/applications/@me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8d784f27784215f5", "name": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-pr", "shortDescription": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:334)"}, "fullDescription": {"text": "`extensions/discord/src/monitor/provider.rest-proxy.test.ts:334` calls `GET https://discord.com/api/v10/oauth2/applications/@me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/discord.com/api/v10/oauth2/applications/@me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5468216b2e55a6dd", "name": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-pr", "shortDescription": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:356)"}, "fullDescription": {"text": "`extensions/discord/src/monitor/provider.rest-proxy.test.ts:356` calls `GET https://discord.com/api/v10/oauth2/applications/@me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/discord.com/api/v10/oauth2/applications/@me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8680d0774b109bbe", "name": "Dangling fetch: GET /api/me (extensions/clickclack/src/http-client.ts:48)", "shortDescription": {"text": "Dangling fetch: GET /api/me (extensions/clickclack/src/http-client.ts:48)"}, "fullDescription": {"text": "`extensions/clickclack/src/http-client.ts:48` calls `GET /api/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-45993f6c2e2cee5e", "name": "Dangling fetch: GET /api/workspaces (extensions/clickclack/src/http-client.ts:52)", "shortDescription": {"text": "Dangling fetch: GET /api/workspaces (extensions/clickclack/src/http-client.ts:52)"}, "fullDescription": {"text": "`extensions/clickclack/src/http-client.ts:52` calls `GET /api/workspaces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/workspaces`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6720fa991f3a239b", "name": "Dangling fetch: POST /api/channels/${encodeURIComponent(channelId)}/messages (extensions/clickclack/src/http-client.ts:8", "shortDescription": {"text": "Dangling fetch: POST /api/channels/${encodeURIComponent(channelId)}/messages (extensions/clickclack/src/http-client.ts:88)"}, "fullDescription": {"text": "`extensions/clickclack/src/http-client.ts:88` calls `POST /api/channels/${encodeURIComponent(channelId)}/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/channels/<p>/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bf2c121969e20779", "name": "Dangling fetch: POST /api/messages/${encodeURIComponent(messageId)}/thread/replies (extensions/clickclack/src/http-clien", "shortDescription": {"text": "Dangling fetch: POST /api/messages/${encodeURIComponent(messageId)}/thread/replies (extensions/clickclack/src/http-client.ts:95)"}, "fullDescription": {"text": "`extensions/clickclack/src/http-client.ts:95` calls `POST /api/messages/${encodeURIComponent(messageId)}/thread/replies` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/messages/<p>/thread/replies`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9d2c9015a5b2a8ec", "name": "Dangling fetch: POST /api/dms (extensions/clickclack/src/http-client.ts:105)", "shortDescription": {"text": "Dangling fetch: POST /api/dms (extensions/clickclack/src/http-client.ts:105)"}, "fullDescription": {"text": "`extensions/clickclack/src/http-client.ts:105` calls `POST /api/dms` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dms`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c9607fe927264b7", "name": "Dangling fetch: POST /api/dms/${encodeURIComponent(conversationId)}/messages (extensions/clickclack/src/http-client.ts:1", "shortDescription": {"text": "Dangling fetch: POST /api/dms/${encodeURIComponent(conversationId)}/messages (extensions/clickclack/src/http-client.ts:115)"}, "fullDescription": {"text": "`extensions/clickclack/src/http-client.ts:115` calls `POST /api/dms/${encodeURIComponent(conversationId)}/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/dms/<p>/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a000b68ba97cc9fb", "name": "Dangling fetch: GET /posts/${payload.post_id} (extensions/mattermost/src/mattermost/interactions.ts:511)", "shortDescription": {"text": "Dangling fetch: GET /posts/${payload.post_id} (extensions/mattermost/src/mattermost/interactions.ts:511)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/interactions.ts:511` calls `GET /posts/${payload.post_id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/posts/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-44ed52aab7ee117e", "name": "Dangling fetch: POST /commands (extensions/mattermost/src/mattermost/slash-commands.ts:214)", "shortDescription": {"text": "Dangling fetch: POST /commands (extensions/mattermost/src/mattermost/slash-commands.ts:214)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/slash-commands.ts:214` calls `POST /commands` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/commands`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-af6eabf42837dd0e", "name": "Dangling fetch: PUT /commands/${encodeURIComponent(params.id)} (extensions/mattermost/src/mattermost/slash-commands.ts:2", "shortDescription": {"text": "Dangling fetch: PUT /commands/${encodeURIComponent(params.id)} (extensions/mattermost/src/mattermost/slash-commands.ts:236)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/slash-commands.ts:236` calls `PUT /commands/${encodeURIComponent(params.id)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/commands/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-55949b2b25f67b5a", "name": "Dangling fetch: GET /users/me (extensions/mattermost/src/mattermost/client.ts:169)", "shortDescription": {"text": "Dangling fetch: GET /users/me (extensions/mattermost/src/mattermost/client.ts:169)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.ts:169` calls `GET /users/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9273b95bf2853b00", "name": "Dangling fetch: GET /users/${userId} (extensions/mattermost/src/mattermost/client.ts:176)", "shortDescription": {"text": "Dangling fetch: GET /users/${userId} (extensions/mattermost/src/mattermost/client.ts:176)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.ts:176` calls `GET /users/${userId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-735941c770c4d81d", "name": "Dangling fetch: GET /users/username/${encodeURIComponent(username)} (extensions/mattermost/src/mattermost/client.ts:183)", "shortDescription": {"text": "Dangling fetch: GET /users/username/${encodeURIComponent(username)} (extensions/mattermost/src/mattermost/client.ts:183)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.ts:183` calls `GET /users/username/${encodeURIComponent(username)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/username/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8a8083f8f5529c1f", "name": "Dangling fetch: GET /channels/${channelId} (extensions/mattermost/src/mattermost/client.ts:190)", "shortDescription": {"text": "Dangling fetch: GET /channels/${channelId} (extensions/mattermost/src/mattermost/client.ts:190)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.ts:190` calls `GET /channels/${channelId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/channels/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-539c794c38da94d4", "name": "Dangling fetch: POST /channels/direct (extensions/mattermost/src/mattermost/client.ts:225)", "shortDescription": {"text": "Dangling fetch: POST /channels/direct (extensions/mattermost/src/mattermost/client.ts:225)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.ts:225` calls `POST /channels/direct` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/channels/direct`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-46350aa0854d413f", "name": "Dangling fetch: POST /posts (extensions/mattermost/src/mattermost/client.ts:517)", "shortDescription": {"text": "Dangling fetch: POST /posts (extensions/mattermost/src/mattermost/client.ts:517)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.ts:517` calls `POST /posts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/posts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cafd3f1ea85e1838", "name": "Dangling fetch: GET /users/${userId}/teams (extensions/mattermost/src/mattermost/client.ts:533)", "shortDescription": {"text": "Dangling fetch: GET /users/${userId}/teams (extensions/mattermost/src/mattermost/client.ts:533)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.ts:533` calls `GET /users/${userId}/teams` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/<p>/teams`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4c9e833172691111", "name": "Dangling fetch: PUT /posts/${postId} (extensions/mattermost/src/mattermost/client.ts:551)", "shortDescription": {"text": "Dangling fetch: PUT /posts/${postId} (extensions/mattermost/src/mattermost/client.ts:551)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.ts:551` calls `PUT /posts/${postId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/posts/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-19ba5986556333da", "name": "Dangling fetch: DELETE /posts/${postId} (extensions/mattermost/src/mattermost/client.ts:561)", "shortDescription": {"text": "Dangling fetch: DELETE /posts/${postId} (extensions/mattermost/src/mattermost/client.ts:561)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.ts:561` calls `DELETE /posts/${postId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/posts/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-11985a3d61a9a0f4", "name": "Dangling fetch: GET /users/me (extensions/mattermost/src/mattermost/client.test.ts:125)", "shortDescription": {"text": "Dangling fetch: GET /users/me (extensions/mattermost/src/mattermost/client.test.ts:125)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.test.ts:125` calls `GET /users/me` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c5b8ff1a55f98259", "name": "Dangling fetch: POST /posts (extensions/mattermost/src/mattermost/client.test.ts:137)", "shortDescription": {"text": "Dangling fetch: POST /posts (extensions/mattermost/src/mattermost/client.test.ts:137)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.test.ts:137` calls `POST /posts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/posts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d1cadee3d2ce06ac", "name": "Dangling fetch: GET /missing (extensions/mattermost/src/mattermost/client.test.ts:152)", "shortDescription": {"text": "Dangling fetch: GET /missing (extensions/mattermost/src/mattermost/client.test.ts:152)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.test.ts:152` calls `GET /missing` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/missing`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-55e378cad6827827", "name": "Dangling fetch: DELETE /anything (extensions/mattermost/src/mattermost/client.test.ts:164)", "shortDescription": {"text": "Dangling fetch: DELETE /anything (extensions/mattermost/src/mattermost/client.test.ts:164)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/client.test.ts:164` calls `DELETE /anything` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/anything`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e78b1a74b5fdb445", "name": "Dangling fetch: GET /users/me/teams (extensions/mattermost/src/mattermost/directory.ts:139)", "shortDescription": {"text": "Dangling fetch: GET /users/me/teams (extensions/mattermost/src/mattermost/directory.ts:139)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/directory.ts:139` calls `GET /users/me/teams` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/me/teams`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fc4b141ee8a3518d", "name": "Dangling fetch: POST /users/search (extensions/mattermost/src/mattermost/directory.ts:149)", "shortDescription": {"text": "Dangling fetch: POST /users/search (extensions/mattermost/src/mattermost/directory.ts:149)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/directory.ts:149` calls `POST /users/search` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/search`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72a286c8a4830fd7", "name": "Dangling fetch: POST /users/ids (extensions/mattermost/src/mattermost/directory.ts:161)", "shortDescription": {"text": "Dangling fetch: POST /users/ids (extensions/mattermost/src/mattermost/directory.ts:161)"}, "fullDescription": {"text": "`extensions/mattermost/src/mattermost/directory.ts:161` calls `POST /users/ids` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:request\nNormalized path used for matching: `/users/ids`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-65101673ace96a7c", "name": "Dangling fetch: GET http://127.0.0.1:18789/healthz (extensions/qa-lab/src/docker-harness.test.ts:83)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:18789/healthz (extensions/qa-lab/src/docker-harness.test.ts:83)"}, "fullDescription": {"text": "`extensions/qa-lab/src/docker-harness.test.ts:83` calls `GET http://127.0.0.1:18789/healthz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:18789/healthz`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-95f30849482bfaf9", "name": "Dangling fetch: GET http://127.0.0.1:44080/healthz (extensions/qa-lab/src/docker-harness.ts:58)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:44080/healthz (extensions/qa-lab/src/docker-harness.ts:58)"}, "fullDescription": {"text": "`extensions/qa-lab/src/docker-harness.ts:58` calls `GET http://127.0.0.1:44080/healthz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:44080/healthz`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4cfe464d38d5994e", "name": "Dangling fetch: GET http://127.0.0.1:${QA_LAB_INTERNAL_PORT}/healthz (extensions/qa-lab/src/docker-harness.ts:88)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${QA_LAB_INTERNAL_PORT}/healthz (extensions/qa-lab/src/docker-harness.ts:88)"}, "fullDescription": {"text": "`extensions/qa-lab/src/docker-harness.ts:88` calls `GET http://127.0.0.1:${QA_LAB_INTERNAL_PORT}/healthz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/healthz`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8d6e02a10b6be574", "name": "Dangling fetch: GET http://127.0.0.1:18789/healthz (extensions/qa-lab/src/docker-harness.ts:132)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:18789/healthz (extensions/qa-lab/src/docker-harness.ts:132)"}, "fullDescription": {"text": "`extensions/qa-lab/src/docker-harness.ts:132` calls `GET http://127.0.0.1:18789/healthz` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:18789/healthz`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a93e5db4ca416b2e", "name": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:99)", "shortDescription": {"text": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:99)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:99` calls `GET https://mcp.example.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/mcp.example.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f859bdf8678d9d99", "name": "Dangling fetch: GET https://auth.example.com/token (src/agents/mcp-http-fetch.test.ts:100)", "shortDescription": {"text": "Dangling fetch: GET https://auth.example.com/token (src/agents/mcp-http-fetch.test.ts:100)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:100` calls `GET https://auth.example.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/auth.example.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-89ac8307424717d0", "name": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:118)", "shortDescription": {"text": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:118)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:118` calls `GET https://mcp.example.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/mcp.example.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e510a12e505dca2e", "name": "Dangling fetch: GET https://mcp.example.com/mcp (src/agents/mcp-http-fetch.test.ts:133)", "shortDescription": {"text": "Dangling fetch: GET https://mcp.example.com/mcp (src/agents/mcp-http-fetch.test.ts:133)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:133` calls `GET https://mcp.example.com/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/mcp.example.com/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5677239a5f4f2733", "name": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:146)", "shortDescription": {"text": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:146)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:146` calls `GET https://mcp.example.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/mcp.example.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0685904952858dcc", "name": "Dangling fetch: GET https://auth.example.com/token (src/agents/mcp-http-fetch.test.ts:147)", "shortDescription": {"text": "Dangling fetch: GET https://auth.example.com/token (src/agents/mcp-http-fetch.test.ts:147)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:147` calls `GET https://auth.example.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/auth.example.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3602bcea6c393ad5", "name": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:174)", "shortDescription": {"text": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:174)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:174` calls `GET https://mcp.example.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/mcp.example.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d12a4b80161d9c42", "name": "Dangling fetch: GET https://mcp.example.com/.well-known/oauth-protected-resource (src/agents/mcp-http-fetch.test.ts:205)", "shortDescription": {"text": "Dangling fetch: GET https://mcp.example.com/.well-known/oauth-protected-resource (src/agents/mcp-http-fetch.test.ts:205)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:205` calls `GET https://mcp.example.com/.well-known/oauth-protected-resource` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/mcp.example.com/.well-known/oauth-protected-resource`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5715c40a021a265d", "name": "Dangling fetch: GET https://auth.example.com/token (src/agents/mcp-http-fetch.test.ts:208)", "shortDescription": {"text": "Dangling fetch: GET https://auth.example.com/token (src/agents/mcp-http-fetch.test.ts:208)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:208` calls `GET https://auth.example.com/token` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/auth.example.com/token`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b41e0a5423abd634", "name": "Dangling fetch: POST https://auth.example.com/oauth/register (src/agents/mcp-http-fetch.test.ts:242)", "shortDescription": {"text": "Dangling fetch: POST https://auth.example.com/oauth/register (src/agents/mcp-http-fetch.test.ts:242)"}, "fullDescription": {"text": "`src/agents/mcp-http-fetch.test.ts:242` calls `POST https://auth.example.com/oauth/register` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/auth.example.com/oauth/register`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d9ee75854cd1457c", "name": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:189)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:189)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:189` calls `POST https://api.openai.com/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/api.openai.com/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2a8c67e360e1bd70", "name": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:414)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:414)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:414` calls `POST http://127.0.0.1:18000/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:18000/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8d36224ac14967eb", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/agents/provider-transport-fetch.test.ts:448)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/agents/provider-transport-fetch.test.ts:448)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:448` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-26ce4475c6db7358", "name": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:478)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:478)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:478` calls `POST http://127.0.0.1:18000/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:18000/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2473d5d7cc96ecb6", "name": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:497)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:497)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:497` calls `POST http://127.0.0.1:18000/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:18000/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d9082989735dadf1", "name": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:522)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:522)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:522` calls `POST http://127.0.0.1:18000/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:18000/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c57e79b004e2d840", "name": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:554)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:554)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:554` calls `POST http://127.0.0.1:18000/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:18000/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bcc66c834c1ca452", "name": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:583)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:583)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:583` calls `POST http://127.0.0.1:18000/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:18000/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1799da582f105ca3", "name": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:611)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:611)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:611` calls `POST http://127.0.0.1:18000/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:18000/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec1a4e10dc099c10", "name": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:647)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:647)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:647` calls `POST http://127.0.0.1:18000/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:18000/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2961264390b56ea7", "name": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:661)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:661)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:661` calls `POST https://api.openai.com/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/api.openai.com/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-971314536009a811", "name": "Dangling fetch: POST https://uploads.openai.com/v1/files (src/agents/provider-transport-fetch.test.ts:683)", "shortDescription": {"text": "Dangling fetch: POST https://uploads.openai.com/v1/files (src/agents/provider-transport-fetch.test.ts:683)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:683` calls `POST https://uploads.openai.com/v1/files` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/uploads.openai.com/v1/files`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-24ff3ddabc31bc5b", "name": "Dangling fetch: POST http://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:702)", "shortDescription": {"text": "Dangling fetch: POST http://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:702)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:702` calls `POST http://10.0.0.5:1234/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/10.0.0.5:1234/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cb12485e0864c0ff", "name": "Dangling fetch: POST https://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:725)", "shortDescription": {"text": "Dangling fetch: POST https://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:725)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:725` calls `POST https://10.0.0.5:1234/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/10.0.0.5:1234/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fb4ba048c3a89798", "name": "Dangling fetch: POST http://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:747)", "shortDescription": {"text": "Dangling fetch: POST http://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:747)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:747` calls `POST http://10.0.0.5:1234/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/10.0.0.5:1234/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3f22192f07ea0be3", "name": "Dangling fetch: POST http://127.0.0.1:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:766)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:766)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:766` calls `POST http://127.0.0.1:1234/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:1234/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-93beaf1c109f0773", "name": "Dangling fetch: POST http://10.0.0.5:4321/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:787)", "shortDescription": {"text": "Dangling fetch: POST http://10.0.0.5:4321/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:787)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:787` calls `POST http://10.0.0.5:4321/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/10.0.0.5:4321/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-30ec6f122b153e48", "name": "Dangling fetch: POST http://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:806)", "shortDescription": {"text": "Dangling fetch: POST http://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:806)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:806` calls `POST http://10.0.0.5:1234/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/10.0.0.5:1234/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-37f818c180e61a8e", "name": "Dangling fetch: POST http://10.0.0.5:11434/api/chat (src/agents/provider-transport-fetch.test.ts:895)", "shortDescription": {"text": "Dangling fetch: POST http://10.0.0.5:11434/api/chat (src/agents/provider-transport-fetch.test.ts:895)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:895` calls `POST http://10.0.0.5:11434/api/chat` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/10.0.0.5:11434/api/chat`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-76488ec4dcfb3b36", "name": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:914)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:914)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:914` calls `POST https://api.openai.com/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/api.openai.com/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e51373056aebc1b", "name": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:944)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:944)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:944` calls `POST https://api.openai.com/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/api.openai.com/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6874d8e3522a352a", "name": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:959)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:959)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:959` calls `POST https://api.openai.com/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/https:/api.openai.com/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c87e277204713eaf", "name": "Dangling fetch: POST http://127.0.0.1:11434/api/chat (src/agents/provider-transport-fetch.test.ts:974)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:11434/api/chat (src/agents/provider-transport-fetch.test.ts:974)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:974` calls `POST http://127.0.0.1:11434/api/chat` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:11434/api/chat`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f9c6b84c0223a02e", "name": "Dangling fetch: POST http://127.0.0.1:11434/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:990)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:11434/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:990)"}, "fullDescription": {"text": "`src/agents/provider-transport-fetch.test.ts:990` calls `POST http://127.0.0.1:11434/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: helper:fetcher\nNormalized path used for matching: `/http:/127.0.0.1:11434/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3987e8482db60db5", "name": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-headers.live.test.ts:28)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-headers.live.test.ts:28)"}, "fullDescription": {"text": "`src/agents/provider-headers.live.test.ts:28` calls `POST https://api.openai.com/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.openai.com/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-029b8965510c54fc", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/agents/provider-headers.live.test.ts:73)", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/agents/provider-headers.live.test.ts:73)"}, "fullDescription": {"text": "`src/agents/provider-headers.live.test.ts:73` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-86c4e6d8c1dcdc2a", "name": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/embedded-agent-runner-extraparams.live.test.ts:92)", "shortDescription": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/embedded-agent-runner-extraparams.live.test.ts:92)"}, "fullDescription": {"text": "`src/agents/embedded-agent-runner-extraparams.live.test.ts:92` calls `POST https://api.openai.com/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.openai.com/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bfcafad383112d77", "name": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/agents/embedded-agent-runner-extraparams.live.test.ts:13", "shortDescription": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/agents/embedded-agent-runner-extraparams.live.test.ts:130)"}, "fullDescription": {"text": "`src/agents/embedded-agent-runner-extraparams.live.test.ts:130` calls `POST https://api.anthropic.com/v1/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.anthropic.com/v1/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7fc107ffe526cac3", "name": "Dangling fetch: POST https://example.invalid/media-image (src/agents/tools/image-tool.test.ts:570)", "shortDescription": {"text": "Dangling fetch: POST https://example.invalid/media-image (src/agents/tools/image-tool.test.ts:570)"}, "fullDescription": {"text": "`src/agents/tools/image-tool.test.ts:570` calls `POST https://example.invalid/media-image` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/example.invalid/media-image`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e6976ae327962a1e", "name": "Dangling fetch: POST https://example.invalid/media-images (src/agents/tools/image-tool.test.ts:586)", "shortDescription": {"text": "Dangling fetch: POST https://example.invalid/media-images (src/agents/tools/image-tool.test.ts:586)"}, "fullDescription": {"text": "`src/agents/tools/image-tool.test.ts:586` calls `POST https://example.invalid/media-images` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/example.invalid/media-images`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2cb29a3474993afd", "name": "Dangling fetch: POST http://127.0.0.1:${port}${pathLocal} (src/gateway/server.hooks.test.ts:61)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}${pathLocal} (src/gateway/server.hooks.test.ts:61)"}, "fullDescription": {"text": "`src/gateway/server.hooks.test.ts:61` calls `POST http://127.0.0.1:${port}${pathLocal}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-26e6387c03b5c8eb", "name": "Dangling fetch: GET http://127.0.0.1:${port}/hooks/wake (src/gateway/server.hooks.test.ts:278)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/hooks/wake (src/gateway/server.hooks.test.ts:278)"}, "fullDescription": {"text": "`src/gateway/server.hooks.test.ts:278` calls `GET http://127.0.0.1:${port}/hooks/wake` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/hooks/wake`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d3aad35ab48e0ab7", "name": "Dangling fetch: POST http://127.0.0.1:${port}/hooks/agent (src/gateway/server.hooks.test.ts:499)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/hooks/agent (src/gateway/server.hooks.test.ts:499)"}, "fullDescription": {"text": "`src/gateway/server.hooks.test.ts:499` calls `POST http://127.0.0.1:${port}/hooks/agent` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/hooks/agent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9b496677f92ab0a9", "name": "Dangling fetch: POST http://127.0.0.1:${port}/hooks/mapped-ok (src/gateway/server.hooks.test.ts:515)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/hooks/mapped-ok (src/gateway/server.hooks.test.ts:515)"}, "fullDescription": {"text": "`src/gateway/server.hooks.test.ts:515` calls `POST http://127.0.0.1:${port}/hooks/mapped-ok` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/hooks/mapped-ok`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c790f45109825a5b", "name": "Dangling fetch: GET http://127.0.0.1:${port}/hooks/wake (src/gateway/server.hooks.test.ts:1007)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/hooks/wake (src/gateway/server.hooks.test.ts:1007)"}, "fullDescription": {"text": "`src/gateway/server.hooks.test.ts:1007` calls `GET http://127.0.0.1:${port}/hooks/wake` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/hooks/wake`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-824f7189bb3e9044", "name": "Dangling fetch: POST http://127.0.0.1:${port}/tools/invoke (src/gateway/gateway.test.ts:310)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/tools/invoke (src/gateway/gateway.test.ts:310)"}, "fullDescription": {"text": "`src/gateway/gateway.test.ts:310` calls `POST http://127.0.0.1:${port}/tools/invoke` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/tools/invoke`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7d8012eb53307b77", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:104)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:104)"}, "fullDescription": {"text": "`src/gateway/openresponses-http.test.ts:104` calls `POST http://127.0.0.1:${port}/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2f4d4c18a9882b17", "name": "Dangling fetch: GET http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:266)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:266)"}, "fullDescription": {"text": "`src/gateway/openresponses-http.test.ts:266` calls `GET http://127.0.0.1:${port}/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d60c942c590ca1ba", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:273)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:273)"}, "fullDescription": {"text": "`src/gateway/openresponses-http.test.ts:273` calls `POST http://127.0.0.1:${port}/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-82cef028f48ba858", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:978)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:978)"}, "fullDescription": {"text": "`src/gateway/openresponses-http.test.ts:978` calls `POST http://127.0.0.1:${port}/v1/responses` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/responses`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-812b2af1e05f9a1a", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:80)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:80)"}, "fullDescription": {"text": "`src/gateway/openai-http.test.ts:80` calls `POST http://127.0.0.1:${port}/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-03d5eb84c8798d65", "name": "Dangling fetch: GET http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:191)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:191)"}, "fullDescription": {"text": "`src/gateway/openai-http.test.ts:191` calls `GET http://127.0.0.1:${port}/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ff6bd844a4e736ff", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:201)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:201)"}, "fullDescription": {"text": "`src/gateway/openai-http.test.ts:201` calls `POST http://127.0.0.1:${port}/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bfdeb9464938dc31", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:1757)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:1757)"}, "fullDescription": {"text": "`src/gateway/openai-http.test.ts:1757` calls `POST http://127.0.0.1:${port}/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-544e8a4c5a0c0acb", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:1764)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:1764)"}, "fullDescription": {"text": "`src/gateway/openai-http.test.ts:1764` calls `POST http://127.0.0.1:${port}/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-18b0623478e3a6ef", "name": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:2476)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:2476)"}, "fullDescription": {"text": "`src/gateway/openai-http.test.ts:2476` calls `POST http://127.0.0.1:${port}/v1/chat/completions` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/chat/completions`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-be147fe9b1ee03c6", "name": "Dangling fetch: POST http://127.0.0.1:${runtime.port}/mcp (src/gateway/gateway-cli-backend.live-probe-helpers.ts:223)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${runtime.port}/mcp (src/gateway/gateway-cli-backend.live-probe-helpers.ts:223)"}, "fullDescription": {"text": "`src/gateway/gateway-cli-backend.live-probe-helpers.ts:223` calls `POST http://127.0.0.1:${runtime.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6144b5f8f4dce373", "name": "Dangling fetch: GET http://127.0.0.1:${port}/hook (src/gateway/server-http.request-trace.test.ts:78)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/hook (src/gateway/server-http.request-trace.test.ts:78)"}, "fullDescription": {"text": "`src/gateway/server-http.request-trace.test.ts:78` calls `GET http://127.0.0.1:${port}/hook` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/hook`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ac46ceb945f43437", "name": "Dangling fetch: GET http://127.0.0.1:${enabledPort}${pathname} (src/gateway/models-http.test.ts:31)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${enabledPort}${pathname} (src/gateway/models-http.test.ts:31)"}, "fullDescription": {"text": "`src/gateway/models-http.test.ts:31` calls `GET http://127.0.0.1:${enabledPort}${pathname}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dcb8b5572ebc0382", "name": "Dangling fetch: GET http://127.0.0.1:${port}/v1/models (src/gateway/models-http.test.ts:120)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/v1/models (src/gateway/models-http.test.ts:120)"}, "fullDescription": {"text": "`src/gateway/models-http.test.ts:120` calls `GET http://127.0.0.1:${port}/v1/models` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/models`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2cbf1e00f4da360a", "name": "Dangling fetch: GET http://127.0.0.1:${port}/v1/models (src/gateway/models-http.test.ts:138)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/v1/models (src/gateway/models-http.test.ts:138)"}, "fullDescription": {"text": "`src/gateway/models-http.test.ts:138` calls `GET http://127.0.0.1:${port}/v1/models` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/models`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e3542149b4444d8a", "name": "Dangling fetch: POST http://127.0.0.1:${enabledPort}/v1/embeddings (src/gateway/embeddings-http.test.ts:156)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${enabledPort}/v1/embeddings (src/gateway/embeddings-http.test.ts:156)"}, "fullDescription": {"text": "`src/gateway/embeddings-http.test.ts:156` calls `POST http://127.0.0.1:${enabledPort}/v1/embeddings` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/embeddings`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7f420dc69fc9fdef", "name": "Dangling fetch: POST http://127.0.0.1:${enabledPort}/v1/embeddings (src/gateway/embeddings-http.test.ts:329)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${enabledPort}/v1/embeddings (src/gateway/embeddings-http.test.ts:329)"}, "fullDescription": {"text": "`src/gateway/embeddings-http.test.ts:329` calls `POST http://127.0.0.1:${enabledPort}/v1/embeddings` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/v1/embeddings`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-37100dbe1d03b1e4", "name": "Dangling fetch: POST http://127.0.0.1:${params.port}/tools/invoke (src/gateway/tools-invoke-http.test.ts:319)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${params.port}/tools/invoke (src/gateway/tools-invoke-http.test.ts:319)"}, "fullDescription": {"text": "`src/gateway/tools-invoke-http.test.ts:319` calls `POST http://127.0.0.1:${params.port}/tools/invoke` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/tools/invoke`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b38cc5b0eb31c26", "name": "Dangling fetch: POST http://127.0.0.1:${port}/tools/invoke (src/gateway/tools-invoke-http.cron-regression.test.ts:124)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/tools/invoke (src/gateway/tools-invoke-http.cron-regression.test.ts:124)"}, "fullDescription": {"text": "`src/gateway/tools-invoke-http.cron-regression.test.ts:124` calls `POST http://127.0.0.1:${port}/tools/invoke` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/tools/invoke`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-10c4790159e7c3b9", "name": "Dangling fetch: GET http://127.0.0.1:${port}/ (src/gateway/server.control-ui-root.test.ts:40)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/ (src/gateway/server.control-ui-root.test.ts:40)"}, "fullDescription": {"text": "`src/gateway/server.control-ui-root.test.ts:40` calls `GET http://127.0.0.1:${port}/` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bef99cca1870411c", "name": "Dangling fetch: POST http://127.0.0.1:${port}${pathname} (src/gateway/session-kill-http.test.ts:116)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${port}${pathname} (src/gateway/session-kill-http.test.ts:116)"}, "fullDescription": {"text": "`src/gateway/session-kill-http.test.ts:116` calls `POST http://127.0.0.1:${port}${pathname}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ac62a74861fde2e", "name": "Dangling fetch: POST http://127.0.0.1:${params.port}/mcp (src/gateway/mcp-http.test.ts:122)", "shortDescription": {"text": "Dangling fetch: POST http://127.0.0.1:${params.port}/mcp (src/gateway/mcp-http.test.ts:122)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:122` calls `POST http://127.0.0.1:${params.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f24a9ae686c0868a", "name": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1286)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1286)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1286` calls `GET http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-35283dacb278a4aa", "name": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1298)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1298)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1298` calls `GET http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94a9c858403f2803", "name": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1323)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1323)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1323` calls `GET http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-703f87705c99e70d", "name": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1331)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1331)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1331` calls `GET http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4184f2ee24548d89", "name": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1345)", "shortDescription": {"text": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1345)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1345` calls `DELETE http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a595de8eca2f6465", "name": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1355)", "shortDescription": {"text": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1355)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1355` calls `DELETE http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6f0e223e3366ce11", "name": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1366)", "shortDescription": {"text": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1366)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1366` calls `DELETE http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c978ff620d52311b", "name": "Dangling fetch: PUT http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1372)", "shortDescription": {"text": "Dangling fetch: PUT http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1372)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1372` calls `PUT http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb442218e19ee6df", "name": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1391)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1391)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1391` calls `GET http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2b968befedfb3972", "name": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1401)", "shortDescription": {"text": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1401)"}, "fullDescription": {"text": "`src/gateway/mcp-http.test.ts:1401` calls `DELETE http://127.0.0.1:${server.port}/mcp` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/mcp`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9c372f9b4af7595b", "name": "Dangling fetch: POST https://evil.com/collect (src/skills/security/scanner.test.ts:209)", "shortDescription": {"text": "Dangling fetch: POST https://evil.com/collect (src/skills/security/scanner.test.ts:209)"}, "fullDescription": {"text": "`src/skills/security/scanner.test.ts:209` calls `POST https://evil.com/collect` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/evil.com/collect`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1c3fb42e9d6eaad6", "name": "Dangling fetch: POST https://evil.com/harvest (src/skills/security/scanner.test.ts:245)", "shortDescription": {"text": "Dangling fetch: POST https://evil.com/harvest (src/skills/security/scanner.test.ts:245)"}, "fullDescription": {"text": "`src/skills/security/scanner.test.ts:245` calls `POST https://evil.com/harvest` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/evil.com/harvest`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2da0bb2c42d25e81", "name": "Dangling fetch: GET https://example.invalid (src/skills/security/scanner.test.ts:290)", "shortDescription": {"text": "Dangling fetch: GET https://example.invalid (src/skills/security/scanner.test.ts:290)"}, "fullDescription": {"text": "`src/skills/security/scanner.test.ts:290` calls `GET https://example.invalid` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/example.invalid`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-04be4b1676047a09", "name": "Dangling fetch: GET https://api.example.com/data (src/skills/security/scanner.test.ts:312)", "shortDescription": {"text": "Dangling fetch: GET https://api.example.com/data (src/skills/security/scanner.test.ts:312)"}, "fullDescription": {"text": "`src/skills/security/scanner.test.ts:312` calls `GET https://api.example.com/data` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.example.com/data`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-91371df6d4ec839e", "name": "Dangling fetch: POST https://evil.example/harvest (src/skills/security/scanner.test.ts:350)", "shortDescription": {"text": "Dangling fetch: POST https://evil.example/harvest (src/skills/security/scanner.test.ts:350)"}, "fullDescription": {"text": "`src/skills/security/scanner.test.ts:350` calls `POST https://evil.example/harvest` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/evil.example/harvest`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c51c42cb9edcf2d1", "name": "Dangling fetch: POST https://evil.example/harvest (src/skills/security/scanner.test.ts:436)", "shortDescription": {"text": "Dangling fetch: POST https://evil.example/harvest (src/skills/security/scanner.test.ts:436)"}, "fullDescription": {"text": "`src/skills/security/scanner.test.ts:436` calls `POST https://evil.example/harvest` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/evil.example/harvest`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a96b8cbe003505bb", "name": "Dangling fetch: POST https://api.minimax.io/anthropic/messages (src/proxy-capture/runtime.test.ts:68)", "shortDescription": {"text": "Dangling fetch: POST https://api.minimax.io/anthropic/messages (src/proxy-capture/runtime.test.ts:68)"}, "fullDescription": {"text": "`src/proxy-capture/runtime.test.ts:68` calls `POST https://api.minimax.io/anthropic/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.minimax.io/anthropic/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7ffd2d2e83f4ac69", "name": "Dangling fetch: POST https://api.example.com/messages (src/proxy-capture/runtime.test.ts:103)", "shortDescription": {"text": "Dangling fetch: POST https://api.example.com/messages (src/proxy-capture/runtime.test.ts:103)"}, "fullDescription": {"text": "`src/proxy-capture/runtime.test.ts:103` calls `POST https://api.example.com/messages` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.example.com/messages`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c17a31e7e016ad9", "name": "Dangling fetch: OPTIONS http://127.0.0.1:${port}/callback (src/plugin-sdk/provider-auth-runtime.test.ts:97)", "shortDescription": {"text": "Dangling fetch: OPTIONS http://127.0.0.1:${port}/callback (src/plugin-sdk/provider-auth-runtime.test.ts:97)"}, "fullDescription": {"text": "`src/plugin-sdk/provider-auth-runtime.test.ts:97` calls `OPTIONS http://127.0.0.1:${port}/callback` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/callback`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-47837d6da5186fb7", "name": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.te", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.test.ts:112)"}, "fullDescription": {"text": "`src/plugin-sdk/provider-auth-runtime.test.ts:112` calls `GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/callback`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ab6f4cd2defccffd", "name": "Dangling fetch: OPTIONS http://127.0.0.1:${port}/callback (src/plugin-sdk/provider-auth-runtime.test.ts:136)", "shortDescription": {"text": "Dangling fetch: OPTIONS http://127.0.0.1:${port}/callback (src/plugin-sdk/provider-auth-runtime.test.ts:136)"}, "fullDescription": {"text": "`src/plugin-sdk/provider-auth-runtime.test.ts:136` calls `OPTIONS http://127.0.0.1:${port}/callback` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/callback`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-559c6a6058a4e09b", "name": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.te", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.test.ts:152)"}, "fullDescription": {"text": "`src/plugin-sdk/provider-auth-runtime.test.ts:152` calls `GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/callback`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4aad3ac53e9471ed", "name": "Dangling fetch: OPTIONS http://127.0.0.1:${port}/callback (src/plugin-sdk/provider-auth-runtime.test.ts:175)", "shortDescription": {"text": "Dangling fetch: OPTIONS http://127.0.0.1:${port}/callback (src/plugin-sdk/provider-auth-runtime.test.ts:175)"}, "fullDescription": {"text": "`src/plugin-sdk/provider-auth-runtime.test.ts:175` calls `OPTIONS http://127.0.0.1:${port}/callback` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/callback`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-afeee191390acbb3", "name": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.te", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.test.ts:187)"}, "fullDescription": {"text": "`src/plugin-sdk/provider-auth-runtime.test.ts:187` calls `GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/callback`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-28276d4d6b936940", "name": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.te", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.test.ts:211)"}, "fullDescription": {"text": "`src/plugin-sdk/provider-auth-runtime.test.ts:211` calls `GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/127.0.0.1:/<p>/callback`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3ab1f39c8832f38d", "name": "Dangling fetch: POST https://evil.example/harvest (src/plugins/install.test.ts:1689)", "shortDescription": {"text": "Dangling fetch: POST https://evil.example/harvest (src/plugins/install.test.ts:1689)"}, "fullDescription": {"text": "`src/plugins/install.test.ts:1689` calls `POST https://evil.example/harvest` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/evil.example/harvest`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-01dc2027d38f71af", "name": "Dangling fetch: POST https://example.invalid (src/plugins/install.test.ts:1714)", "shortDescription": {"text": "Dangling fetch: POST https://example.invalid (src/plugins/install.test.ts:1714)"}, "fullDescription": {"text": "`src/plugins/install.test.ts:1714` calls `POST https://example.invalid` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/example.invalid`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-071a9cb00620d9e6", "name": "Dangling fetch: POST https://evil.example/harvest (src/plugins/install.test.ts:1894)", "shortDescription": {"text": "Dangling fetch: POST https://evil.example/harvest (src/plugins/install.test.ts:1894)"}, "fullDescription": {"text": "`src/plugins/install.test.ts:1894` calls `POST https://evil.example/harvest` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/evil.example/harvest`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5a9e0e70092ffa24", "name": "Unused endpoint: POST /api/messages", "shortDescription": {"text": "Unused endpoint: POST /api/messages"}, "fullDescription": {"text": "`extensions/msteams/src/monitor.ts` declares `POST /api/messages` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b135adf8b2ac4da2", "name": "Unused endpoint: GET /sandbox/novnc", "shortDescription": {"text": "Unused endpoint: GET /sandbox/novnc"}, "fullDescription": {"text": "`extensions/browser/src/browser/bridge-server.ts` declares `GET /sandbox/novnc` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`extensions/browser/src/browser/bridge-server.ts` declares `GET /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-363143a2ad990255", "name": "Unused endpoint: POST /navigate", "shortDescription": {"text": "Unused endpoint: POST /navigate"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.snapshot.ts` declares `POST /navigate` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba67ceae243e6e30", "name": "Unused endpoint: POST /pdf", "shortDescription": {"text": "Unused endpoint: POST /pdf"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.snapshot.ts` declares `POST /pdf` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d8250d23ca2ab67", "name": "Unused endpoint: POST /screenshot", "shortDescription": {"text": "Unused endpoint: POST /screenshot"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.snapshot.ts` declares `POST /screenshot` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c085d1b690941f8", "name": "Unused endpoint: GET /snapshot", "shortDescription": {"text": "Unused endpoint: GET /snapshot"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.snapshot.ts` declares `GET /snapshot` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-39866e2e69fe467c", "name": "Unused endpoint: GET /console", "shortDescription": {"text": "Unused endpoint: GET /console"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.debug.ts` declares `GET /console` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1515654f1d0fdbfe", "name": "Unused endpoint: GET /errors", "shortDescription": {"text": "Unused endpoint: GET /errors"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.debug.ts` declares `GET /errors` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42719ea76f9ecae3", "name": "Unused endpoint: GET /requests", "shortDescription": {"text": "Unused endpoint: GET /requests"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.debug.ts` declares `GET /requests` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9c4e55608191ace", "name": "Unused endpoint: GET /dialogs", "shortDescription": {"text": "Unused endpoint: GET /dialogs"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.debug.ts` declares `GET /dialogs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8552926a7000e0c2", "name": "Unused endpoint: POST /trace/start", "shortDescription": {"text": "Unused endpoint: POST /trace/start"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.debug.ts` declares `POST /trace/start` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1515aed1e420aef2", "name": "Unused endpoint: POST /trace/stop", "shortDescription": {"text": "Unused endpoint: POST /trace/stop"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.debug.ts` declares `POST /trace/stop` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e8ab2b0b0c864f4", "name": "Unused endpoint: POST /permissions/grant", "shortDescription": {"text": "Unused endpoint: POST /permissions/grant"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/permissions.ts` declares `POST /permissions/grant` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71ca89ab38d002bb", "name": "Unused endpoint: GET /cookies", "shortDescription": {"text": "Unused endpoint: GET /cookies"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `GET /cookies` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1628c6443b505b6d", "name": "Unused endpoint: POST /cookies/set", "shortDescription": {"text": "Unused endpoint: POST /cookies/set"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /cookies/set` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-237901e45540c4e7", "name": "Unused endpoint: POST /cookies/clear", "shortDescription": {"text": "Unused endpoint: POST /cookies/clear"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /cookies/clear` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca0d2167d64b7fb8", "name": "Unused endpoint: GET /storage/:kind", "shortDescription": {"text": "Unused endpoint: GET /storage/:kind"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `GET /storage/:kind` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-886bb4800c4fa182", "name": "Unused endpoint: POST /storage/:kind/set", "shortDescription": {"text": "Unused endpoint: POST /storage/:kind/set"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /storage/:kind/set` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ce49ae34674623a", "name": "Unused endpoint: POST /storage/:kind/clear", "shortDescription": {"text": "Unused endpoint: POST /storage/:kind/clear"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /storage/:kind/clear` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb8279751c25c50a", "name": "Unused endpoint: POST /set/offline", "shortDescription": {"text": "Unused endpoint: POST /set/offline"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /set/offline` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e23b5a4d96c66536", "name": "Unused endpoint: POST /set/headers", "shortDescription": {"text": "Unused endpoint: POST /set/headers"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /set/headers` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d36a6a0de154d387", "name": "Unused endpoint: POST /set/credentials", "shortDescription": {"text": "Unused endpoint: POST /set/credentials"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /set/credentials` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6801264f67cae589", "name": "Unused endpoint: POST /set/geolocation", "shortDescription": {"text": "Unused endpoint: POST /set/geolocation"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /set/geolocation` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9dda5dc77dc2f670", "name": "Unused endpoint: POST /set/media", "shortDescription": {"text": "Unused endpoint: POST /set/media"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /set/media` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5e853ad1f982d8", "name": "Unused endpoint: POST /set/timezone", "shortDescription": {"text": "Unused endpoint: POST /set/timezone"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /set/timezone` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d3170392513a4b27", "name": "Unused endpoint: POST /set/locale", "shortDescription": {"text": "Unused endpoint: POST /set/locale"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /set/locale` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a48f14cae5ea716", "name": "Unused endpoint: POST /set/device", "shortDescription": {"text": "Unused endpoint: POST /set/device"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.storage.ts` declares `POST /set/device` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bde561e2a674d825", "name": "Unused endpoint: GET /tabs", "shortDescription": {"text": "Unused endpoint: GET /tabs"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/tabs.ts` declares `GET /tabs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0ffb7387c18400e", "name": "Unused endpoint: POST /tabs/open", "shortDescription": {"text": "Unused endpoint: POST /tabs/open"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/tabs.ts` declares `POST /tabs/open` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07662a7a501fa8d7", "name": "Unused endpoint: POST /tabs/focus", "shortDescription": {"text": "Unused endpoint: POST /tabs/focus"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/tabs.ts` declares `POST /tabs/focus` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-03fcf605501f155f", "name": "Unused endpoint: DELETE /tabs/:targetId", "shortDescription": {"text": "Unused endpoint: DELETE /tabs/:targetId"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/tabs.ts` declares `DELETE /tabs/:targetId` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ada56d2bb91bfa2", "name": "Unused endpoint: POST /tabs/action", "shortDescription": {"text": "Unused endpoint: POST /tabs/action"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/tabs.ts` declares `POST /tabs/action` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d9534131ed7ca41", "name": "Unused endpoint: GET /profiles", "shortDescription": {"text": "Unused endpoint: GET /profiles"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/basic.ts` declares `GET /profiles` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d5259467da945a9", "name": "Unused endpoint: GET /doctor", "shortDescription": {"text": "Unused endpoint: GET /doctor"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/basic.ts` declares `GET /doctor` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9868b51ab240c13", "name": "Unused endpoint: POST /profiles/create", "shortDescription": {"text": "Unused endpoint: POST /profiles/create"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/basic.ts` declares `POST /profiles/create` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cae007d4527ae69", "name": "Unused endpoint: DELETE /profiles/:name", "shortDescription": {"text": "Unused endpoint: DELETE /profiles/:name"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/basic.ts` declares `DELETE /profiles/:name` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-316f5d26daffa7f4", "name": "Unused endpoint: POST /hooks/file-chooser", "shortDescription": {"text": "Unused endpoint: POST /hooks/file-chooser"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.act.hooks.ts` declares `POST /hooks/file-chooser` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9b83795af3b3c18", "name": "Unused endpoint: POST /hooks/dialog", "shortDescription": {"text": "Unused endpoint: POST /hooks/dialog"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.act.hooks.ts` declares `POST /hooks/dialog` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07c8058844c53ae8", "name": "Unused endpoint: POST /act", "shortDescription": {"text": "Unused endpoint: POST /act"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.act.ts` declares `POST /act` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-25bcc9202d9a9856", "name": "Unused endpoint: POST /response/body", "shortDescription": {"text": "Unused endpoint: POST /response/body"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.act.ts` declares `POST /response/body` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8add6a11c26b02c", "name": "Unused endpoint: POST /highlight", "shortDescription": {"text": "Unused endpoint: POST /highlight"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.act.ts` declares `POST /highlight` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e37e11fb10067f11", "name": "Unused endpoint: POST /wait/download", "shortDescription": {"text": "Unused endpoint: POST /wait/download"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.act.download.ts` declares `POST /wait/download` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5654b898499633a4", "name": "Unused endpoint: POST /download", "shortDescription": {"text": "Unused endpoint: POST /download"}, "fullDescription": {"text": "`extensions/browser/src/browser/routes/agent.act.download.ts` declares `POST /download` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/22249"}, "properties": {"repository": "vignesh2027/Vilvona-AI", "repoUrl": "https://github.com/vignesh2027/Vilvona-AI", "branch": "main"}, "results": [{"ruleId": "scanner-7c08ca35b6221de0", "level": "note", "message": {"text": "Possibly dead Python function: destroy"}, "properties": {"repobilityId": "a6948a4d6a39f413", "scanner": "scanner-primary", "fingerprint": "7c08ca35b6221de0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:192"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-97f800a76ce35f9f", "level": "note", "message": {"text": "Possibly dead Python function: command_configure"}, "properties": {"repobilityId": "827aa9deeca877b7", "scanner": "scanner-primary", "fingerprint": "97f800a76ce35f9f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:513"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9112f976179f78fa", "level": "note", "message": {"text": "Possibly dead Python function: command_doctor"}, "properties": {"repobilityId": "ff84c5aa4f187f0f", "scanner": "scanner-primary", "fingerprint": "9112f976179f78fa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:534"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-91ee688ddfc7c53e", "level": "note", "message": {"text": "Possibly dead Python function: command_login"}, "properties": {"repobilityId": "0c0913a0c31b926c", "scanner": "scanner-primary", "fingerprint": "91ee688ddfc7c53e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:570"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6748f9c90e83723c", "level": "note", "message": {"text": "Possibly dead Python function: command_status"}, "properties": {"repobilityId": "9cdcd4f9aeb78962", "scanner": "scanner-primary", "fingerprint": "6748f9c90e83723c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:579"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e5780ad9a77c1287", "level": "note", "message": {"text": "Possibly dead Python function: command_confirm_qr"}, "properties": {"repobilityId": "aa3c7bbc9205ee1c", "scanner": "scanner-primary", "fingerprint": "e5780ad9a77c1287", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:591"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5ebf2bc77880d4f7", "level": "note", "message": {"text": "Possibly dead Python function: command_terminate_session"}, "properties": {"repobilityId": "23952bf8d13b7742", "scanner": "scanner-primary", "fingerprint": "5ebf2bc77880d4f7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:614"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0be5cb9bcf9abef3", "level": "note", "message": {"text": "Possibly dead Python function: command_terminate_desktop_sessions"}, "properties": {"repobilityId": "2af25ca6c4749231", "scanner": "scanner-primary", "fingerprint": "0be5cb9bcf9abef3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:622"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d2b7829ed2c44223", "level": "note", "message": {"text": "Possibly dead Python function: command_send"}, "properties": {"repobilityId": "8898681614fa8d8a", "scanner": "scanner-primary", "fingerprint": "d2b7829ed2c44223", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:659"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9ef414bcdb56af84", "level": "note", "message": {"text": "Possibly dead Python function: command_wait"}, "properties": {"repobilityId": "3b9c680856da3707", "scanner": "scanner-primary", "fingerprint": "9ef414bcdb56af84", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:669"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8e9d224cb9e041c8", "level": "note", "message": {"text": "Possibly dead Python function: command_probe"}, "properties": {"repobilityId": "bd1ab44f5a99f812", "scanner": "scanner-primary", "fingerprint": "8e9d224cb9e041c8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:689"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3464398df7f2f94b", "level": "note", "message": {"text": "Possibly dead Python function: command_transcript"}, "properties": {"repobilityId": "52cc20e7daf70907", "scanner": "scanner-primary", "fingerprint": "3464398df7f2f94b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:719"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f01f8e7afbfcbdf4", "level": "note", "message": {"text": "Possibly dead Python function: command_chats"}, "properties": {"repobilityId": "cfaf79a72c96547c", "scanner": "scanner-primary", "fingerprint": "f01f8e7afbfcbdf4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/e2e/telegram-user-driver.py:738"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd0d2f6512bffc73", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/image-generation.runtime.live.test.ts:334"}, "properties": {"repobilityId": "3dd2d57ecd5a5ec7", "scanner": "scanner-primary", "fingerprint": "cd0d2f6512bffc73", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e4c0c55fc10e6a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/test-env.ts:113"}, "properties": {"repobilityId": "3cfb783da72aec9e", "scanner": "scanner-primary", "fingerprint": "4e4c0c55fc10e6a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-59af1d26ecd010bb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/vitest-unit-fast-config.test.ts:77"}, "properties": {"repobilityId": "cf37c282e5e4c7aa", "scanner": "scanner-primary", "fingerprint": "59af1d26ecd010bb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8f67d3f113991c81", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/ui.test.ts:117"}, "properties": {"repobilityId": "85773d49831b5082", "scanner": "scanner-primary", "fingerprint": "8f67d3f113991c81", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-31a0cc918ce2429c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/plugin-gateway-gauntlet.test.ts:563"}, "properties": {"repobilityId": "2c96e9ddef5817df", "scanner": "scanner-primary", "fingerprint": "31a0cc918ce2429c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-725b5d147f838ca5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/run-additional-boundary-checks.test.ts:119"}, "properties": {"repobilityId": "e61adc054e661816", "scanner": "scanner-primary", "fingerprint": "725b5d147f838ca5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97abb0282e9346d6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/build-all.test.ts:76"}, "properties": {"repobilityId": "d2d34c020554677c", "scanner": "scanner-primary", "fingerprint": "97abb0282e9346d6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b6b35b3223ddc959", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/check-extension-package-tsc-boundary.test.ts:343"}, "properties": {"repobilityId": "f2ea86dedd6ea8d1", "scanner": "scanner-primary", "fingerprint": "b6b35b3223ddc959", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fadd0303c0d20270", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/check-cli-startup-memory.test.ts:33"}, "properties": {"repobilityId": "d8723698e189d103", "scanner": "scanner-primary", "fingerprint": "fadd0303c0d20270", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-90371bbd4a2ef6c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/check-openclaw-package-tarball.test.ts:58"}, "properties": {"repobilityId": "58ccd5a9161473b5", "scanner": "scanner-primary", "fingerprint": "90371bbd4a2ef6c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c29fcec60f850328", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/parallels-smoke-model.test.ts:471"}, "properties": {"repobilityId": "515b7bd14c1dc846", "scanner": "scanner-primary", "fingerprint": "c29fcec60f850328", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c31b9cd7bca789ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/tsdown-build.test.ts:80"}, "properties": {"repobilityId": "2fe8c42fd6cf9f5e", "scanner": "scanner-primary", "fingerprint": "c31b9cd7bca789ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e064e1941a213842", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/real-behavior-proof-policy.test.ts:150"}, "properties": {"repobilityId": "d2ded4b7fb13336b", "scanner": "scanner-primary", "fingerprint": "e064e1941a213842", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-65a22b5963de0ed8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/bundled-plugin-install-uninstall-probe.test.ts:41"}, "properties": {"repobilityId": "d5966e8015155a31", "scanner": "scanner-primary", "fingerprint": "65a22b5963de0ed8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-071768df93416cd8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/e2e-run-with-pty.test.ts:116"}, "properties": {"repobilityId": "d25550b3930e87c1", "scanner": "scanner-primary", "fingerprint": "071768df93416cd8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4971c1565ef73d5d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/pnpm-runner.test.ts:15"}, "properties": {"repobilityId": "8e22bb3d49e7b64d", "scanner": "scanner-primary", "fingerprint": "4971c1565ef73d5d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80a9e6749f46e1b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/runtime-postbuild.test.ts:198"}, "properties": {"repobilityId": "1fc9cddbb9afeb86", "scanner": "scanner-primary", "fingerprint": "80a9e6749f46e1b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5aa714f0621944e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/kitchen-sink-plugin-assertions.test.ts:567"}, "properties": {"repobilityId": "9e193d2beefd96f0", "scanner": "scanner-primary", "fingerprint": "d5aa714f0621944e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b5901992704af458", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/check-deadcode-unused-files.test.ts:137"}, "properties": {"repobilityId": "0931536763780a14", "scanner": "scanner-primary", "fingerprint": "b5901992704af458", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5d378d0ab1ce5654", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/scripts/crabbox-wrapper.test.ts:161"}, "properties": {"repobilityId": "fb63547532c195cd", "scanner": "scanner-primary", "fingerprint": "5d378d0ab1ce5654", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-54bc73b80ac5285d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test/proof/thinking-signature-real-proof.ts:36"}, "properties": {"repobilityId": "203aa4f7d49e55ab", "scanner": "scanner-primary", "fingerprint": "54bc73b80ac5285d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b110557664695c16", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/android/scripts/build-release-aab.ts:135"}, "properties": {"repobilityId": "170d5a7253edc532", "scanner": "scanner-primary", "fingerprint": "b110557664695c16", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-62944dad592b818a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 ui/src/ui/markdown.test.ts:369"}, "properties": {"repobilityId": "086b83018cb9156a", "scanner": "scanner-primary", "fingerprint": "62944dad592b818a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-02a77295d2340123", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 ui/src/ui/chat/chat-responsive.browser.test.ts:210"}, "properties": {"repobilityId": "a0e35f2eed549581", "scanner": "scanner-primary", "fingerprint": "02a77295d2340123", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cbfe796844d552f3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-prompt-snapshots.ts:83"}, "properties": {"repobilityId": "e1ece5eb23f96a1e", "scanner": "scanner-primary", "fingerprint": "cbfe796844d552f3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3028795efbdfd221", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/copy-hook-metadata.ts:49"}, "properties": {"repobilityId": "c7aff6f0aaf2ef9c", "scanner": "scanner-primary", "fingerprint": "3028795efbdfd221", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-71a9ea35120a4398", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-force.ts:40"}, "properties": {"repobilityId": "fc1d66c8f26905fc", "scanner": "scanner-primary", "fingerprint": "71a9ea35120a4398", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-619ccfb3c6e4577c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-codex-app-server-protocol.ts:38"}, "properties": {"repobilityId": "d17473686d7a2396", "scanner": "scanner-primary", "fingerprint": "619ccfb3c6e4577c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ddd9308bc59ec6d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ios-version.ts:43"}, "properties": {"repobilityId": "839c34a80722cc74", "scanner": "scanner-primary", "fingerprint": "3ddd9308bc59ec6d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-95c7d94c944e5c0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-npm-prepublish-verify.ts:81"}, "properties": {"repobilityId": "e6db879982d39251", "scanner": "scanner-primary", "fingerprint": "95c7d94c944e5c0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a9d43ac19f916773", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-import-cycles.ts:153"}, "properties": {"repobilityId": "afba66cb8da11592", "scanner": "scanner-primary", "fingerprint": "a9d43ac19f916773", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35f0e6fb207a0467", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-base-config-schema.ts:20"}, "properties": {"repobilityId": "17436d815f95c6d8", "scanner": "scanner-primary", "fingerprint": "35f0e6fb207a0467", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b290835a6a866bc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/plugin-clawhub-release-plan.ts:21"}, "properties": {"repobilityId": "108cc8f344610604", "scanner": "scanner-primary", "fingerprint": "1b290835a6a866bc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-db6fc93ce7ff55d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ios-pin-version.ts:69"}, "properties": {"repobilityId": "cf06d78f49347d85", "scanner": "scanner-primary", "fingerprint": "db6fc93ce7ff55d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ff223a1fda0f02c0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/docs-list.js:154"}, "properties": {"repobilityId": "184ef4c47665e41e", "scanner": "scanner-primary", "fingerprint": "ff223a1fda0f02c0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b89d243dbe622971", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release-check.ts:1222"}, "properties": {"repobilityId": "5b0fbfbcfe1b700d", "scanner": "scanner-primary", "fingerprint": "b89d243dbe622971", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-59cf19e8dddb5aea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-cli-startup.ts:775"}, "properties": {"repobilityId": "d53d52ce0b5e83c4", "scanner": "scanner-primary", "fingerprint": "59cf19e8dddb5aea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac2ab71ec618f13b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sparkle-build.ts:115"}, "properties": {"repobilityId": "af10a4020d096235", "scanner": "scanner-primary", "fingerprint": "ac2ab71ec618f13b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e7813db638f5585c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-sqlite-state.ts:170"}, "properties": {"repobilityId": "7aa049b9b89c47c0", "scanner": "scanner-primary", "fingerprint": "e7813db638f5585c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-375291dab61553d0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-no-deprecated-channel-access.ts:109"}, "properties": {"repobilityId": "1270aeb499159fc1", "scanner": "scanner-primary", "fingerprint": "375291dab61553d0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-147e6ff36e0e4148", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ios-sync-versioning.ts:33"}, "properties": {"repobilityId": "34c0136e99be2499", "scanner": "scanner-primary", "fingerprint": "147e6ff36e0e4148", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66f71656883b9345", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-shell-completion.ts:66"}, "properties": {"repobilityId": "150bc8fcd333be7b", "scanner": "scanner-primary", "fingerprint": "66f71656883b9345", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-23f6637a817b82cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-config-doc-baseline.ts:23"}, "properties": {"repobilityId": "6fdbebe14d5b4521", "scanner": "scanner-primary", "fingerprint": "23f6637a817b82cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-53d7152247392e93", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-no-extension-src-imports.ts:39"}, "properties": {"repobilityId": "6eacf045cbf5b52e", "scanner": "scanner-primary", "fingerprint": "53d7152247392e93", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a51ac7fe4a4262f3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-gateway-restart.ts:339"}, "properties": {"repobilityId": "f1846ff02cf41b7c", "scanner": "scanner-primary", "fingerprint": "a51ac7fe4a4262f3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-62d6703d2c4fecd1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/copy-export-html-templates.ts:52"}, "properties": {"repobilityId": "3d9e3feaf2ffca0b", "scanner": "scanner-primary", "fingerprint": "62d6703d2c4fecd1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5887f9075de5ddac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-cross-os-release-checks.ts:2954"}, "properties": {"repobilityId": "9625193091d1b13b", "scanner": "scanner-primary", "fingerprint": "5887f9075de5ddac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97e9446085cf0c88", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/anthropic-prompt-probe.ts:821"}, "properties": {"repobilityId": "08ecf008ccd28fa2", "scanner": "scanner-primary", "fingerprint": "97e9446085cf0c88", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-007eaaa62dddca31", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-live-media.ts:399"}, "properties": {"repobilityId": "975fa9274373239e", "scanner": "scanner-primary", "fingerprint": "007eaaa62dddca31", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf4f785877a6455f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-npm-postpublish-verify.ts:705"}, "properties": {"repobilityId": "89198e24c2cb5f69", "scanner": "scanner-primary", "fingerprint": "bf4f785877a6455f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b245884182ac22c3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/proof-73706-message-sending-session-key.ts:129"}, "properties": {"repobilityId": "ed052d5b32519ca8", "scanner": "scanner-primary", "fingerprint": "b245884182ac22c3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e498fccda1a645e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-gateway-startup.ts:279"}, "properties": {"repobilityId": "4151be256f7c28ab", "scanner": "scanner-primary", "fingerprint": "5e498fccda1a645e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3600170591d62f2f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/plugin-npm-release-plan.ts:18"}, "properties": {"repobilityId": "d8ac55c586e492d1", "scanner": "scanner-primary", "fingerprint": "3600170591d62f2f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-20c01163104abc81", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-madge-import-cycles.ts:104"}, "properties": {"repobilityId": "c577f55349c00f04", "scanner": "scanner-primary", "fingerprint": "20c01163104abc81", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe74ec093c0da27d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/protocol-gen-swift.ts:639"}, "properties": {"repobilityId": "9f8d93d35a398542", "scanner": "scanner-primary", "fingerprint": "fe74ec093c0da27d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-19941c3376f064a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-plugin-versions.ts:178"}, "properties": {"repobilityId": "cfa9edfaaaaaada2", "scanner": "scanner-primary", "fingerprint": "19941c3376f064a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bb6b09a9ea672ab3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-runtime-sidecar-paths-baseline.ts:33"}, "properties": {"repobilityId": "0e95ae3ee9eec025", "scanner": "scanner-primary", "fingerprint": "bb6b09a9ea672ab3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d0d591055a592efd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-plugin-sdk-api-baseline.ts:35"}, "properties": {"repobilityId": "9d4e8c40cec8dc1c", "scanner": "scanner-primary", "fingerprint": "d0d591055a592efd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57588afff148c9f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/plugin-npm-release-check.ts:48"}, "properties": {"repobilityId": "37432bcd9694b018", "scanner": "scanner-primary", "fingerprint": "57588afff148c9f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-265485a5292ca81d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-codex-model-prompt-fixture.ts:284"}, "properties": {"repobilityId": "17dfbc2e4843ee7c", "scanner": "scanner-primary", "fingerprint": "265485a5292ca81d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d433c46ca2261be3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/bench-model.ts:76"}, "properties": {"repobilityId": "6e3a9c43bd8721e1", "scanner": "scanner-primary", "fingerprint": "d433c46ca2261be3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fad46219aa706a47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-claude-usage.ts:419"}, "properties": {"repobilityId": "965492a2bb391f02", "scanner": "scanner-primary", "fingerprint": "fad46219aa706a47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9674a8eb9ad98316", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/readability-basic-compare.ts:49"}, "properties": {"repobilityId": "609b9e7aad898da9", "scanner": "scanner-primary", "fingerprint": "9674a8eb9ad98316", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f0a723ffbcd0c68", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/openclaw-npm-release-check.ts:775"}, "properties": {"repobilityId": "6974c5d7754bdf5b", "scanner": "scanner-primary", "fingerprint": "3f0a723ffbcd0c68", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6e852a18e1413fc0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/firecrawl-compare.ts:90"}, "properties": {"repobilityId": "d44661a2955db28e", "scanner": "scanner-primary", "fingerprint": "6e852a18e1413fc0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-62f6b20b5e0c01c3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/update-clawtributors.ts:319"}, "properties": {"repobilityId": "df25a09d129d123f", "scanner": "scanner-primary", "fingerprint": "62f6b20b5e0c01c3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-653ae8142cb8bd84", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/control-ui-mock-dev.ts:385"}, "properties": {"repobilityId": "736806cb8f159044", "scanner": "scanner-primary", "fingerprint": "653ae8142cb8bd84", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e5220510e060d999", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release-verify-beta.ts:10"}, "properties": {"repobilityId": "ba47da3c4173ad4e", "scanner": "scanner-primary", "fingerprint": "e5220510e060d999", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bca9b7ff087703e0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/protocol-gen.ts:41"}, "properties": {"repobilityId": "ac3486dbff1fffbf", "scanner": "scanner-primary", "fingerprint": "bca9b7ff087703e0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-521acbaa95ee47dd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-codex-app-server-protocol.ts:114"}, "properties": {"repobilityId": "b17efbcd119f177f", "scanner": "scanner-primary", "fingerprint": "521acbaa95ee47dd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3e718b00671ae657", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-no-extension-test-core-imports.ts:355"}, "properties": {"repobilityId": "85a0d2fb8c2d9f6f", "scanner": "scanner-primary", "fingerprint": "3e718b00671ae657", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-132a917bc25f57b0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/plugin-clawhub-release-check.ts:45"}, "properties": {"repobilityId": "9b64c08fdbb9d717", "scanner": "scanner-primary", "fingerprint": "132a917bc25f57b0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-832821ad8d16c828", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-bundled-channel-config-metadata.ts:348"}, "properties": {"repobilityId": "5baa81c43ad24b9f", "scanner": "scanner-primary", "fingerprint": "832821ad8d16c828", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3876adbe7eed0726", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/sync-labels.ts:64"}, "properties": {"repobilityId": "59bc46cc8ee6c3c9", "scanner": "scanner-primary", "fingerprint": "3876adbe7eed0726", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-10bc8426e37fd7f4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-no-monolithic-plugin-sdk-entry-imports.ts:156"}, "properties": {"repobilityId": "76a37202dc1034f3", "scanner": "scanner-primary", "fingerprint": "10bc8426e37fd7f4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1bf11187b1d1aa59", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release-beta-smoke.ts:385"}, "properties": {"repobilityId": "8a5b09a2229cc690", "scanner": "scanner-primary", "fingerprint": "1bf11187b1d1aa59", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5da25f44aa6872fc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/generate-secretref-credential-matrix.ts:15"}, "properties": {"repobilityId": "4f67c0d7acdf507d", "scanner": "scanner-primary", "fingerprint": "5da25f44aa6872fc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d2bc9c1759653feb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cron_usage_report.ts:242"}, "properties": {"repobilityId": "6f8d5537d16afbb1", "scanner": "scanner-primary", "fingerprint": "d2bc9c1759653feb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-87d590cde12cedd0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/lib/copy-assets.ts:29"}, "properties": {"repobilityId": "a7d327ba99ac5050", "scanner": "scanner-primary", "fingerprint": "87d590cde12cedd0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7142301daffee3e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/dev/realtime-talk-live-smoke.ts:107"}, "properties": {"repobilityId": "9ab991126f7902b3", "scanner": "scanner-primary", "fingerprint": "b7142301daffee3e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8031dfa546815fe9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/repro/code-mode-namespace-live.ts:637"}, "properties": {"repobilityId": "ee92fefcd9104713", "scanner": "scanner-primary", "fingerprint": "8031dfa546815fe9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9133e88e4eaed8e1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/repro/tsx-name-repro.ts:4"}, "properties": {"repobilityId": "9a851c5598af1bdc", "scanner": "scanner-primary", "fingerprint": "9133e88e4eaed8e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-876c89b513d66154", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/crestodian-first-run-docker-client.ts:177"}, "properties": {"repobilityId": "a7cbc62151ec505d", "scanner": "scanner-primary", "fingerprint": "876c89b513d66154", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-af11a5f8de3aaa64", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/session-runtime-context-docker-client.ts:244"}, "properties": {"repobilityId": "2db7842cf3e87116", "scanner": "scanner-primary", "fingerprint": "af11a5f8de3aaa64", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-73442405473a2f97", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/telegram-user-credential.ts:53"}, "properties": {"repobilityId": "99431fe06236d6d2", "scanner": "scanner-primary", "fingerprint": "73442405473a2f97", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d814272201a35bdf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/crestodian-rescue-docker-client.ts:264"}, "properties": {"repobilityId": "c3db35ae6e8c5ef5", "scanner": "scanner-primary", "fingerprint": "d814272201a35bdf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-698988782d3af368", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/telegram-user-crabbox-proof.ts:377"}, "properties": {"repobilityId": "60dea98728a6ae94", "scanner": "scanner-primary", "fingerprint": "698988782d3af368", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9dcd9eebe44815e8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/e2e/commitments-safety-docker-client.ts:287"}, "properties": {"repobilityId": "1971512d65c69391", "scanner": "scanner-primary", "fingerprint": "9dcd9eebe44815e8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b862385ebe7fbba9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/music-generation-providers.live.test.ts:323"}, "properties": {"repobilityId": "e32d5db29483d82b", "scanner": "scanner-primary", "fingerprint": "b862385ebe7fbba9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0b0e9981a3c8295d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/video-generation-providers.live.test.ts:342"}, "properties": {"repobilityId": "ba49b7e060376d0e", "scanner": "scanner-primary", "fingerprint": "0b0e9981a3c8295d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04396e26fca2427d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/memory-lancedb/index.ts:1783"}, "properties": {"repobilityId": "c2006dee99b04cf5", "scanner": "scanner-primary", "fingerprint": "04396e26fca2427d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aeb9f226da7791ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/feishu/src/docx.test.ts:370"}, "properties": {"repobilityId": "aa350d0277b05f29", "scanner": "scanner-primary", "fingerprint": "aeb9f226da7791ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-632b316e06572d72", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/nextcloud-talk/src/send.ts:206"}, "properties": {"repobilityId": "014df2443ecdd39a", "scanner": "scanner-primary", "fingerprint": "632b316e06572d72", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a68efd597df9d2d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/matrix/src/cli.ts:139"}, "properties": {"repobilityId": "b39705143932e88b", "scanner": "scanner-primary", "fingerprint": "7a68efd597df9d2d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8a59c44a52eb3698", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/line/src/markdown-to-line.test.ts:86"}, "properties": {"repobilityId": "13bcc872216cb2b9", "scanner": "scanner-primary", "fingerprint": "8a59c44a52eb3698", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1270f46056e25160", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/bonjour/src/advertiser.test.ts:581"}, "properties": {"repobilityId": "e641166c0e959b32", "scanner": "scanner-primary", "fingerprint": "1270f46056e25160", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3a153ca6a85f4e74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager.ts:152"}, "properties": {"repobilityId": "9bf6bbe82027557f", "scanner": "scanner-primary", "fingerprint": "3a153ca6a85f4e74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c5e06ea298775a7a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/media-stream.ts:241"}, "properties": {"repobilityId": "7d894cbced27da3c", "scanner": "scanner-primary", "fingerprint": "c5e06ea298775a7a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fb031a4d7427c6a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook.ts:399"}, "properties": {"repobilityId": "090c9a463f044671", "scanner": "scanner-primary", "fingerprint": "fb031a4d7427c6a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8347b0e54d659bf9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/tunnel.ts:47"}, "properties": {"repobilityId": "b7987d4d2f92b729", "scanner": "scanner-primary", "fingerprint": "8347b0e54d659bf9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-037f14984e71b349", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager/timers.ts:47"}, "properties": {"repobilityId": "9a2d0fce0df51cc6", "scanner": "scanner-primary", "fingerprint": "037f14984e71b349", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a40f7ec15c2b874", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager/events.ts:35"}, "properties": {"repobilityId": "8519b075d91a2a1b", "scanner": "scanner-primary", "fingerprint": "7a40f7ec15c2b874", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c0c48302f80ef99", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/manager/outbound.ts:204"}, "properties": {"repobilityId": "31fef2e2bb2b033b", "scanner": "scanner-primary", "fingerprint": "8c0c48302f80ef99", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-91bb28e0e026b219", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook/tailscale.ts:121"}, "properties": {"repobilityId": "683b686f221bb582", "scanner": "scanner-primary", "fingerprint": "91bb28e0e026b219", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eb7b201157cc891a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook/stale-call-reaper.ts:30"}, "properties": {"repobilityId": "38d5a1eb723fc29c", "scanner": "scanner-primary", "fingerprint": "eb7b201157cc891a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ed07016f3bb75814", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/webhook/realtime-handler.ts:601"}, "properties": {"repobilityId": "ed8ecd9139509574", "scanner": "scanner-primary", "fingerprint": "ed07016f3bb75814", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-575b8f51793b5fea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/voice-call/src/providers/twilio.ts:464"}, "properties": {"repobilityId": "2d701aaf38ffa76f", "scanner": "scanner-primary", "fingerprint": "575b8f51793b5fea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66710fb0446d4372", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/gradium/gradium.live.test.ts:41"}, "properties": {"repobilityId": "79a566966fa4138f", "scanner": "scanner-primary", "fingerprint": "66710fb0446d4372", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46a0e383a1a142ba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/codex/src/node-cli-sessions.test.ts:163"}, "properties": {"repobilityId": "9fd37ec0fcf75947", "scanner": "scanner-primary", "fingerprint": "46a0e383a1a142ba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-21addcf02841257b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/codex/src/app-server/sandbox-exec-server.http.test.ts:276"}, "properties": {"repobilityId": "bac9b6580295ae5c", "scanner": "scanner-primary", "fingerprint": "21addcf02841257b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-374cab748098a7e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/codex/src/app-server/transport-stdio.test.ts:72"}, "properties": {"repobilityId": "f9a2a26c9dbf3274", "scanner": "scanner-primary", "fingerprint": "374cab748098a7e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c6fb53b532a86de4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/whatsapp/src/session.ts:198"}, "properties": {"repobilityId": "72d6e8dfa97701b7", "scanner": "scanner-primary", "fingerprint": "c6fb53b532a86de4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-03c1168ecfeb0207", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/discord/src/chunk.test.ts:31"}, "properties": {"repobilityId": "ad74c1bcb04fbdbe", "scanner": "scanner-primary", "fingerprint": "03c1168ecfeb0207", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5c047ee152a11b5d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/twitch/src/plugin.live.test.ts:44"}, "properties": {"repobilityId": "761ee129213dfd98", "scanner": "scanner-primary", "fingerprint": "5c047ee152a11b5d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35f19b200ad4c1be", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/qqbot/src/engine/utils/log.ts:61"}, "properties": {"repobilityId": "82cc8c8623316501", "scanner": "scanner-primary", "fingerprint": "35f19b200ad4c1be", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f36cd57c68b0a86", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/qqbot/src/engine/messaging/streaming-c2c.ts:419"}, "properties": {"repobilityId": "9860d7d528af1875", "scanner": "scanner-primary", "fingerprint": "2f36cd57c68b0a86", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5b81730507c1e683", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/qqbot/src/bridge/logger.ts:26"}, "properties": {"repobilityId": "2d251dd3e6474d7e", "scanner": "scanner-primary", "fingerprint": "5b81730507c1e683", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-14af8ae4afc75068", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/acpx/src/codex-auth-bridge.test.ts:283"}, "properties": {"repobilityId": "76532058c3576076", "scanner": "scanner-primary", "fingerprint": "14af8ae4afc75068", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8fd16b285655e5f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/canvas/scripts/copy-a2ui.test.ts:102"}, "properties": {"repobilityId": "92d24d309fbb5ea1", "scanner": "scanner-primary", "fingerprint": "8fd16b285655e5f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8c21b103d3888a0b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/qa-lab/src/suite-runtime-agent-process.integration.test.ts:41"}, "properties": {"repobilityId": "d418f992d965e9c8", "scanner": "scanner-primary", "fingerprint": "8c21b103d3888a0b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-db267820f124f9ec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 extensions/tlon/src/monitor/index.ts:497"}, "properties": {"repobilityId": "a0525f6bff01efe5", "scanner": "scanner-primary", "fingerprint": "db267820f124f9ec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aeacb1c8875645b5", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 extensions/microsoft-foundry/onboard.ts:338"}, "properties": {"repobilityId": "52692d08b32b24a1", "scanner": "scanner-primary", "fingerprint": "aeacb1c8875645b5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-065ce55054123efa", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/entry.version-fast-path.ts:25"}, "properties": {"repobilityId": "403cc665f28ff20a", "scanner": "scanner-primary", "fingerprint": "065ce55054123efa", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a77799b2d4966005", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/globals.ts:23"}, "properties": {"repobilityId": "c2a3cb516181ec97", "scanner": "scanner-primary", "fingerprint": "a77799b2d4966005", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-19be656c64fc4207", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/runtime.ts:76"}, "properties": {"repobilityId": "5054a82220a6413b", "scanner": "scanner-primary", "fingerprint": "19be656c64fc4207", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9193b65559f09233", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/logger.ts:92"}, "properties": {"repobilityId": "f89f7ddbc9e8a8b3", "scanner": "scanner-primary", "fingerprint": "9193b65559f09233", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5ef9a33b8be8447", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/completion-runtime.ts:298"}, "properties": {"repobilityId": "5abb843d054bd8a2", "scanner": "scanner-primary", "fingerprint": "d5ef9a33b8be8447", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-49993c6b65df6f67", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/cli/program/help.ts:124"}, "properties": {"repobilityId": "fe4a759a7692bc9a", "scanner": "scanner-primary", "fingerprint": "49993c6b65df6f67", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6ae6d282964987df", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/acp/client.ts:87"}, "properties": {"repobilityId": "42a34466101a5b40", "scanner": "scanner-primary", "fingerprint": "6ae6d282964987df", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e378dec024188224", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/acp/client.test.ts:288"}, "properties": {"repobilityId": "6e1ba7aa0b303c0e", "scanner": "scanner-primary", "fingerprint": "e378dec024188224", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5e0d18a5c949c00", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/acp/server.ts:242"}, "properties": {"repobilityId": "f45b1f33bf22eb9c", "scanner": "scanner-primary", "fingerprint": "a5e0d18a5c949c00", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-471f50f46eb39a3e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/bash-tools.exec.script-preflight.test.ts:49"}, "properties": {"repobilityId": "9bff3a980a3e6985", "scanner": "scanner-primary", "fingerprint": "471f50f46eb39a3e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b62a5d00882e06a9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/subagent-announce.live.test.ts:390"}, "properties": {"repobilityId": "7c8b96437a530db2", "scanner": "scanner-primary", "fingerprint": "b62a5d00882e06a9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fd4fc11b65998623", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/embedded-agent-block-chunker.test.ts:42"}, "properties": {"repobilityId": "813e0951fd553ebc", "scanner": "scanner-primary", "fingerprint": "fd4fc11b65998623", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2031ae22d120ad46", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/bash-tools.exec-approval-request.test.ts:396"}, "properties": {"repobilityId": "4562a13b372068ed", "scanner": "scanner-primary", "fingerprint": "2031ae22d120ad46", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9b89150409863008", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/sessions/model-resolver.ts:578"}, "properties": {"repobilityId": "85945d5e632b5e63", "scanner": "scanner-primary", "fingerprint": "9b89150409863008", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5f97d267f4dd666b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/agents/utils/tools-manager.ts:397"}, "properties": {"repobilityId": "a46554f38deb95dc", "scanner": "scanner-primary", "fingerprint": "5f97d267f4dd666b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4be88240bbc68656", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/test-utils/fs-scan-assertions.ts:87"}, "properties": {"repobilityId": "2ecb97caad5c3c30", "scanner": "scanner-primary", "fingerprint": "4be88240bbc68656", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-10a43ea1dab60b46", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/hooks/loader.ts:86"}, "properties": {"repobilityId": "23c9f1ca26dcbe67", "scanner": "scanner-primary", "fingerprint": "10a43ea1dab60b46", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5de930ed9eade71a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/hooks/internal-hooks.ts:211"}, "properties": {"repobilityId": "56abee1d751d86ed", "scanner": "scanner-primary", "fingerprint": "5de930ed9eade71a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-224e79e394374a96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/logging/console-capture.test.ts:71"}, "properties": {"repobilityId": "27f8dacf8c2149e8", "scanner": "scanner-primary", "fingerprint": "224e79e394374a96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da9e2a925e2f9e47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/run-node.test.ts:80"}, "properties": {"repobilityId": "c8d2ba4058cba051", "scanner": "scanner-primary", "fingerprint": "da9e2a925e2f9e47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c49dc5723e22bcf3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/tailscale.ts:362"}, "properties": {"repobilityId": "78fd3c5f439e9748", "scanner": "scanner-primary", "fingerprint": "c49dc5723e22bcf3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4f14bb1ec7b862ec", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/exec-auto-review.test.ts:42"}, "properties": {"repobilityId": "7cbab493a8c11cac", "scanner": "scanner-primary", "fingerprint": "4f14bb1ec7b862ec", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd470c0d96ed5ade", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/command-explainer/format.test.ts:76"}, "properties": {"repobilityId": "7e7612a84ae7fe9b", "scanner": "scanner-primary", "fingerprint": "bd470c0d96ed5ade", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-330dd4bb83abe912", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/net/undici-global-dispatcher.test.ts:199"}, "properties": {"repobilityId": "86b4c9ef6026008f", "scanner": "scanner-primary", "fingerprint": "330dd4bb83abe912", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5ede2b2ff6a8ca01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/net/proxy/external-proxy.e2e.test.ts:469"}, "properties": {"repobilityId": "b9c45d88e23fc6e3", "scanner": "scanner-primary", "fingerprint": "5ede2b2ff6a8ca01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c09ac31db2b4edc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/infra/command-analysis/inline-eval.test.ts:21"}, "properties": {"repobilityId": "f9d6fd7808b5c846", "scanner": "scanner-primary", "fingerprint": "3c09ac31db2b4edc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c35debd002fef99a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/gateway/control-ui.http.test.ts:256"}, "properties": {"repobilityId": "2c9bfbecce5188eb", "scanner": "scanner-primary", "fingerprint": "c35debd002fef99a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-932e3d4024ec504d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/gateway/control-ui.auto-root.http.test.ts:54"}, "properties": {"repobilityId": "ca00babb902cb7bd", "scanner": "scanner-primary", "fingerprint": "932e3d4024ec504d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0bf6ae9d947cc29e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/gateway/control-ui-csp.test.ts:88"}, "properties": {"repobilityId": "4de7e0e1b38134c3", "scanner": "scanner-primary", "fingerprint": "0bf6ae9d947cc29e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-659f577543d7a270", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/skills/security/scanner.test.ts:314"}, "properties": {"repobilityId": "e80107563561b24a", "scanner": "scanner-primary", "fingerprint": "659f577543d7a270", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e2d01f726e078ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/node-host/invoke-system-run.test.ts:203"}, "properties": {"repobilityId": "16ef03e48fcc0554", "scanner": "scanner-primary", "fingerprint": "5e2d01f726e078ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b361633b6d57bb9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/node-host/invoke-system-run-plan.test.ts:99"}, "properties": {"repobilityId": "d0cb574efd603e2c", "scanner": "scanner-primary", "fingerprint": "1b361633b6d57bb9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-975b648ff6345570", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/plugin-sdk/fetch-runtime.test.ts:21"}, "properties": {"repobilityId": "0b35e409aecf9c50", "scanner": "scanner-primary", "fingerprint": "975b648ff6345570", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c5e23b3fbd3c171c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/plugin-sdk/channel-entry-contract.test.ts:348"}, "properties": {"repobilityId": "ac662f781f0c5c6a", "scanner": "scanner-primary", "fingerprint": "c5e23b3fbd3c171c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d6fbf7ccbed32bca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/plugin-sdk-native-resolver.test.ts:338"}, "properties": {"repobilityId": "6a03ea37593f0594", "scanner": "scanner-primary", "fingerprint": "d6fbf7ccbed32bca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b9169adc8e38e9cf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/loader.git-path-regression.test.ts:83"}, "properties": {"repobilityId": "b081fec66cb974a2", "scanner": "scanner-primary", "fingerprint": "b9169adc8e38e9cf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7713f068daedcef6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/native-module-require.test.ts:119"}, "properties": {"repobilityId": "df8975aa59af9d5f", "scanner": "scanner-primary", "fingerprint": "7713f068daedcef6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5ab93053ea9cfff4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/hooks.correlation.test.ts:128"}, "properties": {"repobilityId": "393573a4456ae305", "scanner": "scanner-primary", "fingerprint": "5ab93053ea9cfff4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f27b1760c6f4205a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/plugins/install.path.test.ts:224"}, "properties": {"repobilityId": "6d744d03025ce02a", "scanner": "scanner-primary", "fingerprint": "f27b1760c6f4205a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bbfe7bf589f02acd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/auto-reply/reply/model-selection.ts:144"}, "properties": {"repobilityId": "234a47c4073310b1", "scanner": "scanner-primary", "fingerprint": "bbfe7bf589f02acd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-114d0db00d4c3272", "level": "warning", "message": {"text": "Privileged port 256 in use"}, "properties": {"repobilityId": "0ec1f2d0c9e6da94", "scanner": "scanner-primary", "fingerprint": "114d0db00d4c3272", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd3ab5d1c1132aaf", "level": "warning", "message": {"text": "Privileged port 123 in use"}, "properties": {"repobilityId": "117e44ea15d0bedc", "scanner": "scanner-primary", "fingerprint": "bd3ab5d1c1132aaf", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/cli/daemon-cli/shared.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6b3ecce87382b1be", "level": "warning", "message": {"text": "Privileged port 30 in use"}, "properties": {"repobilityId": "54f172e7d16fc662", "scanner": "scanner-primary", "fingerprint": "6b3ecce87382b1be", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agents/subagent-announce.live.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5ae7460c9cfa7510", "level": "warning", "message": {"text": "Privileged port 18 in use"}, "properties": {"repobilityId": "2d7b5e7d9c158e43", "scanner": "scanner-primary", "fingerprint": "5ae7460c9cfa7510", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/gateway/server-startup-early.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fd9eb297507e064f", "level": "warning", "message": {"text": "Privileged port 19 in use"}, "properties": {"repobilityId": "a6b5b06deac36eac", "scanner": "scanner-primary", "fingerprint": "fd9eb297507e064f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/gateway/server-startup-early.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-47636e33caef255d", "level": "warning", "message": {"text": "Dockerfile runs as root: docker/Dockerfile"}, "properties": {"repobilityId": "8a345ba4198453bd", "scanner": "scanner-primary", "fingerprint": "47636e33caef255d", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-fdbe2a2345f9797e", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:22-slim"}, "properties": {"repobilityId": "c49aa179962b6753", "scanner": "scanner-primary", "fingerprint": "fdbe2a2345f9797e", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docker/Dockerfile"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-a049fd12afbc9c10", "level": "warning", "message": {"text": "Dockerfile runs as root: scripts/docker/install-sh-smoke/Dockerfile"}, "properties": {"repobilityId": "6f991af235b89260", "scanner": "scanner-primary", "fingerprint": "a049fd12afbc9c10", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-1397076d52eac071", "level": "warning", "message": {"text": "Dockerfile runs as root: scripts/docker/cleanup-smoke/Dockerfile"}, "properties": {"repobilityId": "61d56fd5dfb4e20c", "scanner": "scanner-primary", "fingerprint": "1397076d52eac071", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-8df48412c6c889a7", "level": "warning", "message": {"text": "Dockerfile runs as root: .github/images/live-media-runner/Dockerfile"}, "properties": {"repobilityId": "eca04894bcb3d967", "scanner": "scanner-primary", "fingerprint": "8df48412c6c889a7", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-d9a0aa516dbed06b", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: ubuntu:24.04"}, "properties": {"repobilityId": "0dcea9cb4cad6044", "scanner": "scanner-primary", "fingerprint": "d9a0aa516dbed06b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/images/live-media-runner/Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-10d73af5e3d8de60", "level": "warning", "message": {"text": "Analyzer timeout: security.scan"}, "properties": {"repobilityId": "err::timeout::security.scan", "scanner": "scanner-primary", "fingerprint": "10d73af5e3d8de60", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["analyzer-error", "timeout"]}}, {"ruleId": "scanner-89f16b0d5f1e2d50", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d00b9d1c4e54cae2", "scanner": "scanner-primary", "fingerprint": "89f16b0d5f1e2d50", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/swabble/.github/workflows/ci.yml"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-98039fa2d3a41391", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "79359697b615f1c9", "scanner": "scanner-primary", "fingerprint": "98039fa2d3a41391", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/snyk.yml"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-98039fa2d3a41391", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "38ab91a95cfb518d", "scanner": "scanner-primary", "fingerprint": "98039fa2d3a41391", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/snyk.yml"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-21beb2ef138eb710", "level": "error", "message": {"text": "GitHub Action tracks a moving branch"}, "properties": {"repobilityId": "f6cbbb9f038739e5", "scanner": "scanner-primary", "fingerprint": "21beb2ef138eb710", "layer": "cicd", "severity": "high", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/snyk.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7fa6dd0d36ec82bf", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9808a84b62f5fc94", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "7fa6dd0d36ec82bf", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 156}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8c35b313d5fa442a", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 159}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "71d31b87ef5ec60a", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 162}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e77b64b7aa6ca16", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d23303b2e46317ff", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f0dc584a111ffc00", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1e77b64b7aa6ca16", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 80}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a2af9b5bbf4a9676", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b746c8918941264e", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "20df76674501ed8c", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "d2ac39624b5760f9", "scanner": "scanner-primary", "fingerprint": "cb639d9a10a47b23", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2def9f6f4ba5910a", "level": "note", "message": {"text": "Very large file: test/scripts/test-projects.test.ts (2764 lines)"}, "properties": {"repobilityId": "749cff6d3c04e242", "scanner": "scanner-primary", "fingerprint": "2def9f6f4ba5910a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-371f85fc262b0e14", "level": "note", "message": {"text": "Very large file: test/scripts/kitchen-sink-rpc-walk.test.ts (1622 lines)"}, "properties": {"repobilityId": "f8e3c086753c69c8", "scanner": "scanner-primary", "fingerprint": "371f85fc262b0e14", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d37e879e42745ee4", "level": "note", "message": {"text": "Very large file: test/scripts/install-sh.test.ts (1584 lines)"}, "properties": {"repobilityId": "4bea3993e3199ae4", "scanner": "scanner-primary", "fingerprint": "d37e879e42745ee4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8e4b50537cfcea55", "level": "note", "message": {"text": "Very large file: test/scripts/parallels-smoke-model.test.ts (1326 lines)"}, "properties": {"repobilityId": "ddaa50d8d28b63ea", "scanner": "scanner-primary", "fingerprint": "8e4b50537cfcea55", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e12c496f43ad0783", "level": "note", "message": {"text": "Very large file: test/scripts/openclaw-cross-os-release-checks.test.ts (1813 lines)"}, "properties": {"repobilityId": "d071dd4626b3e19b", "scanner": "scanner-primary", "fingerprint": "e12c496f43ad0783", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7c6792d79c161414", "level": "note", "message": {"text": "Very large file: test/scripts/docker-build-helper.test.ts (3128 lines)"}, "properties": {"repobilityId": "4d55594380292e37", "scanner": "scanner-primary", "fingerprint": "7c6792d79c161414", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea0821006777f4e9", "level": "note", "message": {"text": "Very large file: test/scripts/package-acceptance-workflow.test.ts (1720 lines)"}, "properties": {"repobilityId": "f283a3ac5e5bd5f5", "scanner": "scanner-primary", "fingerprint": "ea0821006777f4e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5db9820ccb344be8", "level": "note", "message": {"text": "Very large file: test/scripts/crabbox-wrapper.test.ts (2842 lines)"}, "properties": {"repobilityId": "b775c70a7ad25fea", "scanner": "scanner-primary", "fingerprint": "5db9820ccb344be8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f18913be576112ab", "level": "note", "message": {"text": "Very large file: apps/shared/OpenClawKit/Sources/OpenClawKit/Resources/CanvasA2UI/a2ui.bundle.js (12489 lines)"}, "properties": {"repobilityId": "ac03c1d6be05768f", "scanner": "scanner-primary", "fingerprint": "f18913be576112ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ab23d56f0020d237", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/fr.ts (1665 lines)"}, "properties": {"repobilityId": "2049559e3213fa14", "scanner": "scanner-primary", "fingerprint": "ab23d56f0020d237", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-775ab18188969ea7", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/uk.ts (1652 lines)"}, "properties": {"repobilityId": "f8e3178b66c0a4ae", "scanner": "scanner-primary", "fingerprint": "775ab18188969ea7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-18e222fb342df396", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/en.ts (1635 lines)"}, "properties": {"repobilityId": "8645ec36b77684df", "scanner": "scanner-primary", "fingerprint": "18e222fb342df396", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-46a93fd069e2aa3b", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/th.ts (1611 lines)"}, "properties": {"repobilityId": "4acd549842d95d4a", "scanner": "scanner-primary", "fingerprint": "46a93fd069e2aa3b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4d4d2086a37d473d", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/vi.ts (1637 lines)"}, "properties": {"repobilityId": "d7d198c83542f536", "scanner": "scanner-primary", "fingerprint": "4d4d2086a37d473d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c11d1a52f55ff07f", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/de.ts (1665 lines)"}, "properties": {"repobilityId": "ab055575d1dbf99e", "scanner": "scanner-primary", "fingerprint": "c11d1a52f55ff07f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-edcff0701ddda91f", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/nl.ts (1651 lines)"}, "properties": {"repobilityId": "a9a3d13c18a673e3", "scanner": "scanner-primary", "fingerprint": "edcff0701ddda91f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6d8d4022ec09edef", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/es.ts (1659 lines)"}, "properties": {"repobilityId": "3815829da6e9dd4c", "scanner": "scanner-primary", "fingerprint": "6d8d4022ec09edef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ef0a350e1992493a", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/ko.ts (1634 lines)"}, "properties": {"repobilityId": "5a840aeb63f5c4d2", "scanner": "scanner-primary", "fingerprint": "ef0a350e1992493a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-633c5fd471886f97", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/ar.ts (1627 lines)"}, "properties": {"repobilityId": "5b23b26adc85d7c4", "scanner": "scanner-primary", "fingerprint": "633c5fd471886f97", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8998cd87ee46e768", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/pl.ts (1657 lines)"}, "properties": {"repobilityId": "4bffa556152d56f5", "scanner": "scanner-primary", "fingerprint": "8998cd87ee46e768", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f2f08249a0f0dea8", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/tr.ts (1654 lines)"}, "properties": {"repobilityId": "17f1e21c76fcf540", "scanner": "scanner-primary", "fingerprint": "f2f08249a0f0dea8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-52e33e7437e741ee", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/id.ts (1644 lines)"}, "properties": {"repobilityId": "9daf82715739d3b6", "scanner": "scanner-primary", "fingerprint": "52e33e7437e741ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c850562736c5e404", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/fa.ts (1645 lines)"}, "properties": {"repobilityId": "2a61475611f58c19", "scanner": "scanner-primary", "fingerprint": "c850562736c5e404", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ae3968b7ed826eda", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/ja-JP.ts (1652 lines)"}, "properties": {"repobilityId": "10423293085d12a3", "scanner": "scanner-primary", "fingerprint": "ae3968b7ed826eda", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e7374e16cb6c8eb1", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/it.ts (1659 lines)"}, "properties": {"repobilityId": "3909a8cc15b22a25", "scanner": "scanner-primary", "fingerprint": "e7374e16cb6c8eb1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-93990a261b883795", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/zh-TW.ts (1608 lines)"}, "properties": {"repobilityId": "94aa7d5b3d7166c7", "scanner": "scanner-primary", "fingerprint": "93990a261b883795", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ab600acad57d01cf", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/pt-BR.ts (1649 lines)"}, "properties": {"repobilityId": "70c0e36f2f9e6826", "scanner": "scanner-primary", "fingerprint": "ab600acad57d01cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-058307d7d0af2ac3", "level": "note", "message": {"text": "Very large file: ui/src/i18n/locales/zh-CN.ts (1606 lines)"}, "properties": {"repobilityId": "badea9adff82e204", "scanner": "scanner-primary", "fingerprint": "058307d7d0af2ac3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-605e8cff2b4af5c8", "level": "note", "message": {"text": "Very large file: ui/src/ui/app-gateway.node.test.ts (2071 lines)"}, "properties": {"repobilityId": "42d4f8eede84c155", "scanner": "scanner-primary", "fingerprint": "605e8cff2b4af5c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-aaf84ae14a8ce378", "level": "note", "message": {"text": "Very large file: ui/src/ui/app-chat.test.ts (3095 lines)"}, "properties": {"repobilityId": "83cd3c748a31b3c7", "scanner": "scanner-primary", "fingerprint": "aaf84ae14a8ce378", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-36b8a877ce5ab12b", "level": "note", "message": {"text": "Very large file: ui/src/ui/app-chat.ts (2350 lines)"}, "properties": {"repobilityId": "11c445eb201c6721", "scanner": "scanner-primary", "fingerprint": "36b8a877ce5ab12b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-866c243d66c26fe5", "level": "note", "message": {"text": "Very large file: ui/src/ui/app.ts (1596 lines)"}, "properties": {"repobilityId": "1f4ddeb003beda3a", "scanner": "scanner-primary", "fingerprint": "866c243d66c26fe5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cf758ce3eeaf8067", "level": "note", "message": {"text": "Very large file: ui/src/ui/app-render.ts (3805 lines)"}, "properties": {"repobilityId": "532683df42eeb612", "scanner": "scanner-primary", "fingerprint": "cf758ce3eeaf8067", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-aba42c6a5954947d", "level": "note", "message": {"text": "Very large file: ui/src/ui/chat/grouped-render.ts (1953 lines)"}, "properties": {"repobilityId": "09d8bf77d3036e38", "scanner": "scanner-primary", "fingerprint": "aba42c6a5954947d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-da6bbbff88e239fa", "level": "note", "message": {"text": "Very large file: ui/src/ui/chat/grouped-render.test.ts (2530 lines)"}, "properties": {"repobilityId": "386ee4c3dfe3eff3", "scanner": "scanner-primary", "fingerprint": "da6bbbff88e239fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-31141045cfa8ee88", "level": "note", "message": {"text": "Very large file: ui/src/ui/chat/session-controls.ts (1774 lines)"}, "properties": {"repobilityId": "e7b1defe524424a5", "scanner": "scanner-primary", "fingerprint": "31141045cfa8ee88", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-64edf002167fa337", "level": "note", "message": {"text": "Very large file: ui/src/ui/controllers/workboard.ts (2439 lines)"}, "properties": {"repobilityId": "b0dea8236196e0ea", "scanner": "scanner-primary", "fingerprint": "64edf002167fa337", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-749ccce0fb905b26", "level": "note", "message": {"text": "Very large file: ui/src/ui/controllers/cron.test.ts (1623 lines)"}, "properties": {"repobilityId": "60b902dfc94f3c97", "scanner": "scanner-primary", "fingerprint": "749ccce0fb905b26", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dd8aab027d8fa6f1", "level": "note", "message": {"text": "Very large file: ui/src/ui/controllers/sessions.test.ts (2773 lines)"}, "properties": {"repobilityId": "ebc520c168335f36", "scanner": "scanner-primary", "fingerprint": "dd8aab027d8fa6f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1b7e772080197e7e", "level": "note", "message": {"text": "Very large file: ui/src/ui/controllers/workboard.test.ts (2743 lines)"}, "properties": {"repobilityId": "f64603c49fd15506", "scanner": "scanner-primary", "fingerprint": "1b7e772080197e7e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c2b6ed64a834b7ba", "level": "note", "message": {"text": "Very large file: ui/src/ui/controllers/chat.test.ts (3384 lines)"}, "properties": {"repobilityId": "557587b47a965701", "scanner": "scanner-primary", "fingerprint": "c2b6ed64a834b7ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e18e8e5aad1d04cd", "level": "note", "message": {"text": "Very large file: ui/src/ui/views/config.ts (1909 lines)"}, "properties": {"repobilityId": "0e062444e981e499", "scanner": "scanner-primary", "fingerprint": "e18e8e5aad1d04cd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-42ba429d55e9bb1d", "level": "note", "message": {"text": "Very large file: ui/src/ui/views/dreaming.ts (1579 lines)"}, "properties": {"repobilityId": "494a8c12d53648f0", "scanner": "scanner-primary", "fingerprint": "42ba429d55e9bb1d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4cdb3f91a10377af", "level": "note", "message": {"text": "Very large file: ui/src/ui/views/workboard.ts (2043 lines)"}, "properties": {"repobilityId": "c66005c7aebd4feb", "scanner": "scanner-primary", "fingerprint": "4cdb3f91a10377af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-20743f7132d417dc", "level": "note", "message": {"text": "Very large file: ui/src/ui/views/chat.ts (2272 lines)"}, "properties": {"repobilityId": "5af0aa1a0bbd7477", "scanner": "scanner-primary", "fingerprint": "20743f7132d417dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7c20fc8aa5137b90", "level": "note", "message": {"text": "Very large file: ui/src/ui/views/cron.ts (1941 lines)"}, "properties": {"repobilityId": "f51d209af57bd467", "scanner": "scanner-primary", "fingerprint": "7c20fc8aa5137b90", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-844243ae24d2e0d6", "level": "note", "message": {"text": "Very large file: ui/src/ui/views/workboard.test.ts (1965 lines)"}, "properties": {"repobilityId": "bd466c45c47bfd87", "scanner": "scanner-primary", "fingerprint": "844243ae24d2e0d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-409b50ddce2e3bf2", "level": "note", "message": {"text": "Very large file: ui/src/ui/views/chat.test.ts (3574 lines)"}, "properties": {"repobilityId": "1f1180964827d19c", "scanner": "scanner-primary", "fingerprint": "409b50ddce2e3bf2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2a93184af8120746", "level": "note", "message": {"text": "Very large file: scripts/test-projects.test-support.mjs (2790 lines)"}, "properties": {"repobilityId": "3c9df650b4cf38ed", "scanner": "scanner-primary", "fingerprint": "2a93184af8120746", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6fc346748b7fabab", "level": "note", "message": {"text": "Very large file: scripts/test-docker-all.mjs (1632 lines)"}, "properties": {"repobilityId": "515d348fe4b6030b", "scanner": "scanner-primary", "fingerprint": "6fc346748b7fabab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5e365be33523d570", "level": "note", "message": {"text": "Very large file: scripts/bench-gateway-restart.ts (1805 lines)"}, "properties": {"repobilityId": "b18f44ec49df357e", "scanner": "scanner-primary", "fingerprint": "5e365be33523d570", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a38081624cd785a2", "level": "note", "message": {"text": "Very large file: scripts/install.sh (3362 lines)"}, "properties": {"repobilityId": "3177819a6548cd68", "scanner": "scanner-primary", "fingerprint": "a38081624cd785a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-92fb95dd5e8b75ee", "level": "note", "message": {"text": "Very large file: scripts/openclaw-cross-os-release-checks.ts (4329 lines)"}, "properties": {"repobilityId": "db45b00665429ac0", "scanner": "scanner-primary", "fingerprint": "92fb95dd5e8b75ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8b9a3eb2cb26a91c", "level": "note", "message": {"text": "Very large file: scripts/run-node.mjs (1563 lines)"}, "properties": {"repobilityId": "680a8b5ed825b117", "scanner": "scanner-primary", "fingerprint": "8b9a3eb2cb26a91c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c097cd643e4dc3a2", "level": "note", "message": {"text": "Very large file: scripts/control-ui-i18n.ts (1812 lines)"}, "properties": {"repobilityId": "19146c5ce590e2dd", "scanner": "scanner-primary", "fingerprint": "c097cd643e4dc3a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c4cf9a9f0c37e462", "level": "note", "message": {"text": "Very large file: scripts/crabbox-wrapper.mjs (2470 lines)"}, "properties": {"repobilityId": "5f57eaed07734190", "scanner": "scanner-primary", "fingerprint": "c4cf9a9f0c37e462", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c04da6f3317c26d4", "level": "note", "message": {"text": "Very large file: scripts/qa-otel-smoke.ts (1659 lines)"}, "properties": {"repobilityId": "2b9f2397c4322cdc", "scanner": "scanner-primary", "fingerprint": "c04da6f3317c26d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8dcfa471f026bf15", "level": "note", "message": {"text": "Very large file: scripts/e2e/secret-provider-integrations.mjs (1944 lines)"}, "properties": {"repobilityId": "725f0b327f6536b0", "scanner": "scanner-primary", "fingerprint": "8dcfa471f026bf15", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-089ce7cb76b9991d", "level": "note", "message": {"text": "Very large file: scripts/e2e/telegram-user-crabbox-proof.ts (2742 lines)"}, "properties": {"repobilityId": "09a9860f24ed9cab", "scanner": "scanner-primary", "fingerprint": "089ce7cb76b9991d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-555ce564c5523bf5", "level": "note", "message": {"text": "Very large file: scripts/e2e/kitchen-sink-rpc-walk.mjs (2320 lines)"}, "properties": {"repobilityId": "f1094828542d2530", "scanner": "scanner-primary", "fingerprint": "555ce564c5523bf5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6b775d60dc3f4c08", "level": "note", "message": {"text": "Very large file: extensions/memory-lancedb/index.test.ts (3940 lines)"}, "properties": {"repobilityId": "ba3fd99a86b56c42", "scanner": "scanner-primary", "fingerprint": "6b775d60dc3f4c08", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2ca4e332da97942e", "level": "note", "message": {"text": "Very large file: extensions/memory-lancedb/index.ts (2045 lines)"}, "properties": {"repobilityId": "8b85f99ab28ec582", "scanner": "scanner-primary", "fingerprint": "2ca4e332da97942e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dfbb26a845322846", "level": "note", "message": {"text": "Very large file: extensions/google/transport-stream.test.ts (2160 lines)"}, "properties": {"repobilityId": "31f28d49a46b8c20", "scanner": "scanner-primary", "fingerprint": "dfbb26a845322846", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5075d261a4b9747a", "level": "note", "message": {"text": "Very large file: extensions/feishu/src/bot.ts (1798 lines)"}, "properties": {"repobilityId": "dc8a3f48479bec3a", "scanner": "scanner-primary", "fingerprint": "5075d261a4b9747a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d697af3fad0c1177", "level": "note", "message": {"text": "Very large file: extensions/feishu/src/docx.ts (1598 lines)"}, "properties": {"repobilityId": "40a5aa5c079054e6", "scanner": "scanner-primary", "fingerprint": "d697af3fad0c1177", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f625b9b4802d55b5", "level": "note", "message": {"text": "Very large file: extensions/feishu/src/reply-dispatcher.test.ts (2009 lines)"}, "properties": {"repobilityId": "c5ed8ece7f252726", "scanner": "scanner-primary", "fingerprint": "f625b9b4802d55b5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e96b004f23ee5f42", "level": "note", "message": {"text": "Very large file: extensions/feishu/src/bot.test.ts (3972 lines)"}, "properties": {"repobilityId": "fdeb0904393d0c45", "scanner": "scanner-primary", "fingerprint": "e96b004f23ee5f42", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1bf44b087d94995f", "level": "note", "message": {"text": "Very large file: extensions/zalouser/src/zalo-js.ts (1935 lines)"}, "properties": {"repobilityId": "c8a6397777d1cc71", "scanner": "scanner-primary", "fingerprint": "1bf44b087d94995f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cd022b0c665a5fc1", "level": "note", "message": {"text": "Very large file: extensions/imessage/src/monitor.last-route.test.ts (1574 lines)"}, "properties": {"repobilityId": "ac7989a5794f2ab8", "scanner": "scanner-primary", "fingerprint": "cd022b0c665a5fc1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7021385ea10b3bcd", "level": "note", "message": {"text": "Very large file: extensions/imessage/src/monitor/monitor-provider.ts (1663 lines)"}, "properties": {"repobilityId": "7a9c94e77d84ad1b", "scanner": "scanner-primary", "fingerprint": "7021385ea10b3bcd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-263bcec8bcf46b30", "level": "note", "message": {"text": "Very large file: extensions/matrix/src/cli.ts (2301 lines)"}, "properties": {"repobilityId": "f372de83da494037", "scanner": "scanner-primary", "fingerprint": "263bcec8bcf46b30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-46636cda6eb12625", "level": "note", "message": {"text": "Very large file: extensions/matrix/src/cli.test.ts (1946 lines)"}, "properties": {"repobilityId": "26d5b21c44feeefb", "scanner": "scanner-primary", "fingerprint": "46636cda6eb12625", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a6f1dc92330bb8c5", "level": "note", "message": {"text": "Very large file: extensions/matrix/src/matrix/sdk.ts (2168 lines)"}, "properties": {"repobilityId": "e28299043079b520", "scanner": "scanner-primary", "fingerprint": "a6f1dc92330bb8c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-72d6d1562628083b", "level": "note", "message": {"text": "Very large file: extensions/matrix/src/matrix/sdk.test.ts (3482 lines)"}, "properties": {"repobilityId": "3b92ddf29c462747", "scanner": "scanner-primary", "fingerprint": "72d6d1562628083b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-456f17dfab0b0b0b", "level": "note", "message": {"text": "Very large file: extensions/matrix/src/matrix/monitor/handler.test.ts (4254 lines)"}, "properties": {"repobilityId": "05ff5eabe0b54a2a", "scanner": "scanner-primary", "fingerprint": "456f17dfab0b0b0b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1f8dd44cb49f4aec", "level": "note", "message": {"text": "Very large file: extensions/matrix/src/matrix/monitor/events.test.ts (1843 lines)"}, "properties": {"repobilityId": "2f38ea02dcc01263", "scanner": "scanner-primary", "fingerprint": "1f8dd44cb49f4aec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-678d4605d62d5ed8", "level": "note", "message": {"text": "Very large file: extensions/matrix/src/matrix/monitor/handler.ts (2618 lines)"}, "properties": {"repobilityId": "a49c1fbf6904188c", "scanner": "scanner-primary", "fingerprint": "678d4605d62d5ed8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9aea2aa460b8c6fc", "level": "note", "message": {"text": "Very large file: extensions/openai/realtime-voice-provider.test.ts (2072 lines)"}, "properties": {"repobilityId": "dabfa12b36c2cdd3", "scanner": "scanner-primary", "fingerprint": "9aea2aa460b8c6fc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-035f0d24bad2ee6c", "level": "note", "message": {"text": "Very large file: extensions/openai/image-generation-provider.test.ts (2075 lines)"}, "properties": {"repobilityId": "ed633ad2bd461919", "scanner": "scanner-primary", "fingerprint": "035f0d24bad2ee6c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0d1ddfd94511cbc1", "level": "note", "message": {"text": "Very large file: extensions/policy/src/policy-state.ts (2725 lines)"}, "properties": {"repobilityId": "51e4847bdd9ad43d", "scanner": "scanner-primary", "fingerprint": "0d1ddfd94511cbc1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-25c2eddff845af73", "level": "note", "message": {"text": "Very large file: extensions/policy/src/doctor/register.test.ts (8041 lines)"}, "properties": {"repobilityId": "a089820966c5b03f", "scanner": "scanner-primary", "fingerprint": "25c2eddff845af73", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-31aad34e9af68815", "level": "note", "message": {"text": "Very large file: extensions/policy/src/doctor/register.ts (6467 lines)"}, "properties": {"repobilityId": "169782e775444aa7", "scanner": "scanner-primary", "fingerprint": "31aad34e9af68815", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2f719ee79a1adfe0", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/bot.create-telegram-bot.test.ts (4970 lines)"}, "properties": {"repobilityId": "05905c9aa65b313a", "scanner": "scanner-primary", "fingerprint": "2f719ee79a1adfe0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b373ef3b5f89beb4", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/action-runtime.test.ts (1972 lines)"}, "properties": {"repobilityId": "2ee4a29f8901dbb8", "scanner": "scanner-primary", "fingerprint": "b373ef3b5f89beb4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a1cd40a79e0ad44b", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/bot-native-commands.ts (1571 lines)"}, "properties": {"repobilityId": "b80d05a6320c3af9", "scanner": "scanner-primary", "fingerprint": "a1cd40a79e0ad44b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-077fe121c523b779", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/bot-message-dispatch.ts (2693 lines)"}, "properties": {"repobilityId": "47754de34c9d10ae", "scanner": "scanner-primary", "fingerprint": "077fe121c523b779", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d4d7f7d0c9e7afad", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/send.test.ts (3439 lines)"}, "properties": {"repobilityId": "9306f2f8aa16f60f", "scanner": "scanner-primary", "fingerprint": "d4d7f7d0c9e7afad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f86452554b8d17c7", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/bot-message-dispatch.test.ts (4865 lines)"}, "properties": {"repobilityId": "8bb4e011c0fd8581", "scanner": "scanner-primary", "fingerprint": "f86452554b8d17c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-aa4c1588fa5526d2", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/send.ts (1831 lines)"}, "properties": {"repobilityId": "ad5d7b1519c0c272", "scanner": "scanner-primary", "fingerprint": "aa4c1588fa5526d2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c31d2f087943bd35", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/bot-handlers.runtime.ts (3073 lines)"}, "properties": {"repobilityId": "3ec08977587e00be", "scanner": "scanner-primary", "fingerprint": "c31d2f087943bd35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-53e6c9155be0f5e2", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/polling-session.test.ts (3723 lines)"}, "properties": {"repobilityId": "3e328682acbef454", "scanner": "scanner-primary", "fingerprint": "53e6c9155be0f5e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6dfccdfd7a01f6cb", "level": "note", "message": {"text": "Very large file: extensions/telegram/src/bot.test.ts (4030 lines)"}, "properties": {"repobilityId": "9e989f3cc422d1ff", "scanner": "scanner-primary", "fingerprint": "6dfccdfd7a01f6cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f06a3d80796e0b0c", "level": "note", "message": {"text": "Very large file: extensions/voice-call/src/webhook.test.ts (1851 lines)"}, "properties": {"repobilityId": "7a07b81ebe05cf26", "scanner": "scanner-primary", "fingerprint": "f06a3d80796e0b0c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5d856f6660988a4d", "level": "note", "message": {"text": "Very large file: extensions/codex/src/command-handlers.ts (2255 lines)"}, "properties": {"repobilityId": "b6587df8fe4303af", "scanner": "scanner-primary", "fingerprint": "5d856f6660988a4d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9a127dfe76f3b094", "level": "note", "message": {"text": "Very large file: extensions/codex/src/commands.test.ts (4051 lines)"}, "properties": {"repobilityId": "6831a7c5ade6c47c", "scanner": "scanner-primary", "fingerprint": "9a127dfe76f3b094", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1df4ec0cb178e8a4", "level": "note", "message": {"text": "Very large file: extensions/codex/src/migration/provider.test.ts (2315 lines)"}, "properties": {"repobilityId": "06313c7c61bdeb8e", "scanner": "scanner-primary", "fingerprint": "1df4ec0cb178e8a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-670d8c4a309f1b26", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/config.ts (1883 lines)"}, "properties": {"repobilityId": "4a424ca58455a0b1", "scanner": "scanner-primary", "fingerprint": "670d8c4a309f1b26", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e8cec3e965244562", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/dynamic-tools.test.ts (1644 lines)"}, "properties": {"repobilityId": "7d78028f2f34a10b", "scanner": "scanner-primary", "fingerprint": "e8cec3e965244562", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9820dd024da80964", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/thread-lifecycle.binding.test.ts (1593 lines)"}, "properties": {"repobilityId": "ddfdd0a171b48f7f", "scanner": "scanner-primary", "fingerprint": "9820dd024da80964", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c35604fce41bc189", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/auth-bridge.test.ts (1612 lines)"}, "properties": {"repobilityId": "5d9b1d9064485f27", "scanner": "scanner-primary", "fingerprint": "c35604fce41bc189", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0b1f9fc22b4bfe5f", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/event-projector.ts (2469 lines)"}, "properties": {"repobilityId": "ca571b927ef85007", "scanner": "scanner-primary", "fingerprint": "0b1f9fc22b4bfe5f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b2d1dc5b7f5c31c8", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/thread-lifecycle.ts (1514 lines)"}, "properties": {"repobilityId": "d626d4de8101177d", "scanner": "scanner-primary", "fingerprint": "b2d1dc5b7f5c31c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a3b5d2a534b892bf", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/side-question.test.ts (1526 lines)"}, "properties": {"repobilityId": "e0fd243c3b9adb9c", "scanner": "scanner-primary", "fingerprint": "a3b5d2a534b892bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-368ba26d83e12253", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/approval-bridge.ts (1572 lines)"}, "properties": {"repobilityId": "26ccd73bc87651e0", "scanner": "scanner-primary", "fingerprint": "368ba26d83e12253", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b1addfbdfacd78dd", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/config.test.ts (2159 lines)"}, "properties": {"repobilityId": "7ad1a5424b75b658", "scanner": "scanner-primary", "fingerprint": "b1addfbdfacd78dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bdbe6d8898e20152", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/run-attempt.context-engine.test.ts (1772 lines)"}, "properties": {"repobilityId": "b15233b9720eb989", "scanner": "scanner-primary", "fingerprint": "bdbe6d8898e20152", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-edf147a11aea26e9", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/run-attempt.test.ts (5192 lines)"}, "properties": {"repobilityId": "438f122e3de2f472", "scanner": "scanner-primary", "fingerprint": "edf147a11aea26e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-db8eb39079e0127c", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/run-attempt.ts (3040 lines)"}, "properties": {"repobilityId": "3946eda2ee51ce14", "scanner": "scanner-primary", "fingerprint": "db8eb39079e0127c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8d1e4b5dee5bd84f", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/run-attempt.turn-watches.test.ts (4209 lines)"}, "properties": {"repobilityId": "96a912efd5f201c5", "scanner": "scanner-primary", "fingerprint": "8d1e4b5dee5bd84f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a7823a4135defe1f", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/event-projector.test.ts (3433 lines)"}, "properties": {"repobilityId": "f123e28140efc8a2", "scanner": "scanner-primary", "fingerprint": "a7823a4135defe1f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-92101f2734739533", "level": "note", "message": {"text": "Very large file: extensions/codex/src/app-server/approval-bridge.test.ts (2562 lines)"}, "properties": {"repobilityId": "420fcade585d2d07", "scanner": "scanner-primary", "fingerprint": "92101f2734739533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ba94957bee58842f", "level": "note", "message": {"text": "Very large file: extensions/discord/src/monitor/message-handler.preflight.test.ts (2351 lines)"}, "properties": {"repobilityId": "1400d78957aa4f7f", "scanner": "scanner-primary", "fingerprint": "ba94957bee58842f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2b3efd1629a72139", "level": "note", "message": {"text": "Very large file: extensions/discord/src/monitor/message-handler.process.test.ts (3663 lines)"}, "properties": {"repobilityId": "4b3f3acb3543c4e6", "scanner": "scanner-primary", "fingerprint": "2b3efd1629a72139", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4989ba6cab77fcb3", "level": "note", "message": {"text": "Very large file: extensions/discord/src/monitor/model-picker.test.ts (1471 lines)"}, "properties": {"repobilityId": "dba9e4a42a4e64b1", "scanner": "scanner-primary", "fingerprint": "4989ba6cab77fcb3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a8dc406ee4766c70", "level": "note", "message": {"text": "Very large file: extensions/discord/src/monitor/thread-bindings.lifecycle.test.ts (2010 lines)"}, "properties": {"repobilityId": "3176c714bf5b0dd1", "scanner": "scanner-primary", "fingerprint": "a8dc406ee4766c70", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-79525ed4ba748aac", "level": "note", "message": {"text": "Very large file: extensions/discord/src/voice/manager.e2e.test.ts (5733 lines)"}, "properties": {"repobilityId": "83392b8ce7a4419a", "scanner": "scanner-primary", "fingerprint": "79525ed4ba748aac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1cb8c06c4290526f", "level": "note", "message": {"text": "Very large file: extensions/discord/src/voice/manager.ts (1909 lines)"}, "properties": {"repobilityId": "abbbc5e5c5c20cf7", "scanner": "scanner-primary", "fingerprint": "1cb8c06c4290526f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-217341815e310acd", "level": "note", "message": {"text": "Very large file: extensions/discord/src/voice/realtime.ts (1753 lines)"}, "properties": {"repobilityId": "256e416417bf43cc", "scanner": "scanner-primary", "fingerprint": "217341815e310acd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d2468235225224e5", "level": "note", "message": {"text": "Very large file: extensions/discord/src/actions/runtime.test.ts (2216 lines)"}, "properties": {"repobilityId": "d5ec9b98dfb89b1f", "scanner": "scanner-primary", "fingerprint": "d2468235225224e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9352059d4b8eb4e4", "level": "note", "message": {"text": "Very large file: extensions/workboard/src/store.ts (4342 lines)"}, "properties": {"repobilityId": "a6971d77585f92c0", "scanner": "scanner-primary", "fingerprint": "9352059d4b8eb4e4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-858669114f218d1c", "level": "note", "message": {"text": "Very large file: extensions/workboard/src/store.test.ts (2686 lines)"}, "properties": {"repobilityId": "b12a525cf692c18c", "scanner": "scanner-primary", "fingerprint": "858669114f218d1c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-623f922740592bb3", "level": "note", "message": {"text": "Very large file: extensions/acpx/src/runtime.test.ts (1982 lines)"}, "properties": {"repobilityId": "c1cb015c49da6397", "scanner": "scanner-primary", "fingerprint": "623f922740592bb3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87e7ffb542420315", "level": "note", "message": {"text": "Very large file: extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee.ts (3662 lines)"}, "properties": {"repobilityId": "55400c3ae8a1f39d", "scanner": "scanner-primary", "fingerprint": "87e7ffb542420315", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9a38ef2ac5b0c072", "level": "note", "message": {"text": "Very large file: extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee-destructive.ts (1687 lines)"}, "properties": {"repobilityId": "fefac92b84f4d289", "scanner": "scanner-primary", "fingerprint": "9a38ef2ac5b0c072", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fa9121837c4af4ab", "level": "note", "message": {"text": "Very large file: extensions/qa-matrix/src/runners/contract/scenario-runtime-room.ts (1572 lines)"}, "properties": {"repobilityId": "086d09afecdf2cd3", "scanner": "scanner-primary", "fingerprint": "fa9121837c4af4ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f7878091234c155a", "level": "note", "message": {"text": "Very large file: extensions/qa-matrix/src/runners/contract/scenarios.test.ts (7349 lines)"}, "properties": {"repobilityId": "4908e1acf9f5292b", "scanner": "scanner-primary", "fingerprint": "f7878091234c155a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-018fc4b9216121e9", "level": "note", "message": {"text": "Very large file: extensions/active-memory/index.test.ts (4376 lines)"}, "properties": {"repobilityId": "a4305ef8e9410d74", "scanner": "scanner-primary", "fingerprint": "018fc4b9216121e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5817bfa16b715545", "level": "note", "message": {"text": "Very large file: extensions/active-memory/index.ts (3156 lines)"}, "properties": {"repobilityId": "272b7d2452734f97", "scanner": "scanner-primary", "fingerprint": "5817bfa16b715545", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b54e1a164924ac55", "level": "note", "message": {"text": "Very large file: extensions/amazon-bedrock/index.test.ts (1594 lines)"}, "properties": {"repobilityId": "62fa84336e57c3fe", "scanner": "scanner-primary", "fingerprint": "b54e1a164924ac55", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b33ca4f929fc7a98", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/short-term-promotion.ts (2849 lines)"}, "properties": {"repobilityId": "4bcb872c0f86deae", "scanner": "scanner-primary", "fingerprint": "b33ca4f929fc7a98", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-07635d53447251d3", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/dreaming.test.ts (2823 lines)"}, "properties": {"repobilityId": "06ca57f2b3ac0e31", "scanner": "scanner-primary", "fingerprint": "07635d53447251d3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9ce873b525e9c7e3", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/cli.runtime.ts (2000 lines)"}, "properties": {"repobilityId": "71b5ed5cbcb4a35e", "scanner": "scanner-primary", "fingerprint": "9ce873b525e9c7e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0d40881baa2ec12b", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/dreaming-narrative.test.ts (1461 lines)"}, "properties": {"repobilityId": "9920ac8f955e11c6", "scanner": "scanner-primary", "fingerprint": "0d40881baa2ec12b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5c1d9fa95321400b", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/dreaming-phases.test.ts (3096 lines)"}, "properties": {"repobilityId": "d1f3d371836370a3", "scanner": "scanner-primary", "fingerprint": "5c1d9fa95321400b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c9b384ab0c0af8bd", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/short-term-promotion.test.ts (3305 lines)"}, "properties": {"repobilityId": "7abae805e9ed29a4", "scanner": "scanner-primary", "fingerprint": "c9b384ab0c0af8bd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f0dd3a48f8b36d09", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/dreaming-phases.ts (1955 lines)"}, "properties": {"repobilityId": "610de90dae73efb8", "scanner": "scanner-primary", "fingerprint": "f0dd3a48f8b36d09", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4bc88502e2315131", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/cli.test.ts (2160 lines)"}, "properties": {"repobilityId": "f9eba3174648a167", "scanner": "scanner-primary", "fingerprint": "4bc88502e2315131", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1bd609045470f243", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/memory/qmd-manager.ts (3435 lines)"}, "properties": {"repobilityId": "dc3a6927d1ddbb0a", "scanner": "scanner-primary", "fingerprint": "1bd609045470f243", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ec66ab82b6a60ee2", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/memory/index.test.ts (2137 lines)"}, "properties": {"repobilityId": "c453bfcd5330adc3", "scanner": "scanner-primary", "fingerprint": "ec66ab82b6a60ee2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e047b5b4c4b04ee3", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/memory/qmd-manager.test.ts (6171 lines)"}, "properties": {"repobilityId": "f56919062c871f3c", "scanner": "scanner-primary", "fingerprint": "e047b5b4c4b04ee3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-50a015b817fb3c3f", "level": "note", "message": {"text": "Very large file: extensions/memory-core/src/memory/manager-sync-ops.ts (2587 lines)"}, "properties": {"repobilityId": "b058e5b329269b42", "scanner": "scanner-primary", "fingerprint": "50a015b817fb3c3f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-172f1c0a56bc1556", "level": "note", "message": {"text": "Very large file: extensions/diagnostics-otel/src/service.test.ts (4530 lines)"}, "properties": {"repobilityId": "9e69f1f4a5d37f9e", "scanner": "scanner-primary", "fingerprint": "172f1c0a56bc1556", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8cb5a873ba697d52", "level": "note", "message": {"text": "Very large file: extensions/diagnostics-otel/src/service.ts (3498 lines)"}, "properties": {"repobilityId": "44c974e5d5575d7a", "scanner": "scanner-primary", "fingerprint": "8cb5a873ba697d52", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ccbb7a771a07f8bf", "level": "note", "message": {"text": "Very large file: extensions/ollama/src/stream-runtime.test.ts (2853 lines)"}, "properties": {"repobilityId": "35d66fc2307c43fd", "scanner": "scanner-primary", "fingerprint": "ccbb7a771a07f8bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9bc7a36748c020d6", "level": "note", "message": {"text": "Very large file: extensions/google-meet/index.test.ts (5130 lines)"}, "properties": {"repobilityId": "fce8d1946b886833", "scanner": "scanner-primary", "fingerprint": "9bc7a36748c020d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a2f93dc591068d51", "level": "note", "message": {"text": "Very large file: extensions/google-meet/src/cli.ts (2382 lines)"}, "properties": {"repobilityId": "1a9806508d1e2393", "scanner": "scanner-primary", "fingerprint": "a2f93dc591068d51", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-894ce07a39d92c5b", "level": "note", "message": {"text": "Very large file: extensions/copilot/harness.test.ts (1835 lines)"}, "properties": {"repobilityId": "757a25b414e64045", "scanner": "scanner-primary", "fingerprint": "894ce07a39d92c5b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-246da6b187cb830a", "level": "note", "message": {"text": "Very large file: extensions/copilot/src/attempt.test.ts (2551 lines)"}, "properties": {"repobilityId": "bacbad2745fecd90", "scanner": "scanner-primary", "fingerprint": "246da6b187cb830a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-df64c2ca13dbe8fb", "level": "note", "message": {"text": "Very large file: extensions/copilot/src/tool-bridge.test.ts (1412 lines)"}, "properties": {"repobilityId": "bbd3eb47acd01dbb", "scanner": "scanner-primary", "fingerprint": "df64c2ca13dbe8fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b1eb903e78534d1a", "level": "note", "message": {"text": "Very large file: extensions/mattermost/src/mattermost/monitor.ts (2201 lines)"}, "properties": {"repobilityId": "7e69b87d76966dfa", "scanner": "scanner-primary", "fingerprint": "b1eb903e78534d1a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b90dca1b6e74a98b", "level": "note", "message": {"text": "Very large file: extensions/slack/src/monitor/events/interactions.test.ts (3020 lines)"}, "properties": {"repobilityId": "e89013b4074c6422", "scanner": "scanner-primary", "fingerprint": "b90dca1b6e74a98b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-61272ef5fdb4ba5f", "level": "note", "message": {"text": "Very large file: extensions/slack/src/monitor/message-handler/prepare.test.ts (3342 lines)"}, "properties": {"repobilityId": "a954f8e1b9887851", "scanner": "scanner-primary", "fingerprint": "61272ef5fdb4ba5f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dd49a392827d8b2b", "level": "note", "message": {"text": "Very large file: extensions/slack/src/monitor/message-handler/dispatch.ts (1933 lines)"}, "properties": {"repobilityId": "e663fdce536e3505", "scanner": "scanner-primary", "fingerprint": "dd49a392827d8b2b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e17a92e7e3c4cb72", "level": "note", "message": {"text": "Very large file: extensions/slack/src/monitor/message-handler/dispatch.preview-fallback.test.ts (2910 lines)"}, "properties": {"repobilityId": "eaadc7bb153882c4", "scanner": "scanner-primary", "fingerprint": "e17a92e7e3c4cb72", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-99ec32b125253065", "level": "note", "message": {"text": "Very large file: extensions/browser/src/browser-tool.test.ts (1872 lines)"}, "properties": {"repobilityId": "ee05a43a8a3c89f2", "scanner": "scanner-primary", "fingerprint": "99ec32b125253065", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e4eed92d54eac28f", "level": "note", "message": {"text": "Very large file: extensions/browser/src/browser/pw-tools-core.interactions.ts (1764 lines)"}, "properties": {"repobilityId": "52d8ab65d1fa4c09", "scanner": "scanner-primary", "fingerprint": "e4eed92d54eac28f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b784d97dcf1a2472", "level": "note", "message": {"text": "Very large file: extensions/browser/src/browser/chrome-mcp.test.ts (1661 lines)"}, "properties": {"repobilityId": "fd5a8cf4d40a082e", "scanner": "scanner-primary", "fingerprint": "b784d97dcf1a2472", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d8886f1995f33bf2", "level": "note", "message": {"text": "Very large file: extensions/browser/src/browser/chrome.internal.test.ts (1620 lines)"}, "properties": {"repobilityId": "3f5d2ecb6bd26858", "scanner": "scanner-primary", "fingerprint": "d8886f1995f33bf2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d2e270674fc309ed", "level": "note", "message": {"text": "Very large file: extensions/browser/src/browser/chrome-mcp.ts (1835 lines)"}, "properties": {"repobilityId": "673defd411e5ea52", "scanner": "scanner-primary", "fingerprint": "d2e270674fc309ed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3b5809595178d4c8", "level": "note", "message": {"text": "Very large file: extensions/browser/src/browser/pw-session.ts (1870 lines)"}, "properties": {"repobilityId": "7892337cc913cefa", "scanner": "scanner-primary", "fingerprint": "3b5809595178d4c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-27f3c02a5f69cc9d", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/web/src/ui-render.ts (3560 lines)"}, "properties": {"repobilityId": "b735b3077baea37a", "scanner": "scanner-primary", "fingerprint": "27f3c02a5f69cc9d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4888058909898b97", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/web/src/app.ts (1649 lines)"}, "properties": {"repobilityId": "8bf5342e1db08c50", "scanner": "scanner-primary", "fingerprint": "4888058909898b97", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f1068f451d428806", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/src/cli.runtime.test.ts (1913 lines)"}, "properties": {"repobilityId": "34c5a509906db128", "scanner": "scanner-primary", "fingerprint": "f1068f451d428806", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3143ba7d4cc6a8af", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/src/gateway-child.test.ts (1832 lines)"}, "properties": {"repobilityId": "855ce8ddc0401fee", "scanner": "scanner-primary", "fingerprint": "3143ba7d4cc6a8af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-11986038ef670a74", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/src/suite.ts (1605 lines)"}, "properties": {"repobilityId": "277c7b2cebf00c19", "scanner": "scanner-primary", "fingerprint": "11986038ef670a74", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3d4c62e5269876b9", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/src/providers/mock-openai/server.test.ts (4731 lines)"}, "properties": {"repobilityId": "e7ea370b2e20f798", "scanner": "scanner-primary", "fingerprint": "3d4c62e5269876b9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4ad258cd415fec86", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/src/providers/mock-openai/server.ts (3470 lines)"}, "properties": {"repobilityId": "6ed774b814fdf987", "scanner": "scanner-primary", "fingerprint": "4ad258cd415fec86", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-186be18c4d6ef80c", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.ts (2123 lines)"}, "properties": {"repobilityId": "19359e6a994ce9d2", "scanner": "scanner-primary", "fingerprint": "186be18c4d6ef80c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0706362cc9ea9f3c", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.ts (3339 lines)"}, "properties": {"repobilityId": "a91b5014d6f15346", "scanner": "scanner-primary", "fingerprint": "0706362cc9ea9f3c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-30e20101dad56800", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/src/live-transports/discord/discord-live.runtime.ts (2007 lines)"}, "properties": {"repobilityId": "65f44588532b5a1b", "scanner": "scanner-primary", "fingerprint": "30e20101dad56800", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-629b5e4b175d5831", "level": "note", "message": {"text": "Very large file: extensions/qa-lab/src/live-transports/slack/slack-live.runtime.ts (2189 lines)"}, "properties": {"repobilityId": "7d5a353ec9a91e12", "scanner": "scanner-primary", "fingerprint": "629b5e4b175d5831", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-056d1c7cde889bd7", "level": "note", "message": {"text": "Very large file: extensions/tlon/src/monitor/index.ts (1531 lines)"}, "properties": {"repobilityId": "3f615d07a1ff5948", "scanner": "scanner-primary", "fingerprint": "056d1c7cde889bd7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-07aab17b31135e72", "level": "note", "message": {"text": "Very large file: extensions/microsoft-foundry/index.test.ts (2033 lines)"}, "properties": {"repobilityId": "e6705063ec5c9f4e", "scanner": "scanner-primary", "fingerprint": "07aab17b31135e72", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e6a52f7bc10161e0", "level": "note", "message": {"text": "Very large file: packages/speech-core/src/tts.ts (2132 lines)"}, "properties": {"repobilityId": "415057bf5eff31d7", "scanner": "scanner-primary", "fingerprint": "e6a52f7bc10161e0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d7053b5a7dbdc67b", "level": "note", "message": {"text": "Very large file: packages/gateway-client/src/client.ts (1574 lines)"}, "properties": {"repobilityId": "b25931f39629a84e", "scanner": "scanner-primary", "fingerprint": "d7053b5a7dbdc67b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5836a52bb45deb99", "level": "note", "message": {"text": "Very large file: src/security/audit.ts (1399 lines)"}, "properties": {"repobilityId": "1e3a80259e8712e1", "scanner": "scanner-primary", "fingerprint": "5836a52bb45deb99", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f2d63c44d761cbbb", "level": "note", "message": {"text": "Very large file: src/context-engine/context-engine.test.ts (1477 lines)"}, "properties": {"repobilityId": "58573c4b3741bd2d", "scanner": "scanner-primary", "fingerprint": "f2d63c44d761cbbb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9a5b10cde47b76fc", "level": "note", "message": {"text": "Very large file: src/config/config.plugin-validation.test.ts (1761 lines)"}, "properties": {"repobilityId": "723d47f9fd228132", "scanner": "scanner-primary", "fingerprint": "9a5b10cde47b76fc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1d84709eb7deac1a", "level": "note", "message": {"text": "Very large file: src/config/io.ts (2858 lines)"}, "properties": {"repobilityId": "0642d7184a0e0859", "scanner": "scanner-primary", "fingerprint": "1d84709eb7deac1a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-30d5af56dad98c6a", "level": "note", "message": {"text": "Very large file: src/config/schema.help.ts (1981 lines)"}, "properties": {"repobilityId": "1a724f8ff7c2a6b6", "scanner": "scanner-primary", "fingerprint": "30d5af56dad98c6a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f1ed1712b7d7397b", "level": "note", "message": {"text": "Very large file: src/config/validation.ts (1939 lines)"}, "properties": {"repobilityId": "c4bfd11107f9ea9f", "scanner": "scanner-primary", "fingerprint": "f1ed1712b7d7397b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0b7b7b1177f7bdc2", "level": "note", "message": {"text": "Very large file: src/config/zod-schema.providers-core.ts (1712 lines)"}, "properties": {"repobilityId": "ddcb8456f3175891", "scanner": "scanner-primary", "fingerprint": "0b7b7b1177f7bdc2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-65741b1f2e888a86", "level": "note", "message": {"text": "Very large file: src/config/schema.labels.ts (1080 lines)"}, "properties": {"repobilityId": "425111525ce9c74f", "scanner": "scanner-primary", "fingerprint": "65741b1f2e888a86", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2f18e33efe238757", "level": "note", "message": {"text": "Very large file: src/config/io.write-config.test.ts (1962 lines)"}, "properties": {"repobilityId": "2357d3cddc5a346b", "scanner": "scanner-primary", "fingerprint": "2f18e33efe238757", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-77be5886dc1aaea4", "level": "note", "message": {"text": "Very large file: src/tui/embedded-backend.test.ts (1883 lines)"}, "properties": {"repobilityId": "b7aee187a1da5c79", "scanner": "scanner-primary", "fingerprint": "77be5886dc1aaea4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2b5910f19f218179", "level": "note", "message": {"text": "Very large file: src/tui/tui-event-handlers.test.ts (2049 lines)"}, "properties": {"repobilityId": "9ba3e7c24bf36b03", "scanner": "scanner-primary", "fingerprint": "2b5910f19f218179", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-25fbead5e43f67b8", "level": "note", "message": {"text": "Very large file: src/commands/doctor-state-migrations.test.ts (2675 lines)"}, "properties": {"repobilityId": "3070a5019ea5a820", "scanner": "scanner-primary", "fingerprint": "25fbead5e43f67b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-319d828401f2b116", "level": "note", "message": {"text": "Very large file: src/commands/migrate.test.ts (1547 lines)"}, "properties": {"repobilityId": "f4cf94ba8b0c3872", "scanner": "scanner-primary", "fingerprint": "319d828401f2b116", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5eeac4d12907a1a0", "level": "note", "message": {"text": "Very large file: src/commands/agent-via-gateway.test.ts (1794 lines)"}, "properties": {"repobilityId": "9acd3c42b6520828", "scanner": "scanner-primary", "fingerprint": "5eeac4d12907a1a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b9fd97f9bc49b694", "level": "note", "message": {"text": "Very large file: src/commands/doctor-config-flow.test.ts (3013 lines)"}, "properties": {"repobilityId": "7cd82d4e2ee42779", "scanner": "scanner-primary", "fingerprint": "b9fd97f9bc49b694", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dbf2b5c15831287e", "level": "note", "message": {"text": "Very large file: src/commands/doctor-legacy-config.migrations.test.ts (1752 lines)"}, "properties": {"repobilityId": "67e77307f93e375a", "scanner": "scanner-primary", "fingerprint": "dbf2b5c15831287e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-24e6fb2a7d9746ce", "level": "note", "message": {"text": "Very large file: src/commands/daemon-install-helpers.test.ts (1618 lines)"}, "properties": {"repobilityId": "0739c952b4ed4036", "scanner": "scanner-primary", "fingerprint": "24e6fb2a7d9746ce", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7ec7031a0e719ca9", "level": "note", "message": {"text": "Very large file: src/commands/model-picker.test.ts (2557 lines)"}, "properties": {"repobilityId": "79a699e78c444983", "scanner": "scanner-primary", "fingerprint": "7ec7031a0e719ca9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c98becec91024ee2", "level": "note", "message": {"text": "Very large file: src/commands/onboarding-plugin-install.test.ts (1557 lines)"}, "properties": {"repobilityId": "0c85dc1666a0b1dd", "scanner": "scanner-primary", "fingerprint": "c98becec91024ee2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0f70a90dba5085ad", "level": "note", "message": {"text": "Very large file: src/commands/doctor/shared/missing-configured-plugin-install.test.ts (3725 lines)"}, "properties": {"repobilityId": "5c9bb4404da83fcc", "scanner": "scanner-primary", "fingerprint": "0f70a90dba5085ad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0ec22ec8a369aafb", "level": "note", "message": {"text": "Very large file: src/commands/doctor/shared/codex-route-warnings.test.ts (4192 lines)"}, "properties": {"repobilityId": "72e536de77282777", "scanner": "scanner-primary", "fingerprint": "0ec22ec8a369aafb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4604d26a4542ff6e", "level": "note", "message": {"text": "Very large file: src/commands/doctor/shared/codex-route-warnings.ts (3101 lines)"}, "properties": {"repobilityId": "928c0b70d3a9f0dd", "scanner": "scanner-primary", "fingerprint": "4604d26a4542ff6e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3649fc6ed7610961", "level": "note", "message": {"text": "Very large file: src/commands/doctor/shared/missing-configured-plugin-install.ts (1558 lines)"}, "properties": {"repobilityId": "d09507e933c14647", "scanner": "scanner-primary", "fingerprint": "3649fc6ed7610961", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1f277dacc90b34f6", "level": "note", "message": {"text": "Very large file: src/commands/doctor/shared/legacy-config-migrate.test.ts (3151 lines)"}, "properties": {"repobilityId": "ea1d18fafcf51491", "scanner": "scanner-primary", "fingerprint": "1f277dacc90b34f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8dfc766274372836", "level": "note", "message": {"text": "Very large file: src/commands/doctor/shared/legacy-config-migrations.runtime.models.ts (1616 lines)"}, "properties": {"repobilityId": "28b6305730a1df02", "scanner": "scanner-primary", "fingerprint": "8dfc766274372836", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6d9c7d8b200c2424", "level": "note", "message": {"text": "Very large file: src/commands/models/list.status.test.ts (2040 lines)"}, "properties": {"repobilityId": "66a3a74a7db6ab8b", "scanner": "scanner-primary", "fingerprint": "6d9c7d8b200c2424", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-17d6059b3288fe10", "level": "note", "message": {"text": "Very large file: src/commands/models/auth.test.ts (1681 lines)"}, "properties": {"repobilityId": "eb7b4b2149fa377d", "scanner": "scanner-primary", "fingerprint": "17d6059b3288fe10", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-956b6a757d9d6e9d", "level": "note", "message": {"text": "Very large file: src/cli/cron-cli.test.ts (1793 lines)"}, "properties": {"repobilityId": "e0213bfcf60c853c", "scanner": "scanner-primary", "fingerprint": "956b6a757d9d6e9d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4727cdc7cbaeb4a6", "level": "note", "message": {"text": "Very large file: src/cli/config-cli.ts (2688 lines)"}, "properties": {"repobilityId": "2b90cd5c758ea762", "scanner": "scanner-primary", "fingerprint": "4727cdc7cbaeb4a6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-12d744a368761b2a", "level": "note", "message": {"text": "Very large file: src/cli/plugins-cli.install.test.ts (1926 lines)"}, "properties": {"repobilityId": "3f6bea537b2b9337", "scanner": "scanner-primary", "fingerprint": "12d744a368761b2a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d44be28f0785121d", "level": "note", "message": {"text": "Very large file: src/cli/capability-cli.test.ts (3251 lines)"}, "properties": {"repobilityId": "a8b984f8eb06e6a3", "scanner": "scanner-primary", "fingerprint": "d44be28f0785121d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a4c2758c2c608114", "level": "note", "message": {"text": "Very large file: src/cli/config-cli.test.ts (3419 lines)"}, "properties": {"repobilityId": "3d940bbed8e503dc", "scanner": "scanner-primary", "fingerprint": "a4c2758c2c608114", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ab4315da8bbc45ae", "level": "note", "message": {"text": "Very large file: src/cli/run-main.exit.test.ts (1321 lines)"}, "properties": {"repobilityId": "b38e5e901dbe0048", "scanner": "scanner-primary", "fingerprint": "ab4315da8bbc45ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-058e5bcfd1ee521f", "level": "note", "message": {"text": "Very large file: src/cli/capability-cli.ts (2859 lines)"}, "properties": {"repobilityId": "285e1d14ebef25a9", "scanner": "scanner-primary", "fingerprint": "058e5bcfd1ee521f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-664d0e691fd3fa07", "level": "note", "message": {"text": "Very large file: src/cli/update-cli.test.ts (6277 lines)"}, "properties": {"repobilityId": "9fb05918b0e6e99a", "scanner": "scanner-primary", "fingerprint": "664d0e691fd3fa07", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-409dbd59d3ffabbe", "level": "note", "message": {"text": "Very large file: src/cli/update-cli/update-command.ts (3895 lines)"}, "properties": {"repobilityId": "9148998cd2eb6d9c", "scanner": "scanner-primary", "fingerprint": "409dbd59d3ffabbe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b60ca84e34304eee", "level": "note", "message": {"text": "Very large file: src/cli/gateway-cli/run-loop.test.ts (1783 lines)"}, "properties": {"repobilityId": "6ad369623f102191", "scanner": "scanner-primary", "fingerprint": "b60ca84e34304eee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a96bf4a266dc6ba4", "level": "note", "message": {"text": "Very large file: src/acp/translator.ts (1691 lines)"}, "properties": {"repobilityId": "a6f63332c58353ed", "scanner": "scanner-primary", "fingerprint": "a96bf4a266dc6ba4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-86cb28f83b52eec3", "level": "note", "message": {"text": "Very large file: src/acp/control-plane/manager.test.ts (1643 lines)"}, "properties": {"repobilityId": "6ad70fc8ea8e6660", "scanner": "scanner-primary", "fingerprint": "86cb28f83b52eec3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-648b594e5afb1465", "level": "note", "message": {"text": "Very large file: src/media-understanding/apply.test.ts (1938 lines)"}, "properties": {"repobilityId": "5be90df8624a0d68", "scanner": "scanner-primary", "fingerprint": "648b594e5afb1465", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-945815c118fe44d2", "level": "note", "message": {"text": "Very large file: src/tasks/task-registry.test.ts (3641 lines)"}, "properties": {"repobilityId": "43e765d981eaa6a8", "scanner": "scanner-primary", "fingerprint": "945815c118fe44d2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2bd56a92f0c7668d", "level": "note", "message": {"text": "Very large file: src/tasks/task-registry.ts (2435 lines)"}, "properties": {"repobilityId": "cbfb990b0f2a02be", "scanner": "scanner-primary", "fingerprint": "2bd56a92f0c7668d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-75e20d4a21c1cbf9", "level": "note", "message": {"text": "Very large file: src/daemon/systemd.test.ts (2092 lines)"}, "properties": {"repobilityId": "6c5e2e5bf8f9eb97", "scanner": "scanner-primary", "fingerprint": "75e20d4a21c1cbf9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-93a4e28fbf662a83", "level": "note", "message": {"text": "Very large file: src/daemon/launchd.test.ts (1940 lines)"}, "properties": {"repobilityId": "e64a04e3eca55e81", "scanner": "scanner-primary", "fingerprint": "93a4e28fbf662a83", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7ffae0eb336674c2", "level": "note", "message": {"text": "Very large file: src/agents/agent-tools.create-openclaw-coding-tools.test.ts (1458 lines)"}, "properties": {"repobilityId": "53f4cc7f29e5ea78", "scanner": "scanner-primary", "fingerprint": "7ffae0eb336674c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c844b65def8d4b0e", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner.run-embedded-agent.auth-profile-rotation.e2e.test.ts (1652 lines)"}, "properties": {"repobilityId": "75996e6bf561cc5d", "scanner": "scanner-primary", "fingerprint": "c844b65def8d4b0e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5bccfdef9a3e62cd", "level": "note", "message": {"text": "Very large file: src/agents/model-fallback.test.ts (3092 lines)"}, "properties": {"repobilityId": "9b5f68a53011a75b", "scanner": "scanner-primary", "fingerprint": "5bccfdef9a3e62cd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e986394ec1cb26e5", "level": "note", "message": {"text": "Very large file: src/agents/model-auth.profiles.test.ts (1938 lines)"}, "properties": {"repobilityId": "3a4ead50ab2323ea", "scanner": "scanner-primary", "fingerprint": "e986394ec1cb26e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d62787b7c9a83056", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-subscribe.handlers.tools.ts (1570 lines)"}, "properties": {"repobilityId": "add4e650d4a4b40c", "scanner": "scanner-primary", "fingerprint": "d62787b7c9a83056", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0341726dd714b4c0", "level": "note", "message": {"text": "Very large file: src/agents/openai-transport-stream.ts (4338 lines)"}, "properties": {"repobilityId": "e1304d5c3c15fade", "scanner": "scanner-primary", "fingerprint": "0341726dd714b4c0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-59920544a4fc0bb9", "level": "note", "message": {"text": "Very large file: src/agents/system-prompt.test.ts (1517 lines)"}, "properties": {"repobilityId": "024c9cd03c16a546", "scanner": "scanner-primary", "fingerprint": "59920544a4fc0bb9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a056e517c2c55aa0", "level": "note", "message": {"text": "Very large file: src/agents/subagent-announce-delivery.ts (1740 lines)"}, "properties": {"repobilityId": "7c9f9fcb3367240c", "scanner": "scanner-primary", "fingerprint": "a056e517c2c55aa0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-57ebf29f1f1c342d", "level": "note", "message": {"text": "Very large file: src/agents/agent-tools.before-tool-call.e2e.test.ts (1904 lines)"}, "properties": {"repobilityId": "9652978fd1d81993", "scanner": "scanner-primary", "fingerprint": "57ebf29f1f1c342d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-797cf9648c8d56fb", "level": "note", "message": {"text": "Very large file: src/agents/model-catalog.test.ts (1973 lines)"}, "properties": {"repobilityId": "4c49cd088cb22d97", "scanner": "scanner-primary", "fingerprint": "797cf9648c8d56fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c3d85e91201fdb67", "level": "note", "message": {"text": "Very large file: src/agents/bash-tools.exec.ts (1883 lines)"}, "properties": {"repobilityId": "c402df77f907a226", "scanner": "scanner-primary", "fingerprint": "c3d85e91201fdb67", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1cfc5099af47c72e", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner-extraparams.test.ts (4379 lines)"}, "properties": {"repobilityId": "382026d5aa64267a", "scanner": "scanner-primary", "fingerprint": "1cfc5099af47c72e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-34eda2bf689ffebc", "level": "note", "message": {"text": "Very large file: src/agents/subagent-announce.format.e2e.test.ts (3654 lines)"}, "properties": {"repobilityId": "b2e2455de0beae8e", "scanner": "scanner-primary", "fingerprint": "34eda2bf689ffebc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-764a15f3b7f16349", "level": "note", "message": {"text": "Very large file: src/agents/code-mode.test.ts (1986 lines)"}, "properties": {"repobilityId": "0306a8d2ba55d5d5", "scanner": "scanner-primary", "fingerprint": "764a15f3b7f16349", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-82e1c1deffab4b96", "level": "note", "message": {"text": "Very large file: src/agents/agent-bundle-mcp-runtime.test.ts (2038 lines)"}, "properties": {"repobilityId": "976c066a0049548a", "scanner": "scanner-primary", "fingerprint": "82e1c1deffab4b96", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3648a5a9586e3de2", "level": "note", "message": {"text": "Very large file: src/agents/system-prompt.ts (1392 lines)"}, "properties": {"repobilityId": "dd549b4fe604a6e1", "scanner": "scanner-primary", "fingerprint": "3648a5a9586e3de2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cdeb23ac959cec4a", "level": "note", "message": {"text": "Very large file: src/agents/agent-command.ts (2275 lines)"}, "properties": {"repobilityId": "f241564006d1a634", "scanner": "scanner-primary", "fingerprint": "cdeb23ac959cec4a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ffdc6f0a431cef6d", "level": "note", "message": {"text": "Very large file: src/agents/anthropic-transport-stream.test.ts (2547 lines)"}, "properties": {"repobilityId": "5453780eb5e739c2", "scanner": "scanner-primary", "fingerprint": "ffdc6f0a431cef6d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5801a56b68cddd17", "level": "note", "message": {"text": "Very large file: src/agents/subagent-announce-delivery.test.ts (4634 lines)"}, "properties": {"repobilityId": "fe9b2ad69c1ef7af", "scanner": "scanner-primary", "fingerprint": "5801a56b68cddd17", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-66b05ae8c50811c2", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-helpers.isbillingerrormessage.test.ts (1638 lines)"}, "properties": {"repobilityId": "f3c006a22e51808d", "scanner": "scanner-primary", "fingerprint": "66b05ae8c50811c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4f57d80578f2d23b", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-subscribe.ts (1436 lines)"}, "properties": {"repobilityId": "7181c6db697c40c6", "scanner": "scanner-primary", "fingerprint": "4f57d80578f2d23b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-31baa852878bc4c7", "level": "note", "message": {"text": "Very large file: src/agents/openclaw-tools.sessions.test.ts (1982 lines)"}, "properties": {"repobilityId": "d4ad94138558ece4", "scanner": "scanner-primary", "fingerprint": "31baa852878bc4c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-254c62d1dc280713", "level": "note", "message": {"text": "Very large file: src/agents/provider-transport-fetch.test.ts (1722 lines)"}, "properties": {"repobilityId": "deb60d4e15ee77ac", "scanner": "scanner-primary", "fingerprint": "254c62d1dc280713", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-82b0b4fdfc444600", "level": "note", "message": {"text": "Very large file: src/agents/agent-command.live-model-switch.test.ts (2926 lines)"}, "properties": {"repobilityId": "b5faa1950ea70a6b", "scanner": "scanner-primary", "fingerprint": "82b0b4fdfc444600", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-eb2296881268e94e", "level": "note", "message": {"text": "Very large file: src/agents/subagent-spawn.ts (1773 lines)"}, "properties": {"repobilityId": "f9577ceaa6ee3f05", "scanner": "scanner-primary", "fingerprint": "eb2296881268e94e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-46cd62ccb461f10f", "level": "note", "message": {"text": "Very large file: src/agents/bash-tools.exec-host-node.test.ts (2778 lines)"}, "properties": {"repobilityId": "e01d34aa48025ca3", "scanner": "scanner-primary", "fingerprint": "46cd62ccb461f10f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6bbe84371c15f8c1", "level": "note", "message": {"text": "Very large file: src/agents/models.profiles.live.test.ts (2370 lines)"}, "properties": {"repobilityId": "887759712d22b232", "scanner": "scanner-primary", "fingerprint": "6bbe84371c15f8c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7be2eb38723f5557", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner.sanitize-session-history.test.ts (2479 lines)"}, "properties": {"repobilityId": "e32652ff8415267d", "scanner": "scanner-primary", "fingerprint": "7be2eb38723f5557", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2d30b4f9f4b49c07", "level": "note", "message": {"text": "Very large file: src/agents/model-fallback.ts (1782 lines)"}, "properties": {"repobilityId": "919b3a283831abed", "scanner": "scanner-primary", "fingerprint": "2d30b4f9f4b49c07", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-825876257952a26e", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-subscribe.handlers.tools.test.ts (1992 lines)"}, "properties": {"repobilityId": "5e948016de80f88a", "scanner": "scanner-primary", "fingerprint": "825876257952a26e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fd91020c21aad208", "level": "note", "message": {"text": "Very large file: src/agents/openai-transport-stream.test.ts (10404 lines)"}, "properties": {"repobilityId": "93c96aa2eadaa317", "scanner": "scanner-primary", "fingerprint": "fd91020c21aad208", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9947ce34f1482713", "level": "note", "message": {"text": "Very large file: src/agents/cli-runner.reliability.test.ts (2160 lines)"}, "properties": {"repobilityId": "a9e2ca5437fbf46e", "scanner": "scanner-primary", "fingerprint": "9947ce34f1482713", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-245ddada37c3d579", "level": "note", "message": {"text": "Very large file: src/agents/bash-tools.exec.approval-id.test.ts (1590 lines)"}, "properties": {"repobilityId": "d20a0188d1470eea", "scanner": "scanner-primary", "fingerprint": "245ddada37c3d579", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-96f079741c54dd36", "level": "note", "message": {"text": "Very large file: src/agents/tool-search.ts (1765 lines)"}, "properties": {"repobilityId": "9bb94c7b5b4671d6", "scanner": "scanner-primary", "fingerprint": "96f079741c54dd36", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-439af0a9c7cbebbb", "level": "note", "message": {"text": "Very large file: src/agents/cli-runner.spawn.test.ts (3413 lines)"}, "properties": {"repobilityId": "411c1104b4c80d11", "scanner": "scanner-primary", "fingerprint": "439af0a9c7cbebbb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4a8b61fe56719989", "level": "note", "message": {"text": "Very large file: src/agents/acp-spawn.test.ts (3127 lines)"}, "properties": {"repobilityId": "2edebff290a2102a", "scanner": "scanner-primary", "fingerprint": "4a8b61fe56719989", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7fd80db075b2f405", "level": "note", "message": {"text": "Very large file: src/agents/model-selection-shared.ts (1588 lines)"}, "properties": {"repobilityId": "807681a4365578b5", "scanner": "scanner-primary", "fingerprint": "7fd80db075b2f405", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-44cce8e5202256ae", "level": "note", "message": {"text": "Very large file: src/agents/openclaw-tools.session-status.test.ts (2225 lines)"}, "properties": {"repobilityId": "cc668fad23ac905f", "scanner": "scanner-primary", "fingerprint": "44cce8e5202256ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-40d48478eb619afb", "level": "note", "message": {"text": "Very large file: src/agents/acp-spawn.ts (1708 lines)"}, "properties": {"repobilityId": "2074745e5df0fa2f", "scanner": "scanner-primary", "fingerprint": "40d48478eb619afb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-21fe191a4f81a7ca", "level": "note", "message": {"text": "Very large file: src/agents/subagent-registry.test.ts (3560 lines)"}, "properties": {"repobilityId": "9c87022bb6e4d3f6", "scanner": "scanner-primary", "fingerprint": "21fe191a4f81a7ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ceeef935be1a56cb", "level": "note", "message": {"text": "Very large file: src/agents/anthropic-transport-stream.ts (1574 lines)"}, "properties": {"repobilityId": "438eebc97ab692b4", "scanner": "scanner-primary", "fingerprint": "ceeef935be1a56cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cb0bb58518eae72e", "level": "note", "message": {"text": "Very large file: src/agents/model-selection.test.ts (2976 lines)"}, "properties": {"repobilityId": "cbd489c5e26c20ff", "scanner": "scanner-primary", "fingerprint": "cb0bb58518eae72e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b24c1401356f91c3", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-helpers/errors.ts (1587 lines)"}, "properties": {"repobilityId": "148f3c497f080b88", "scanner": "scanner-primary", "fingerprint": "b24c1401356f91c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e32835b7707534b8", "level": "note", "message": {"text": "Very large file: src/agents/cli-runner/prepare.test.ts (2257 lines)"}, "properties": {"repobilityId": "cf6fcfa7db9ffda3", "scanner": "scanner-primary", "fingerprint": "e32835b7707534b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87a22ef24d5f3699", "level": "note", "message": {"text": "Very large file: src/agents/sessions/agent-session.ts (3255 lines)"}, "properties": {"repobilityId": "ba024fea2a988545", "scanner": "scanner-primary", "fingerprint": "87a22ef24d5f3699", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-85840deff776d7d4", "level": "note", "message": {"text": "Very large file: src/agents/sessions/extensions/types.ts (1694 lines)"}, "properties": {"repobilityId": "bbb627d65f18f112", "scanner": "scanner-primary", "fingerprint": "85840deff776d7d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-01fca49b242d7d7a", "level": "note", "message": {"text": "Very large file: src/agents/tools/cron-tool.test.ts (1946 lines)"}, "properties": {"repobilityId": "f1ec1759c3985043", "scanner": "scanner-primary", "fingerprint": "01fca49b242d7d7a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-10b9d987987c2d75", "level": "note", "message": {"text": "Very large file: src/agents/tools/video-generate-tool.test.ts (1627 lines)"}, "properties": {"repobilityId": "f86fa98236959925", "scanner": "scanner-primary", "fingerprint": "10b9d987987c2d75", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c7505c83159a199", "level": "note", "message": {"text": "Very large file: src/agents/tools/message-tool.ts (1444 lines)"}, "properties": {"repobilityId": "7b6c03540c4b61c8", "scanner": "scanner-primary", "fingerprint": "0c7505c83159a199", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8d539eb7ee3b72f1", "level": "note", "message": {"text": "Very large file: src/agents/tools/image-tool.test.ts (2960 lines)"}, "properties": {"repobilityId": "b4bb14e2b3cbf1d8", "scanner": "scanner-primary", "fingerprint": "8d539eb7ee3b72f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-26048744de1d4ef0", "level": "note", "message": {"text": "Very large file: src/agents/tools/image-generate-tool.test.ts (2420 lines)"}, "properties": {"repobilityId": "8aa74e3c456b685b", "scanner": "scanner-primary", "fingerprint": "26048744de1d4ef0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-23c9a8bf6585eefe", "level": "note", "message": {"text": "Very large file: src/agents/tools/message-tool.test.ts (2803 lines)"}, "properties": {"repobilityId": "6027c2d591a38e9b", "scanner": "scanner-primary", "fingerprint": "23c9a8bf6585eefe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87516702826c5236", "level": "note", "message": {"text": "Very large file: src/agents/agent-hooks/compaction-safeguard.test.ts (2547 lines)"}, "properties": {"repobilityId": "ee2f3af3d52f70cc", "scanner": "scanner-primary", "fingerprint": "87516702826c5236", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-46cb4bef6f2d7eff", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/run.ts (3813 lines)"}, "properties": {"repobilityId": "a9237b4a8a191898", "scanner": "scanner-primary", "fingerprint": "46cb4bef6f2d7eff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e7196a7c121f4c59", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/run.overflow-compaction.test.ts (2358 lines)"}, "properties": {"repobilityId": "d9c68cc497afdc58", "scanner": "scanner-primary", "fingerprint": "e7196a7c121f4c59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-af304a1e5214a34f", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/compact.hooks.test.ts (2501 lines)"}, "properties": {"repobilityId": "609840e49111a60f", "scanner": "scanner-primary", "fingerprint": "af304a1e5214a34f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-41432caafdb09e31", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/model.ts (1695 lines)"}, "properties": {"repobilityId": "434d88a0e235a9fd", "scanner": "scanner-primary", "fingerprint": "41432caafdb09e31", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-35c53f361efae9e9", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/context-engine-maintenance.test.ts (1679 lines)"}, "properties": {"repobilityId": "df32821f652e428a", "scanner": "scanner-primary", "fingerprint": "35c53f361efae9e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dc69c89df751ffaa", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/compact.ts (1651 lines)"}, "properties": {"repobilityId": "5b3c37cf8260b541", "scanner": "scanner-primary", "fingerprint": "dc69c89df751ffaa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f592ef853795262a", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/run.incomplete-turn.test.ts (3371 lines)"}, "properties": {"repobilityId": "31b4829b4fdfd6db", "scanner": "scanner-primary", "fingerprint": "f592ef853795262a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c7a7b77e48660f90", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/model.test.ts (3580 lines)"}, "properties": {"repobilityId": "e5fd6d6c8d709394", "scanner": "scanner-primary", "fingerprint": "c7a7b77e48660f90", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c782ad591de3107f", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/run/attempt.ts (5428 lines)"}, "properties": {"repobilityId": "04e6883feb4a7a57", "scanner": "scanner-primary", "fingerprint": "c782ad591de3107f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b815b34eee451d29", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/run/attempt.spawn-workspace.context-engine.test.ts (2699 lines)"}, "properties": {"repobilityId": "9c685d9a56a1cb15", "scanner": "scanner-primary", "fingerprint": "b815b34eee451d29", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c30da6e624bfe56", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/run/attempt.session-lock.test.ts (1941 lines)"}, "properties": {"repobilityId": "ee6d5d3ad258521b", "scanner": "scanner-primary", "fingerprint": "0c30da6e624bfe56", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b959f756a470cf0b", "level": "note", "message": {"text": "Very large file: src/agents/embedded-agent-runner/run/attempt.test.ts (3500 lines)"}, "properties": {"repobilityId": "38f92885bcd7b8db", "scanner": "scanner-primary", "fingerprint": "b959f756a470cf0b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-10a6f7b0721b935c", "level": "note", "message": {"text": "Very large file: src/agents/command/cli-compaction.test.ts (1625 lines)"}, "properties": {"repobilityId": "a5a179ac439b7e2a", "scanner": "scanner-primary", "fingerprint": "10a6f7b0721b935c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-83926b64a1dcc54c", "level": "note", "message": {"text": "Very large file: src/agents/command/attempt-execution.cli.test.ts (2127 lines)"}, "properties": {"repobilityId": "08c8d8846bcd9022", "scanner": "scanner-primary", "fingerprint": "83926b64a1dcc54c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-63dcb1c9ccee402f", "level": "note", "message": {"text": "Very large file: src/agents/command/session-store.test.ts (2228 lines)"}, "properties": {"repobilityId": "f0102a60b93505e4", "scanner": "scanner-primary", "fingerprint": "63dcb1c9ccee402f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-58006dfc40123e7f", "level": "note", "message": {"text": "Very large file: src/agents/harness/native-hook-relay.test.ts (3233 lines)"}, "properties": {"repobilityId": "8308b6ac813ad017", "scanner": "scanner-primary", "fingerprint": "58006dfc40123e7f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-437a3653e199d662", "level": "note", "message": {"text": "Very large file: src/agents/harness/native-hook-relay.ts (2396 lines)"}, "properties": {"repobilityId": "ca054f3fa1ba8cd7", "scanner": "scanner-primary", "fingerprint": "437a3653e199d662", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5c338dcd47c660a6", "level": "note", "message": {"text": "Very large file: src/cron/isolated-agent/run.ts (1412 lines)"}, "properties": {"repobilityId": "1a2afd53681f7945", "scanner": "scanner-primary", "fingerprint": "5c338dcd47c660a6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-171b72b4b91448c8", "level": "note", "message": {"text": "Very large file: src/cron/isolated-agent/delivery-dispatch.double-announce.test.ts (1893 lines)"}, "properties": {"repobilityId": "7ec428ef347ef9ab", "scanner": "scanner-primary", "fingerprint": "171b72b4b91448c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-940c4516d87f0593", "level": "note", "message": {"text": "Very large file: src/cron/service/timer.ts (1757 lines)"}, "properties": {"repobilityId": "10830fdf10588d05", "scanner": "scanner-primary", "fingerprint": "940c4516d87f0593", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3aff154858e6a4ae", "level": "note", "message": {"text": "Very large file: src/cron/service/timer.regression.test.ts (2594 lines)"}, "properties": {"repobilityId": "ecec5cfc8be743e8", "scanner": "scanner-primary", "fingerprint": "3aff154858e6a4ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-51771e9daa3550c8", "level": "note", "message": {"text": "Very large file: src/secrets/runtime-web-tools.test.ts (1775 lines)"}, "properties": {"repobilityId": "fee7395b7d1e5d46", "scanner": "scanner-primary", "fingerprint": "51771e9daa3550c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-46b0fe52a972dfce", "level": "note", "message": {"text": "Very large file: src/logging/redact.test.ts (1187 lines)"}, "properties": {"repobilityId": "7baac5c84747152b", "scanner": "scanner-primary", "fingerprint": "46b0fe52a972dfce", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-507d36c4608b82f2", "level": "note", "message": {"text": "Very large file: src/logging/diagnostic.test.ts (2878 lines)"}, "properties": {"repobilityId": "ec690b88f07f5200", "scanner": "scanner-primary", "fingerprint": "507d36c4608b82f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-56b2c7ce405d2a01", "level": "note", "message": {"text": "Very large file: src/channels/plugins/setup-wizard-helpers.test.ts (2132 lines)"}, "properties": {"repobilityId": "dbd123ee2fff142d", "scanner": "scanner-primary", "fingerprint": "56b2c7ce405d2a01", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4cf456c63a9688ff", "level": "note", "message": {"text": "Very large file: src/channels/plugins/setup-wizard-helpers.ts (1624 lines)"}, "properties": {"repobilityId": "5a05fcb88198c000", "scanner": "scanner-primary", "fingerprint": "4cf456c63a9688ff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a0ef31330fc3fae8", "level": "note", "message": {"text": "Very large file: src/infra/restart-stale-pids.test.ts (1379 lines)"}, "properties": {"repobilityId": "1f0fe6090519c3d6", "scanner": "scanner-primary", "fingerprint": "a0ef31330fc3fae8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fb0afb517788120e", "level": "note", "message": {"text": "Very large file: src/infra/heartbeat-runner.returns-default-unset.test.ts (1935 lines)"}, "properties": {"repobilityId": "8e8c11de978c532a", "scanner": "scanner-primary", "fingerprint": "fb0afb517788120e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d86bc89c8fe850db", "level": "note", "message": {"text": "Very large file: src/infra/update-runner.ts (1721 lines)"}, "properties": {"repobilityId": "e61ba290fd270326", "scanner": "scanner-primary", "fingerprint": "d86bc89c8fe850db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f25791aa9a7a0182", "level": "note", "message": {"text": "Very large file: src/infra/heartbeat-runner.ts (2593 lines)"}, "properties": {"repobilityId": "3c12a6c55981c46c", "scanner": "scanner-primary", "fingerprint": "f25791aa9a7a0182", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1ef26751cf4c1a39", "level": "note", "message": {"text": "Very large file: src/infra/run-node.test.ts (2886 lines)"}, "properties": {"repobilityId": "906a32550cefeed0", "scanner": "scanner-primary", "fingerprint": "1ef26751cf4c1a39", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-079a092755352918", "level": "note", "message": {"text": "Very large file: src/infra/host-env-security.test.ts (2154 lines)"}, "properties": {"repobilityId": "6e59418b1512fd3b", "scanner": "scanner-primary", "fingerprint": "079a092755352918", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a6b335072c465896", "level": "note", "message": {"text": "Very large file: src/infra/session-cost-usage.test.ts (2650 lines)"}, "properties": {"repobilityId": "3f2754454e244ae3", "scanner": "scanner-primary", "fingerprint": "a6b335072c465896", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8af5121d148fb907", "level": "note", "message": {"text": "Very large file: src/infra/update-runner.test.ts (2995 lines)"}, "properties": {"repobilityId": "fd8e986b6586b29a", "scanner": "scanner-primary", "fingerprint": "8af5121d148fb907", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d8d7ec0988649be7", "level": "note", "message": {"text": "Very large file: src/infra/session-cost-usage.ts (2592 lines)"}, "properties": {"repobilityId": "6d95cdfbafba4ca3", "scanner": "scanner-primary", "fingerprint": "d8d7ec0988649be7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ee6ac175908da2b8", "level": "note", "message": {"text": "Very large file: src/infra/exec-approvals.ts (1696 lines)"}, "properties": {"repobilityId": "68aaa9c121e5107b", "scanner": "scanner-primary", "fingerprint": "ee6ac175908da2b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cd244ea7bdb4bfc7", "level": "note", "message": {"text": "Very large file: src/infra/state-migrations.ts (3968 lines)"}, "properties": {"repobilityId": "c2be3132ffd7dc4b", "scanner": "scanner-primary", "fingerprint": "cd244ea7bdb4bfc7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fea97e09c09423fb", "level": "note", "message": {"text": "Very large file: src/infra/device-pairing.test.ts (1916 lines)"}, "properties": {"repobilityId": "4bde56df089a71d5", "scanner": "scanner-primary", "fingerprint": "fea97e09c09423fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87ca577829f97836", "level": "note", "message": {"text": "Very large file: src/infra/net/fetch-guard.ssrf.test.ts (2128 lines)"}, "properties": {"repobilityId": "18fcb102b7f12fe3", "scanner": "scanner-primary", "fingerprint": "87ca577829f97836", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1a93c8ee28383a31", "level": "note", "message": {"text": "Very large file: src/infra/outbound/deliver.ts (2002 lines)"}, "properties": {"repobilityId": "9eefdd662622a43e", "scanner": "scanner-primary", "fingerprint": "1a93c8ee28383a31", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5b5c7244988ea8cc", "level": "note", "message": {"text": "Very large file: src/infra/outbound/message-action-runner.ts (1619 lines)"}, "properties": {"repobilityId": "25f14fb9369701e6", "scanner": "scanner-primary", "fingerprint": "5b5c7244988ea8cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-415d1074cbacba34", "level": "note", "message": {"text": "Very large file: src/infra/outbound/deliver.test.ts (3874 lines)"}, "properties": {"repobilityId": "d458633cbc5960bb", "scanner": "scanner-primary", "fingerprint": "415d1074cbacba34", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5da78f64916cd338", "level": "note", "message": {"text": "Very large file: src/infra/outbound/message-action-runner.plugin-dispatch.test.ts (1906 lines)"}, "properties": {"repobilityId": "288ac557efa24b68", "scanner": "scanner-primary", "fingerprint": "5da78f64916cd338", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f86783c6ff2a50e3", "level": "note", "message": {"text": "Very large file: src/gateway/control-ui.http.test.ts (1565 lines)"}, "properties": {"repobilityId": "491a011fc6c265f2", "scanner": "scanner-primary", "fingerprint": "f86783c6ff2a50e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-61ada7ed729f7294", "level": "note", "message": {"text": "Very large file: src/gateway/config-reload.test.ts (1771 lines)"}, "properties": {"repobilityId": "ee55ac241dce5824", "scanner": "scanner-primary", "fingerprint": "61ada7ed729f7294", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f72d9055b119f516", "level": "note", "message": {"text": "Very large file: src/gateway/server-startup-post-attach.test.ts (2244 lines)"}, "properties": {"repobilityId": "580d2eb353d16e96", "scanner": "scanner-primary", "fingerprint": "f72d9055b119f516", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4df04038a66bb7dc", "level": "note", "message": {"text": "Very large file: src/gateway/server-restart-sentinel.test.ts (1554 lines)"}, "properties": {"repobilityId": "7633da3414fad3a9", "scanner": "scanner-primary", "fingerprint": "4df04038a66bb7dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d1be106067adf232", "level": "note", "message": {"text": "Very large file: src/gateway/server.impl.ts (1785 lines)"}, "properties": {"repobilityId": "0dcdcdef3230f580", "scanner": "scanner-primary", "fingerprint": "d1be106067adf232", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8ab6b6ec8a775521", "level": "note", "message": {"text": "Very large file: src/gateway/server.chat.gateway-server-chat-b.test.ts (3026 lines)"}, "properties": {"repobilityId": "998aa011dfb5cae7", "scanner": "scanner-primary", "fingerprint": "8ab6b6ec8a775521", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-adbbec9f9733217a", "level": "note", "message": {"text": "Very large file: src/gateway/talk-realtime-relay.test.ts (1672 lines)"}, "properties": {"repobilityId": "732914835eb96265", "scanner": "scanner-primary", "fingerprint": "adbbec9f9733217a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ab0f708ea5e5e604", "level": "note", "message": {"text": "Very large file: src/gateway/server-plugins.test.ts (1555 lines)"}, "properties": {"repobilityId": "6ce7af94999920a6", "scanner": "scanner-primary", "fingerprint": "ab0f708ea5e5e604", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-89f129566cfd5f78", "level": "note", "message": {"text": "Very large file: src/gateway/openresponses-http.test.ts (1819 lines)"}, "properties": {"repobilityId": "0a3999b0c951f6fe", "scanner": "scanner-primary", "fingerprint": "89f129566cfd5f78", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9235883e40135954", "level": "note", "message": {"text": "Very large file: src/gateway/server.cron.test.ts (1727 lines)"}, "properties": {"repobilityId": "467e5819604d0f3f", "scanner": "scanner-primary", "fingerprint": "9235883e40135954", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-964bec619c347a0c", "level": "note", "message": {"text": "Very large file: src/gateway/server.chat.gateway-server-chat.test.ts (1956 lines)"}, "properties": {"repobilityId": "2cb908a207262995", "scanner": "scanner-primary", "fingerprint": "964bec619c347a0c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-04b236cb861af5e5", "level": "note", "message": {"text": "Very large file: src/gateway/server-chat.agent-events.test.ts (3577 lines)"}, "properties": {"repobilityId": "83eb48896cc7a3ec", "scanner": "scanner-primary", "fingerprint": "04b236cb861af5e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a74c024150f7376d", "level": "note", "message": {"text": "Very large file: src/gateway/openai-http.test.ts (2600 lines)"}, "properties": {"repobilityId": "8ea58d3a7122ed9c", "scanner": "scanner-primary", "fingerprint": "a74c024150f7376d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-494ba270bce5bee2", "level": "note", "message": {"text": "Very large file: src/gateway/session-utils.fs.ts (1838 lines)"}, "properties": {"repobilityId": "623439b7ba8ac2af", "scanner": "scanner-primary", "fingerprint": "494ba270bce5bee2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-062a550f2c6e55f5", "level": "note", "message": {"text": "Very large file: src/gateway/chat-display-projection.ts (1644 lines)"}, "properties": {"repobilityId": "32af6b204db1dac9", "scanner": "scanner-primary", "fingerprint": "062a550f2c6e55f5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8cce6644c571bb9f", "level": "note", "message": {"text": "Very large file: src/gateway/gateway-models.profiles.live.test.ts (4042 lines)"}, "properties": {"repobilityId": "9fa389601bce2547", "scanner": "scanner-primary", "fingerprint": "8cce6644c571bb9f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-22f3649ac349a68f", "level": "note", "message": {"text": "Very large file: src/gateway/call.test.ts (2265 lines)"}, "properties": {"repobilityId": "7e0f7da049bbc15a", "scanner": "scanner-primary", "fingerprint": "22f3649ac349a68f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9f8169fe1028c4da", "level": "note", "message": {"text": "Very large file: src/gateway/client.test.ts (1786 lines)"}, "properties": {"repobilityId": "676fe1c6cca504e1", "scanner": "scanner-primary", "fingerprint": "9f8169fe1028c4da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-efcbfeadf8489a25", "level": "note", "message": {"text": "Very large file: src/gateway/session-utils.test.ts (2590 lines)"}, "properties": {"repobilityId": "a5aee618a2a23961", "scanner": "scanner-primary", "fingerprint": "efcbfeadf8489a25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3aa660201a135dac", "level": "note", "message": {"text": "Very large file: src/gateway/server-reload-handlers.test.ts (1505 lines)"}, "properties": {"repobilityId": "707f0e7f99181134", "scanner": "scanner-primary", "fingerprint": "3aa660201a135dac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7c3a6d0794aed9f2", "level": "note", "message": {"text": "Very large file: src/gateway/server-startup-post-attach.ts (1471 lines)"}, "properties": {"repobilityId": "124b8d3fa091ea52", "scanner": "scanner-primary", "fingerprint": "7c3a6d0794aed9f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a8154da06076cf19", "level": "note", "message": {"text": "Very large file: src/gateway/session-utils.ts (2912 lines)"}, "properties": {"repobilityId": "8ec56fef5c7b2545", "scanner": "scanner-primary", "fingerprint": "a8154da06076cf19", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6072f6de6db12b1d", "level": "note", "message": {"text": "Very large file: src/gateway/session-utils.fs.test.ts (2150 lines)"}, "properties": {"repobilityId": "80523dcd85ce83fd", "scanner": "scanner-primary", "fingerprint": "6072f6de6db12b1d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4d77337691d45f82", "level": "note", "message": {"text": "Very large file: src/gateway/server.auth.control-ui.suite.ts (1981 lines)"}, "properties": {"repobilityId": "e5e907190e0027ec", "scanner": "scanner-primary", "fingerprint": "4d77337691d45f82", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-063d4ae82219eb8b", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/chat.directive-tags.test.ts (5271 lines)"}, "properties": {"repobilityId": "f4206b2a8d28a74f", "scanner": "scanner-primary", "fingerprint": "063d4ae82219eb8b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-df6d69f2eb56fdbd", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/agent.test.ts (6919 lines)"}, "properties": {"repobilityId": "33a542771bbd3871", "scanner": "scanner-primary", "fingerprint": "df6d69f2eb56fdbd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e1b942820779d797", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/server-methods.test.ts (4033 lines)"}, "properties": {"repobilityId": "a1705cf806bea6bc", "scanner": "scanner-primary", "fingerprint": "e1b942820779d797", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-966e0b860f2966e3", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/send.test.ts (2354 lines)"}, "properties": {"repobilityId": "f1e35917a99023fa", "scanner": "scanner-primary", "fingerprint": "966e0b860f2966e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0d12d0828ce4c3c7", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/chat.ts (4647 lines)"}, "properties": {"repobilityId": "ce0b9105dc315d53", "scanner": "scanner-primary", "fingerprint": "0d12d0828ce4c3c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7fdfc5124a3746b8", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/doctor.test.ts (1676 lines)"}, "properties": {"repobilityId": "2eb1b320567c5602", "scanner": "scanner-primary", "fingerprint": "7fdfc5124a3746b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0cde5f8c6b6c9cc3", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/sessions.ts (2707 lines)"}, "properties": {"repobilityId": "5bf16be2c6def41e", "scanner": "scanner-primary", "fingerprint": "0cde5f8c6b6c9cc3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-11761dcf913bcb7d", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/talk.test.ts (2008 lines)"}, "properties": {"repobilityId": "3680506f762d856c", "scanner": "scanner-primary", "fingerprint": "11761dcf913bcb7d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-018aa83005bdbd3d", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/agent.ts (2848 lines)"}, "properties": {"repobilityId": "fe84173b819bd9d7", "scanner": "scanner-primary", "fingerprint": "018aa83005bdbd3d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-afaeb52adac73af5", "level": "note", "message": {"text": "Very large file: src/gateway/server-methods/usage.ts (1582 lines)"}, "properties": {"repobilityId": "1f367e7d4c161efb", "scanner": "scanner-primary", "fingerprint": "afaeb52adac73af5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f37b5e6e8e826cfe", "level": "note", "message": {"text": "Very large file: src/gateway/server/ws-connection/message-handler.ts (2146 lines)"}, "properties": {"repobilityId": "059e94106f923bb7", "scanner": "scanner-primary", "fingerprint": "f37b5e6e8e826cfe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c0d68adf05f77f16", "level": "note", "message": {"text": "Very large file: src/skills/loading/workspace.ts (1663 lines)"}, "properties": {"repobilityId": "f52f22b299dfbd68", "scanner": "scanner-primary", "fingerprint": "c0d68adf05f77f16", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-220e82e1e9200a41", "level": "note", "message": {"text": "Very large file: src/wizard/i18n/locales/en.ts (1031 lines)"}, "properties": {"repobilityId": "416195f5ba80ed80", "scanner": "scanner-primary", "fingerprint": "220e82e1e9200a41", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-99cdb900f58f0865", "level": "note", "message": {"text": "Very large file: src/wizard/i18n/locales/zh-TW.ts (994 lines)"}, "properties": {"repobilityId": "09421ea9ed6c3659", "scanner": "scanner-primary", "fingerprint": "99cdb900f58f0865", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c74ef17ecf681e2c", "level": "note", "message": {"text": "Very large file: src/wizard/i18n/locales/zh-CN.ts (993 lines)"}, "properties": {"repobilityId": "efac36bc4d3ec0ff", "scanner": "scanner-primary", "fingerprint": "c74ef17ecf681e2c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ddb1728fb03c41d0", "level": "note", "message": {"text": "Very large file: src/node-host/invoke-system-run.test.ts (1950 lines)"}, "properties": {"repobilityId": "d09c4ace7bbc69a6", "scanner": "scanner-primary", "fingerprint": "ddb1728fb03c41d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2aeb2fee713c4f2a", "level": "note", "message": {"text": "Very large file: src/plugin-sdk/provider-stream-shared.test.ts (2098 lines)"}, "properties": {"repobilityId": "d5ab1425219685ad", "scanner": "scanner-primary", "fingerprint": "2aeb2fee713c4f2a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-42c64d76be4bfd8e", "level": "note", "message": {"text": "Very large file: src/plugins/channel-plugin-ids.test.ts (3470 lines)"}, "properties": {"repobilityId": "74d3730eb757b549", "scanner": "scanner-primary", "fingerprint": "42c64d76be4bfd8e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9bfd4c2c9028c138", "level": "note", "message": {"text": "Very large file: src/plugins/schema-validator.test.ts (2131 lines)"}, "properties": {"repobilityId": "4e6f952b152bd846", "scanner": "scanner-primary", "fingerprint": "9bfd4c2c9028c138", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6bb3191de4d3285a", "level": "note", "message": {"text": "Very large file: src/plugins/registry.ts (3309 lines)"}, "properties": {"repobilityId": "2e77a62e05ece6c0", "scanner": "scanner-primary", "fingerprint": "6bb3191de4d3285a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f7b872c454a5d7d8", "level": "note", "message": {"text": "Very large file: src/plugins/loader.ts (3262 lines)"}, "properties": {"repobilityId": "00cd5ecbbfb2a424", "scanner": "scanner-primary", "fingerprint": "f7b872c454a5d7d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cb5bc5fc3b5c21a1", "level": "note", "message": {"text": "Very large file: src/plugins/update.test.ts (4810 lines)"}, "properties": {"repobilityId": "6b659fcff9d9bc62", "scanner": "scanner-primary", "fingerprint": "cb5bc5fc3b5c21a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c842219a1d7d1177", "level": "note", "message": {"text": "Very large file: src/plugins/loader.test.ts (9080 lines)"}, "properties": {"repobilityId": "830bce405f8a8786", "scanner": "scanner-primary", "fingerprint": "c842219a1d7d1177", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-92313965d5983467", "level": "note", "message": {"text": "Very large file: src/plugins/clawhub.test.ts (2177 lines)"}, "properties": {"repobilityId": "5e9f3ef8c80dcfc1", "scanner": "scanner-primary", "fingerprint": "92313965d5983467", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e3cf79e4fc3d15bc", "level": "note", "message": {"text": "Very large file: src/plugins/discovery.ts (1632 lines)"}, "properties": {"repobilityId": "c367a31f58a7b76b", "scanner": "scanner-primary", "fingerprint": "e3cf79e4fc3d15bc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-339a6dd28f27322a", "level": "note", "message": {"text": "Very large file: src/plugins/hooks.ts (1684 lines)"}, "properties": {"repobilityId": "c9a7b8372bf5ce71", "scanner": "scanner-primary", "fingerprint": "339a6dd28f27322a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-29d23350c2ebf7c8", "level": "note", "message": {"text": "Very large file: src/plugins/update.ts (2424 lines)"}, "properties": {"repobilityId": "21f388c0a63ca39d", "scanner": "scanner-primary", "fingerprint": "29d23350c2ebf7c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2c47fa0e43b7bbf8", "level": "note", "message": {"text": "Very large file: src/plugins/sdk-alias.ts (2131 lines)"}, "properties": {"repobilityId": "8759af3f3f155c02", "scanner": "scanner-primary", "fingerprint": "2c47fa0e43b7bbf8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d1e39a21e25fcdbc", "level": "note", "message": {"text": "Very large file: src/plugins/manifest-registry.test.ts (2842 lines)"}, "properties": {"repobilityId": "349e6ed18fffeb9f", "scanner": "scanner-primary", "fingerprint": "d1e39a21e25fcdbc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a41950331f61cc89", "level": "note", "message": {"text": "Very large file: src/plugins/capability-provider-runtime.test.ts (1855 lines)"}, "properties": {"repobilityId": "e2638005f1d1a4c4", "scanner": "scanner-primary", "fingerprint": "a41950331f61cc89", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-443656e354ff5057", "level": "note", "message": {"text": "Very large file: src/plugins/gateway-startup-plugin-ids.ts (2197 lines)"}, "properties": {"repobilityId": "f335d5344ec089fe", "scanner": "scanner-primary", "fingerprint": "443656e354ff5057", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c937892bd0ed406a", "level": "note", "message": {"text": "Very large file: src/plugins/manifest.ts (2065 lines)"}, "properties": {"repobilityId": "e4890e734e07e13e", "scanner": "scanner-primary", "fingerprint": "c937892bd0ed406a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3fd43baf66c44649", "level": "note", "message": {"text": "Very large file: src/plugins/tools.optional.test.ts (2915 lines)"}, "properties": {"repobilityId": "ee2e2504cf42b92a", "scanner": "scanner-primary", "fingerprint": "3fd43baf66c44649", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8484a7a2169d3f24", "level": "note", "message": {"text": "Very large file: src/plugins/discovery.test.ts (2588 lines)"}, "properties": {"repobilityId": "b7da50fc7f893a7d", "scanner": "scanner-primary", "fingerprint": "8484a7a2169d3f24", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a2ef8a68eb8cad20", "level": "note", "message": {"text": "Very large file: src/plugins/install.ts (2881 lines)"}, "properties": {"repobilityId": "f5f7530bd0c30cf1", "scanner": "scanner-primary", "fingerprint": "a2ef8a68eb8cad20", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8270ec27450b23b3", "level": "note", "message": {"text": "Very large file: src/plugins/uninstall.test.ts (1917 lines)"}, "properties": {"repobilityId": "7c8e2edadbd6b614", "scanner": "scanner-primary", "fingerprint": "8270ec27450b23b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c3f3148cf307464", "level": "note", "message": {"text": "Very large file: src/plugins/install.test.ts (3542 lines)"}, "properties": {"repobilityId": "db688a0bd539a7cd", "scanner": "scanner-primary", "fingerprint": "0c3f3148cf307464", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8c468297dca707da", "level": "note", "message": {"text": "Very large file: src/plugins/provider-runtime.test.ts (2692 lines)"}, "properties": {"repobilityId": "49e7869b1fe23b35", "scanner": "scanner-primary", "fingerprint": "8c468297dca707da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b3264ef99b0c8f8b", "level": "note", "message": {"text": "Very large file: src/plugins/install.npm-spec.test.ts (2787 lines)"}, "properties": {"repobilityId": "8cd208d8d5ca91a5", "scanner": "scanner-primary", "fingerprint": "b3264ef99b0c8f8b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7badb1198c001718", "level": "note", "message": {"text": "Very large file: src/plugins/providers.test.ts (1807 lines)"}, "properties": {"repobilityId": "ff1e6963070b8d7b", "scanner": "scanner-primary", "fingerprint": "7badb1198c001718", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1f8d77e5bf3abacf", "level": "note", "message": {"text": "Very large file: src/plugins/sdk-alias.test.ts (2764 lines)"}, "properties": {"repobilityId": "0573af45c3b62bca", "scanner": "scanner-primary", "fingerprint": "1f8d77e5bf3abacf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-836e25faa96aa45c", "level": "note", "message": {"text": "Very large file: src/plugins/types.ts (2919 lines)"}, "properties": {"repobilityId": "7c736bf209d6fcda", "scanner": "scanner-primary", "fingerprint": "836e25faa96aa45c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9ef53994ecf374a9", "level": "note", "message": {"text": "Very large file: src/plugins/contracts/plugin-sdk-subpaths.test.ts (1461 lines)"}, "properties": {"repobilityId": "eb4787bf74bc73a4", "scanner": "scanner-primary", "fingerprint": "9ef53994ecf374a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-05d4ac7c77e765ef", "level": "note", "message": {"text": "Very large file: src/plugins/contracts/host-hooks.contract.test.ts (2952 lines)"}, "properties": {"repobilityId": "d2b19ee5ae4597e7", "scanner": "scanner-primary", "fingerprint": "05d4ac7c77e765ef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4e13aac5061d7276", "level": "note", "message": {"text": "Very large file: src/llm/providers/openai-chatgpt-responses.ts (1654 lines)"}, "properties": {"repobilityId": "fd7c9a0e4e0c5a54", "scanner": "scanner-primary", "fingerprint": "4e13aac5061d7276", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fa72cad1d7e8b693", "level": "note", "message": {"text": "Very large file: src/auto-reply/status.test.ts (2584 lines)"}, "properties": {"repobilityId": "67dc17797a6260e0", "scanner": "scanner-primary", "fingerprint": "fa72cad1d7e8b693", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7232d8a57cd9677e", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/dispatch-acp.test.ts (2067 lines)"}, "properties": {"repobilityId": "f6c53ba6bbed45df", "scanner": "scanner-primary", "fingerprint": "7232d8a57cd9677e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-30b4e41fc0191d2d", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/followup-runner.ts (1299 lines)"}, "properties": {"repobilityId": "818801498fa8f304", "scanner": "scanner-primary", "fingerprint": "30b4e41fc0191d2d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b113e1a43e7e442a", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/get-reply-run.media-only.test.ts (2778 lines)"}, "properties": {"repobilityId": "10943127f99e2c55", "scanner": "scanner-primary", "fingerprint": "b113e1a43e7e442a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ad96d56c0c3c0fb4", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/agent-runner.runreplyagent.e2e.test.ts (2336 lines)"}, "properties": {"repobilityId": "d23b845522ea1f0b", "scanner": "scanner-primary", "fingerprint": "ad96d56c0c3c0fb4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4a2fc1c8d294b92a", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/directive-handling.model.test.ts (2266 lines)"}, "properties": {"repobilityId": "1e5d426f90071c2e", "scanner": "scanner-primary", "fingerprint": "4a2fc1c8d294b92a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c73e4521c92cf43c", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/agent-runner.misc.runreplyagent.test.ts (3126 lines)"}, "properties": {"repobilityId": "99f62402a3d8d914", "scanner": "scanner-primary", "fingerprint": "c73e4521c92cf43c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8129f63f73fa7581", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/agent-runner-execution.ts (3053 lines)"}, "properties": {"repobilityId": "2b92b267b0614585", "scanner": "scanner-primary", "fingerprint": "8129f63f73fa7581", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0152d75cdb51ed0f", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/session.test.ts (4732 lines)"}, "properties": {"repobilityId": "490fca663b0e39df", "scanner": "scanner-primary", "fingerprint": "0152d75cdb51ed0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-17c3b0e046f64fdd", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/agent-runner-memory.ts (1472 lines)"}, "properties": {"repobilityId": "a6f3b244a41527e9", "scanner": "scanner-primary", "fingerprint": "17c3b0e046f64fdd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fd431f1bf5a5994d", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/commands-status.test.ts (1518 lines)"}, "properties": {"repobilityId": "d9a77897a4ba5b26", "scanner": "scanner-primary", "fingerprint": "fd431f1bf5a5994d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-60fd3d5323ff7a7d", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/agent-runner-memory.test.ts (2225 lines)"}, "properties": {"repobilityId": "a42606dcfbe7c91c", "scanner": "scanner-primary", "fingerprint": "60fd3d5323ff7a7d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fca2a9d4d36d84a1", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/agent-runner-execution.test.ts (6991 lines)"}, "properties": {"repobilityId": "5c9ed2bbbcb86ae2", "scanner": "scanner-primary", "fingerprint": "fca2a9d4d36d84a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-871f91c0b2d64e6f", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/agent-runner.ts (2480 lines)"}, "properties": {"repobilityId": "ce37f42c73894c80", "scanner": "scanner-primary", "fingerprint": "871f91c0b2d64e6f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-683a213bb946398c", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/commands-acp.test.ts (2107 lines)"}, "properties": {"repobilityId": "baaa8e867946d109", "scanner": "scanner-primary", "fingerprint": "683a213bb946398c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-81dfb075266377ea", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/dispatch-from-config.test.ts (9688 lines)"}, "properties": {"repobilityId": "a8f6facea5e77cd4", "scanner": "scanner-primary", "fingerprint": "81dfb075266377ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ebaf7807972d2da6", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/get-reply-run.ts (1406 lines)"}, "properties": {"repobilityId": "ec23a4ea9edeb213", "scanner": "scanner-primary", "fingerprint": "ebaf7807972d2da6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a2a3e03a23c43f56", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/followup-runner.test.ts (4032 lines)"}, "properties": {"repobilityId": "65b2d8447f011de6", "scanner": "scanner-primary", "fingerprint": "a2a3e03a23c43f56", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f0caca0d8dc17aba", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/dispatch-from-config.ts (3263 lines)"}, "properties": {"repobilityId": "964151f198ba5ff6", "scanner": "scanner-primary", "fingerprint": "f0caca0d8dc17aba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ca678299a94cb3b2", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/model-selection.test.ts (1696 lines)"}, "properties": {"repobilityId": "67ed80c592e7e121", "scanner": "scanner-primary", "fingerprint": "ca678299a94cb3b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-226a71e4f0314072", "level": "note", "message": {"text": "Very large file: src/auto-reply/reply/export-html/template.js (1959 lines)"}, "properties": {"repobilityId": "183d5db37d95d86d", "scanner": "scanner-primary", "fingerprint": "226a71e4f0314072", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-34e40a81476a1c25", "level": "note", "message": {"text": "61 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "34e40a81476a1c25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-7679c47799b58c01", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: qa/convex-credential-broker/package.json"}, "properties": {"repobilityId": "3b813bc63d24f7cc", "scanner": "scanner-primary", "fingerprint": "7679c47799b58c01", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "qa/convex-credential-broker/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eb52245e50d88e17", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: ui/package.json"}, "properties": {"repobilityId": "4c4927d3d3a88150", "scanner": "scanner-primary", "fingerprint": "eb52245e50d88e17", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb2d0338daf17f59", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/google/package.json"}, "properties": {"repobilityId": "76d36a9328872db3", "scanner": "scanner-primary", "fingerprint": "cb2d0338daf17f59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/google/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd65681212a26149", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/mistral/package.json"}, "properties": {"repobilityId": "d2bbd080e536cbff", "scanner": "scanner-primary", "fingerprint": "cd65681212a26149", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/mistral/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-990b7b9983641be6", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/gmi/package.json"}, "properties": {"repobilityId": "7e58fb00684b11db", "scanner": "scanner-primary", "fingerprint": "990b7b9983641be6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/gmi/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-667101200cae0f18", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/oc-path/package.json"}, "properties": {"repobilityId": "24d82c5abe6b894e", "scanner": "scanner-primary", "fingerprint": "667101200cae0f18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/oc-path/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b0a35f1dbc680263", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/parallel/package.json"}, "properties": {"repobilityId": "3bf7448162de7cdb", "scanner": "scanner-primary", "fingerprint": "b0a35f1dbc680263", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/parallel/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-32e6a732869f10a9", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/migrate-hermes/package.json"}, "properties": {"repobilityId": "a104100dff7b4b3c", "scanner": "scanner-primary", "fingerprint": "32e6a732869f10a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/migrate-hermes/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ffd96310893e797f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/xiaomi/package.json"}, "properties": {"repobilityId": "c0daaae4835f2634", "scanner": "scanner-primary", "fingerprint": "ffd96310893e797f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/xiaomi/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f8b6b947b5f30014", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/alibaba/package.json"}, "properties": {"repobilityId": "0a443b14b2d6cdde", "scanner": "scanner-primary", "fingerprint": "f8b6b947b5f30014", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/alibaba/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f63bcb4b1728c2b3", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/open-prose/package.json"}, "properties": {"repobilityId": "d56368b1476f2669", "scanner": "scanner-primary", "fingerprint": "f63bcb4b1728c2b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/open-prose/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-979d50f1dc0500b2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/tencent/package.json"}, "properties": {"repobilityId": "c42c1541028825fc", "scanner": "scanner-primary", "fingerprint": "979d50f1dc0500b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/tencent/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-daf4193e5f860a11", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/imessage/package.json"}, "properties": {"repobilityId": "19c7eeb46eea3938", "scanner": "scanner-primary", "fingerprint": "daf4193e5f860a11", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/imessage/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e03ad2ac51450ac", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/volcengine/package.json"}, "properties": {"repobilityId": "e0fe19e6a162b3ea", "scanner": "scanner-primary", "fingerprint": "6e03ad2ac51450ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/volcengine/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d593fab966786202", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/nvidia/package.json"}, "properties": {"repobilityId": "cc422dcd10db3cd6", "scanner": "scanner-primary", "fingerprint": "d593fab966786202", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/nvidia/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7cd391c2d501ecc", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/elevenlabs/package.json"}, "properties": {"repobilityId": "c43428e6343e0e5c", "scanner": "scanner-primary", "fingerprint": "f7cd391c2d501ecc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/elevenlabs/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-67786a4c2d9a6244", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/tavily/package.json"}, "properties": {"repobilityId": "b5f9e686f7d0b8b2", "scanner": "scanner-primary", "fingerprint": "67786a4c2d9a6244", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/tavily/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-451d8c6e433c9698", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/github-copilot/package.json"}, "properties": {"repobilityId": "586f809ad70d52ad", "scanner": "scanner-primary", "fingerprint": "451d8c6e433c9698", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/github-copilot/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c2652c3402a27957", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/openai/package.json"}, "properties": {"repobilityId": "d28ba4f086f6bbf5", "scanner": "scanner-primary", "fingerprint": "c2652c3402a27957", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/openai/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a57234a0eee4e03", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/policy/package.json"}, "properties": {"repobilityId": "65f3c75343ced6df", "scanner": "scanner-primary", "fingerprint": "4a57234a0eee4e03", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/policy/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-78951390371a2f74", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/comfy/package.json"}, "properties": {"repobilityId": "64f1e63bf2555484", "scanner": "scanner-primary", "fingerprint": "78951390371a2f74", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/comfy/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bf0580a0e3ed8005", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/deepinfra/package.json"}, "properties": {"repobilityId": "0227ae6206c4ab2e", "scanner": "scanner-primary", "fingerprint": "bf0580a0e3ed8005", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/deepinfra/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6b7dd6344f60d70e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/huggingface/package.json"}, "properties": {"repobilityId": "9d536497cff73d5d", "scanner": "scanner-primary", "fingerprint": "6b7dd6344f60d70e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/huggingface/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d17602539e8ba61d", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/memory-wiki/package.json"}, "properties": {"repobilityId": "bfe6fbe82eb271af", "scanner": "scanner-primary", "fingerprint": "d17602539e8ba61d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/memory-wiki/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84e62a4ac73ed245", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/vllm/package.json"}, "properties": {"repobilityId": "0d68c8bcefb71cc8", "scanner": "scanner-primary", "fingerprint": "84e62a4ac73ed245", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/vllm/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-da7fb222f272b6b1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/opencode-go/package.json"}, "properties": {"repobilityId": "302a7f66feecb41f", "scanner": "scanner-primary", "fingerprint": "da7fb222f272b6b1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/opencode-go/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dca1a7e8bb2f4365", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/opencode/package.json"}, "properties": {"repobilityId": "96003e12035ac8a4", "scanner": "scanner-primary", "fingerprint": "dca1a7e8bb2f4365", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/opencode/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de1b7ee895d721b5", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/telegram/package.json"}, "properties": {"repobilityId": "eeb099cb555b9b4f", "scanner": "scanner-primary", "fingerprint": "de1b7ee895d721b5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/telegram/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e5344281fc472feb", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/vercel-ai-gateway/package.json"}, "properties": {"repobilityId": "40141961ab097308", "scanner": "scanner-primary", "fingerprint": "e5344281fc472feb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/vercel-ai-gateway/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6db731048cbf7216", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/exa/package.json"}, "properties": {"repobilityId": "3fee459dad1ce53f", "scanner": "scanner-primary", "fingerprint": "6db731048cbf7216", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/exa/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0bed4312a533c43a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/bonjour/package.json"}, "properties": {"repobilityId": "930c0d6369065226", "scanner": "scanner-primary", "fingerprint": "0bed4312a533c43a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/bonjour/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e0c4933f58cbb963", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/synthetic/package.json"}, "properties": {"repobilityId": "a9f6717e842f1197", "scanner": "scanner-primary", "fingerprint": "e0c4933f58cbb963", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/synthetic/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-17997d03b33e2a9e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/qa-channel/package.json"}, "properties": {"repobilityId": "f7c303f09a24c4b4", "scanner": "scanner-primary", "fingerprint": "17997d03b33e2a9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/qa-channel/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-97bf9d1b4e6232e1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/irc/package.json"}, "properties": {"repobilityId": "bfc9102486709fbc", "scanner": "scanner-primary", "fingerprint": "97bf9d1b4e6232e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/irc/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-47c2e3066b158963", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/file-transfer/package.json"}, "properties": {"repobilityId": "f0042d4821d46080", "scanner": "scanner-primary", "fingerprint": "47c2e3066b158963", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/file-transfer/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-541fa8ccca0da2c0", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/venice/package.json"}, "properties": {"repobilityId": "f93aa4bbfd16d058", "scanner": "scanner-primary", "fingerprint": "541fa8ccca0da2c0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/venice/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-837ab96a6fb94aa0", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/arcee/package.json"}, "properties": {"repobilityId": "9009e1dbc7b17102", "scanner": "scanner-primary", "fingerprint": "837ab96a6fb94aa0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/arcee/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-934dc509e9fc1598", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/fal/package.json"}, "properties": {"repobilityId": "afcc9ed637dd2108", "scanner": "scanner-primary", "fingerprint": "934dc509e9fc1598", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/fal/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-db197291950232ef", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/video-generation-core/package.json"}, "properties": {"repobilityId": "d7db26a895adfea3", "scanner": "scanner-primary", "fingerprint": "db197291950232ef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/video-generation-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1e1d3cb29d4c5652", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/qianfan/package.json"}, "properties": {"repobilityId": "76c7972731729cdf", "scanner": "scanner-primary", "fingerprint": "1e1d3cb29d4c5652", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/qianfan/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ac3177db3cb7e8fd", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/groq/package.json"}, "properties": {"repobilityId": "08d29fa14d8b8633", "scanner": "scanner-primary", "fingerprint": "ac3177db3cb7e8fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/groq/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-41f20529849a8692", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/sglang/package.json"}, "properties": {"repobilityId": "c17140b405a270bf", "scanner": "scanner-primary", "fingerprint": "41f20529849a8692", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/sglang/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e5a080868cc851a2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/voyage/package.json"}, "properties": {"repobilityId": "1ea69a565c0de43c", "scanner": "scanner-primary", "fingerprint": "e5a080868cc851a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/voyage/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b4213f4098615f48", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/deepseek/package.json"}, "properties": {"repobilityId": "9b67d15a238f03d0", "scanner": "scanner-primary", "fingerprint": "b4213f4098615f48", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/deepseek/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bfcaa918d89c4541", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/microsoft/package.json"}, "properties": {"repobilityId": "499c09f1ff102f92", "scanner": "scanner-primary", "fingerprint": "bfcaa918d89c4541", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/microsoft/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d099c4956bb69058", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/novita/package.json"}, "properties": {"repobilityId": "86dddf2023beed7a", "scanner": "scanner-primary", "fingerprint": "d099c4956bb69058", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/novita/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd201f2ea85897fb", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/codex-supervisor/package.json"}, "properties": {"repobilityId": "975a6dcb290dc0c6", "scanner": "scanner-primary", "fingerprint": "bd201f2ea85897fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/codex-supervisor/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6d361505801e62de", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/fireworks/package.json"}, "properties": {"repobilityId": "e22adf6198a04bf7", "scanner": "scanner-primary", "fingerprint": "6d361505801e62de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/fireworks/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45f7594178b70264", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/together/package.json"}, "properties": {"repobilityId": "288262b0e2a10715", "scanner": "scanner-primary", "fingerprint": "45f7594178b70264", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/together/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e7c22bc4c7043f87", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/tts-local-cli/package.json"}, "properties": {"repobilityId": "22043e6b77b50120", "scanner": "scanner-primary", "fingerprint": "e7c22bc4c7043f87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/tts-local-cli/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b6e02d2610f54547", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/gradium/package.json"}, "properties": {"repobilityId": "f9ce6f045d3d8507", "scanner": "scanner-primary", "fingerprint": "b6e02d2610f54547", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/gradium/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-96dbaed6dee115b2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/minimax/package.json"}, "properties": {"repobilityId": "83550247ca358f7b", "scanner": "scanner-primary", "fingerprint": "96dbaed6dee115b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/minimax/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6ab97c2a130d5163", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/kilocode/package.json"}, "properties": {"repobilityId": "a45a5845a6ca7532", "scanner": "scanner-primary", "fingerprint": "6ab97c2a130d5163", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/kilocode/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-94d14cff462f624d", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/llm-task/package.json"}, "properties": {"repobilityId": "be5b2562f1d1a028", "scanner": "scanner-primary", "fingerprint": "94d14cff462f624d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/llm-task/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0031ebf849df0056", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/signal/package.json"}, "properties": {"repobilityId": "c8308a0d9ab09512", "scanner": "scanner-primary", "fingerprint": "0031ebf849df0056", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/signal/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-48977ac299e7973b", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/workboard/package.json"}, "properties": {"repobilityId": "9ac875ee3872af71", "scanner": "scanner-primary", "fingerprint": "48977ac299e7973b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/workboard/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b3e9d617e494cb3a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/byteplus/package.json"}, "properties": {"repobilityId": "d5ec825229301e69", "scanner": "scanner-primary", "fingerprint": "b3e9d617e494cb3a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/byteplus/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45262281c858eb7c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/litellm/package.json"}, "properties": {"repobilityId": "2b93b650bcb064ce", "scanner": "scanner-primary", "fingerprint": "45262281c858eb7c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/litellm/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e5288eb6854e1818", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/searxng/package.json"}, "properties": {"repobilityId": "f4eebfe0d8884456", "scanner": "scanner-primary", "fingerprint": "e5288eb6854e1818", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/searxng/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9025aad7f201e421", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/qa-matrix/package.json"}, "properties": {"repobilityId": "29b5f3784942b089", "scanner": "scanner-primary", "fingerprint": "9025aad7f201e421", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/qa-matrix/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9b2179916af62944", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/senseaudio/package.json"}, "properties": {"repobilityId": "b66f4aa542b6a9ac", "scanner": "scanner-primary", "fingerprint": "9b2179916af62944", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/senseaudio/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2947ab88f3ebe740", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/image-generation-core/package.json"}, "properties": {"repobilityId": "92dce8e4283875e8", "scanner": "scanner-primary", "fingerprint": "2947ab88f3ebe740", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/image-generation-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-579f5b5a038ef6b9", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/duckduckgo/package.json"}, "properties": {"repobilityId": "336a5fe9cf50c1a4", "scanner": "scanner-primary", "fingerprint": "579f5b5a038ef6b9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/duckduckgo/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-05d13163362de187", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/xai/package.json"}, "properties": {"repobilityId": "1c012353ff8ddad8", "scanner": "scanner-primary", "fingerprint": "05d13163362de187", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/xai/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-343b100635d92e32", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/cerebras/package.json"}, "properties": {"repobilityId": "7c0a5cc0b19c60c8", "scanner": "scanner-primary", "fingerprint": "343b100635d92e32", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/cerebras/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2e18719f8b1feff0", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/clickclack/package.json"}, "properties": {"repobilityId": "7f45933b6ac7ee85", "scanner": "scanner-primary", "fingerprint": "2e18719f8b1feff0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/clickclack/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ad6f4854f193ce9e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/document-extract/package.json"}, "properties": {"repobilityId": "29b95bdaea92f0a2", "scanner": "scanner-primary", "fingerprint": "ad6f4854f193ce9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/document-extract/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5329bdbe51ac2754", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/perplexity/package.json"}, "properties": {"repobilityId": "8b95061c44f2c300", "scanner": "scanner-primary", "fingerprint": "5329bdbe51ac2754", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/perplexity/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1692383cab38c0da", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/qwen/package.json"}, "properties": {"repobilityId": "d78b95efc36ffde8", "scanner": "scanner-primary", "fingerprint": "1692383cab38c0da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/qwen/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-198844a7b53bf08b", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/chutes/package.json"}, "properties": {"repobilityId": "c03f5afe1b4f8f89", "scanner": "scanner-primary", "fingerprint": "198844a7b53bf08b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/chutes/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a1acabb75da74618", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/vydra/package.json"}, "properties": {"repobilityId": "f0309b1e867dd84b", "scanner": "scanner-primary", "fingerprint": "a1acabb75da74618", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/vydra/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae36a146fbf638dd", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/cloudflare-ai-gateway/package.json"}, "properties": {"repobilityId": "1e5c7a9bcbbc9a31", "scanner": "scanner-primary", "fingerprint": "ae36a146fbf638dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/cloudflare-ai-gateway/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-78faa7fcd95440ca", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/memory-core/package.json"}, "properties": {"repobilityId": "b6416be3fef68147", "scanner": "scanner-primary", "fingerprint": "78faa7fcd95440ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/memory-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-abebf6d90734157e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/zai/package.json"}, "properties": {"repobilityId": "ba3be7001f6dcfde", "scanner": "scanner-primary", "fingerprint": "abebf6d90734157e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/zai/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a991c43070f4c00", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/azure-speech/package.json"}, "properties": {"repobilityId": "ffdca41d72ac7609", "scanner": "scanner-primary", "fingerprint": "8a991c43070f4c00", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/azure-speech/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f38be243e356aed4", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/inworld/package.json"}, "properties": {"repobilityId": "fa7d0a9b1966e81e", "scanner": "scanner-primary", "fingerprint": "f38be243e356aed4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/inworld/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-98ea862fe85c4009", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/stepfun/package.json"}, "properties": {"repobilityId": "ae2bc71e755378ab", "scanner": "scanner-primary", "fingerprint": "98ea862fe85c4009", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/stepfun/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-588afae0ed4b3c80", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/moonshot/package.json"}, "properties": {"repobilityId": "4e8267dc3de31c00", "scanner": "scanner-primary", "fingerprint": "588afae0ed4b3c80", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/moonshot/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2490133fdd053143", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/ollama/package.json"}, "properties": {"repobilityId": "19970ecc8ac89b84", "scanner": "scanner-primary", "fingerprint": "2490133fdd053143", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/ollama/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-91e435565557f38f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/mattermost/package.json"}, "properties": {"repobilityId": "74ea54ef78c5c235", "scanner": "scanner-primary", "fingerprint": "91e435565557f38f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/mattermost/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5dbb579957e0cc88", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/web-readability/package.json"}, "properties": {"repobilityId": "85c4060465a85c4f", "scanner": "scanner-primary", "fingerprint": "5dbb579957e0cc88", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/web-readability/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e26d14fc863b79d4", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/sms/package.json"}, "properties": {"repobilityId": "5b676aef10e1b7e6", "scanner": "scanner-primary", "fingerprint": "e26d14fc863b79d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/sms/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5ec1b36b7e6f6c07", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/anthropic/package.json"}, "properties": {"repobilityId": "4f3a805b47f40b11", "scanner": "scanner-primary", "fingerprint": "5ec1b36b7e6f6c07", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/anthropic/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ba72a7e532207849", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/canvas/package.json"}, "properties": {"repobilityId": "7755f10d3beb0f20", "scanner": "scanner-primary", "fingerprint": "ba72a7e532207849", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/canvas/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0ad94e7acad8f9d6", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/admin-http-rpc/package.json"}, "properties": {"repobilityId": "88977436edab2faf", "scanner": "scanner-primary", "fingerprint": "0ad94e7acad8f9d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/admin-http-rpc/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dda6b64fdce8400e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/copilot-proxy/package.json"}, "properties": {"repobilityId": "909a99aac48261d9", "scanner": "scanner-primary", "fingerprint": "dda6b64fdce8400e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/copilot-proxy/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e691f29c53467a2b", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/openrouter/package.json"}, "properties": {"repobilityId": "85d11ef225161e42", "scanner": "scanner-primary", "fingerprint": "e691f29c53467a2b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/openrouter/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-99f5176ac65733af", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/webhooks/package.json"}, "properties": {"repobilityId": "86c4151bab02527a", "scanner": "scanner-primary", "fingerprint": "99f5176ac65733af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/webhooks/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0b4f28d47128de49", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/browser/package.json"}, "properties": {"repobilityId": "43c66e9dbba2f91f", "scanner": "scanner-primary", "fingerprint": "0b4f28d47128de49", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/browser/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-39ab4c2177833aff", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/qa-lab/package.json"}, "properties": {"repobilityId": "b5865faf5b21b457", "scanner": "scanner-primary", "fingerprint": "39ab4c2177833aff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/qa-lab/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ebe4e5b6f9897f7", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/firecrawl/package.json"}, "properties": {"repobilityId": "c0db57a1e7f6e8ae", "scanner": "scanner-primary", "fingerprint": "1ebe4e5b6f9897f7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/firecrawl/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6b90a48830f1721c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/kimi-coding/package.json"}, "properties": {"repobilityId": "84e588c0e618e2e7", "scanner": "scanner-primary", "fingerprint": "6b90a48830f1721c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/kimi-coding/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5d81cee9407bb816", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/microsoft-foundry/package.json"}, "properties": {"repobilityId": "b924a78a163220e1", "scanner": "scanner-primary", "fingerprint": "5d81cee9407bb816", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/microsoft-foundry/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fcaf40f03342371d", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/runway/package.json"}, "properties": {"repobilityId": "d1aeaf851e4f3279", "scanner": "scanner-primary", "fingerprint": "fcaf40f03342371d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/runway/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-265556514168724d", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/migrate-claude/package.json"}, "properties": {"repobilityId": "b09ba8f39e35e421", "scanner": "scanner-primary", "fingerprint": "265556514168724d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/migrate-claude/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ac221d7e3a03805f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/media-understanding-core/package.json"}, "properties": {"repobilityId": "f2b5e8e0fa3a93dd", "scanner": "scanner-primary", "fingerprint": "ac221d7e3a03805f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/media-understanding-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1b8901b81301ed0d", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: extensions/deepgram/package.json"}, "properties": {"repobilityId": "1c0386bebd486bfe", "scanner": "scanner-primary", "fingerprint": "1b8901b81301ed0d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/deepgram/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8bf503bb1b0e2c47", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/gateway-protocol/package.json"}, "properties": {"repobilityId": "2ea370c93b5ae3a9", "scanner": "scanner-primary", "fingerprint": "8bf503bb1b0e2c47", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/gateway-protocol/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b5c9cd0fe36ef8b7", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/llm-core/package.json"}, "properties": {"repobilityId": "166edcd7c8d21853", "scanner": "scanner-primary", "fingerprint": "b5c9cd0fe36ef8b7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/llm-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e38674563439a1e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/media-core/package.json"}, "properties": {"repobilityId": "049ff1459be5ed39", "scanner": "scanner-primary", "fingerprint": "7e38674563439a1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/media-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7895c9e5e7316990", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/acp-core/package.json"}, "properties": {"repobilityId": "bf29788506e86169", "scanner": "scanner-primary", "fingerprint": "7895c9e5e7316990", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/acp-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-97af7266a513c8da", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/terminal-core/package.json"}, "properties": {"repobilityId": "bd888ed9b7c63fb2", "scanner": "scanner-primary", "fingerprint": "97af7266a513c8da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/terminal-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f221b4daf5a4b56f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/llm-runtime/package.json"}, "properties": {"repobilityId": "aa555cafe30faeb8", "scanner": "scanner-primary", "fingerprint": "f221b4daf5a4b56f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/llm-runtime/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ceb8e8ccae84f1dc", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/net-policy/package.json"}, "properties": {"repobilityId": "5ebe9086ead23e5c", "scanner": "scanner-primary", "fingerprint": "ceb8e8ccae84f1dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/net-policy/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d7fb921412c53069", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/speech-core/package.json"}, "properties": {"repobilityId": "70258b316d75b799", "scanner": "scanner-primary", "fingerprint": "d7fb921412c53069", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/speech-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ebbfde23d1ebf7e", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/agent-core/package.json"}, "properties": {"repobilityId": "f175b4cb509f02e2", "scanner": "scanner-primary", "fingerprint": "1ebbfde23d1ebf7e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agent-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a15f43e389971c61", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/markdown-core/package.json"}, "properties": {"repobilityId": "35a45ff08b3c9a73", "scanner": "scanner-primary", "fingerprint": "a15f43e389971c61", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/markdown-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b09786dfaec0de7c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/gateway-client/package.json"}, "properties": {"repobilityId": "cc50e8fbebfba868", "scanner": "scanner-primary", "fingerprint": "b09786dfaec0de7c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/gateway-client/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae014485ab255591", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/sdk/package.json"}, "properties": {"repobilityId": "666cbe5826d686db", "scanner": "scanner-primary", "fingerprint": "ae014485ab255591", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/sdk/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f283986b438fc15f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: examples/basic/package.json"}, "properties": {"repobilityId": "795ccbc87d64f124", "scanner": "scanner-primary", "fingerprint": "f283986b438fc15f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "examples/basic/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "d2f3bf6bca46037c", "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": "1d13174d6a740852", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "3dd76b24cae886dc", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "997e780dac36fa60", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "cb6b6bb56d9d5c1f", "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": "8ea1df1005dee18c", "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": "bcb0e47e2003efac", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-cbb5857940ba0dc2", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: AGENTS.md"}, "properties": {"repobilityId": "e12c7213d5eadf3e", "scanner": "scanner-primary", "fingerprint": "cbb5857940ba0dc2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "AGENTS.md"}, "region": {"startLine": 248}}}]}, {"ruleId": "scanner-aac738f50b3285bc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: docs/AGENTS.md"}, "properties": {"repobilityId": "8a926bdd3e3c0577", "scanner": "scanner-primary", "fingerprint": "aac738f50b3285bc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6c958de25a91167a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: docs/reference/templates/AGENTS.md"}, "properties": {"repobilityId": "e80c3e6c43fd2f93", "scanner": "scanner-primary", "fingerprint": "6c958de25a91167a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/reference/templates/AGENTS.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-64284936815187a7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: docs/cli/agents.md"}, "properties": {"repobilityId": "8a6924387e425227", "scanner": "scanner-primary", "fingerprint": "64284936815187a7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agents_md"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/cli/agents.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d9cd169932119a4c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: extensions/oc-path/src/oc-path/tests/fixtures/real/SKILL.md"}, "properties": {"repobilityId": "cadeac78b81dc2f6", "scanner": "scanner-primary", "fingerprint": "d9cd169932119a4c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/oc-path/src/oc-path/tests/fixtures/real/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ab457e88c7e1be4a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: extensions/feishu/skills/feishu-drive/SKILL.md"}, "properties": {"repobilityId": "dcd75b260d5475bf", "scanner": "scanner-primary", "fingerprint": "ab457e88c7e1be4a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/feishu/skills/feishu-drive/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aebb88c000fee799", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: extensions/memory-wiki/skills/obsidian-vault-maintainer/SKILL.md"}, "properties": {"repobilityId": "cd361a975b159ab1", "scanner": "scanner-primary", "fingerprint": "aebb88c000fee799", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/memory-wiki/skills/obsidian-vault-maintainer/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2607f1fe951696b7", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: extensions/acpx/skills/acp-router/SKILL.md"}, "properties": {"repobilityId": "6c9e10a95fb09c69", "scanner": "scanner-primary", "fingerprint": "2607f1fe951696b7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/acpx/skills/acp-router/SKILL.md"}, "region": {"startLine": 133}}}]}, {"ruleId": "scanner-4d5dfb933980c057", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: extensions/lobster/SKILL.md"}, "properties": {"repobilityId": "402cb256edf56f79", "scanner": "scanner-primary", "fingerprint": "4d5dfb933980c057", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/lobster/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9def0df150073677", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/blucli/SKILL.md"}, "properties": {"repobilityId": "d77f652aee3d8870", "scanner": "scanner-primary", "fingerprint": "9def0df150073677", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/blucli/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0d3b1253057049ae", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/bear-notes/SKILL.md"}, "properties": {"repobilityId": "27bd330d987e4ad1", "scanner": "scanner-primary", "fingerprint": "0d3b1253057049ae", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/bear-notes/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-583c8e3e7c33102d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/model-usage/SKILL.md"}, "properties": {"repobilityId": "f3b5dc10252db7f8", "scanner": "scanner-primary", "fingerprint": "583c8e3e7c33102d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/model-usage/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33485ce1b455c16e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/obsidian/SKILL.md"}, "properties": {"repobilityId": "3b3335d81cffd66b", "scanner": "scanner-primary", "fingerprint": "33485ce1b455c16e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/obsidian/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9605ec913f252467", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/mcporter/SKILL.md"}, "properties": {"repobilityId": "80b9024d540b939b", "scanner": "scanner-primary", "fingerprint": "9605ec913f252467", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/mcporter/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3a6fc3452b4afd51", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/github/SKILL.md"}, "properties": {"repobilityId": "a7710e2df02da9ef", "scanner": "scanner-primary", "fingerprint": "3a6fc3452b4afd51", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/github/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0ca648e80519a288", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/blogwatcher/SKILL.md"}, "properties": {"repobilityId": "a9289ead0320d347", "scanner": "scanner-primary", "fingerprint": "0ca648e80519a288", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/blogwatcher/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-50b39b899be27183", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/sag/SKILL.md"}, "properties": {"repobilityId": "d55ef50621fc1fa7", "scanner": "scanner-primary", "fingerprint": "50b39b899be27183", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/sag/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-58b0b6f88f4e1049", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/openhue/SKILL.md"}, "properties": {"repobilityId": "a80cee375bf14c4c", "scanner": "scanner-primary", "fingerprint": "58b0b6f88f4e1049", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/openhue/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c7ee9d281ee01834", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/oracle/SKILL.md"}, "properties": {"repobilityId": "a033c4c7c65e2bf4", "scanner": "scanner-primary", "fingerprint": "c7ee9d281ee01834", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/oracle/SKILL.md"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-4e07bbd2a39901f1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/eightctl/SKILL.md"}, "properties": {"repobilityId": "8048aaf27916c21f", "scanner": "scanner-primary", "fingerprint": "4e07bbd2a39901f1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/eightctl/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7fbbe120de99d795", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/weather/SKILL.md"}, "properties": {"repobilityId": "3e1cd97e0d7dbb54", "scanner": "scanner-primary", "fingerprint": "7fbbe120de99d795", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/weather/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dce9c0fb81304faa", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/openai-whisper-api/SKILL.md"}, "properties": {"repobilityId": "8cd96a355af35639", "scanner": "scanner-primary", "fingerprint": "dce9c0fb81304faa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/openai-whisper-api/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-57b9ee346c1c3865", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/notion/SKILL.md"}, "properties": {"repobilityId": "e9323c177b398782", "scanner": "scanner-primary", "fingerprint": "57b9ee346c1c3865", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/notion/SKILL.md"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-52c9407732446162", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/notion/SKILL.md"}, "properties": {"repobilityId": "ecba77fdf6af4580", "scanner": "scanner-primary", "fingerprint": "52c9407732446162", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/notion/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f87180a5877545b2", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: skills/notion/SKILL.md"}, "properties": {"repobilityId": "bdb9cf52c9d879eb", "scanner": "scanner-primary", "fingerprint": "f87180a5877545b2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/notion/SKILL.md"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-4528ff37ab340fab", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/apple-reminders/SKILL.md"}, "properties": {"repobilityId": "289cf8feda0ef30b", "scanner": "scanner-primary", "fingerprint": "4528ff37ab340fab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/apple-reminders/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40834c74716d990e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/summarize/SKILL.md"}, "properties": {"repobilityId": "256f14c6c2545746", "scanner": "scanner-primary", "fingerprint": "40834c74716d990e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/summarize/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14d2492eacd0ba2f", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/taskflow/SKILL.md"}, "properties": {"repobilityId": "1d0a4ca7fe0b2c73", "scanner": "scanner-primary", "fingerprint": "14d2492eacd0ba2f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/taskflow/SKILL.md"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-5743e2198d060cc2", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/taskflow/SKILL.md"}, "properties": {"repobilityId": "56e0229a49bf0e58", "scanner": "scanner-primary", "fingerprint": "5743e2198d060cc2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/taskflow/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a0467516f246a5c0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/apple-notes/SKILL.md"}, "properties": {"repobilityId": "782df2cb8b5dc706", "scanner": "scanner-primary", "fingerprint": "a0467516f246a5c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/apple-notes/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a403249f4e38710", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/voice-call/SKILL.md"}, "properties": {"repobilityId": "cde7a60e5b66ab82", "scanner": "scanner-primary", "fingerprint": "1a403249f4e38710", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/voice-call/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-94f15fa2db215550", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/trello/SKILL.md"}, "properties": {"repobilityId": "8165f95ce68c4498", "scanner": "scanner-primary", "fingerprint": "94f15fa2db215550", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/trello/SKILL.md"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-c17d2f1c225522d9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/trello/SKILL.md"}, "properties": {"repobilityId": "3ba004c9b4de35c3", "scanner": "scanner-primary", "fingerprint": "c17d2f1c225522d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/trello/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-93a6d13c622efe92", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/things-mac/SKILL.md"}, "properties": {"repobilityId": "fba2ae617b1d0a85", "scanner": "scanner-primary", "fingerprint": "93a6d13c622efe92", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/things-mac/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-71beff3138d3f49c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/sonoscli/SKILL.md"}, "properties": {"repobilityId": "f3efefab4ac51665", "scanner": "scanner-primary", "fingerprint": "71beff3138d3f49c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/sonoscli/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-213b732cfd84c0c5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/tmux/SKILL.md"}, "properties": {"repobilityId": "41f40c2597ce5d84", "scanner": "scanner-primary", "fingerprint": "213b732cfd84c0c5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/tmux/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7185a81d1a6ba387", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: skills/taskflow-inbox-triage/SKILL.md"}, "properties": {"repobilityId": "2c9a88f3737aa6ad", "scanner": "scanner-primary", "fingerprint": "7185a81d1a6ba387", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/taskflow-inbox-triage/SKILL.md"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-e42914df217f90ec", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/taskflow-inbox-triage/SKILL.md"}, "properties": {"repobilityId": "f319e39075931317", "scanner": "scanner-primary", "fingerprint": "e42914df217f90ec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/taskflow-inbox-triage/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2cb9fd751d579d0b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/openai-whisper/SKILL.md"}, "properties": {"repobilityId": "9c11ec905a595450", "scanner": "scanner-primary", "fingerprint": "2cb9fd751d579d0b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/openai-whisper/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e291beef254f16c0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/session-logs/SKILL.md"}, "properties": {"repobilityId": "323d1a79b002fa26", "scanner": "scanner-primary", "fingerprint": "e291beef254f16c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/session-logs/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6d23d8bbbfebddea", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/gog/SKILL.md"}, "properties": {"repobilityId": "cc1ab9dd99424dc4", "scanner": "scanner-primary", "fingerprint": "6d23d8bbbfebddea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/gog/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ef1bdce279b8b57a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/clawhub/SKILL.md"}, "properties": {"repobilityId": "0eb957167e1949c8", "scanner": "scanner-primary", "fingerprint": "ef1bdce279b8b57a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/clawhub/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-97188ee266b1d852", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/spotify-player/SKILL.md"}, "properties": {"repobilityId": "3b1a57d0afc0878b", "scanner": "scanner-primary", "fingerprint": "97188ee266b1d852", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/spotify-player/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-be45e2c857c38db9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/ordercli/SKILL.md"}, "properties": {"repobilityId": "960e14718545560a", "scanner": "scanner-primary", "fingerprint": "be45e2c857c38db9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/ordercli/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3fa879faaf9d1e8d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/sherpa-onnx-tts/SKILL.md"}, "properties": {"repobilityId": "4fa236e5c7979c26", "scanner": "scanner-primary", "fingerprint": "3fa879faaf9d1e8d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/sherpa-onnx-tts/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b627371df0c2f0ed", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/nano-pdf/SKILL.md"}, "properties": {"repobilityId": "e6fef5f571fc44a0", "scanner": "scanner-primary", "fingerprint": "b627371df0c2f0ed", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/nano-pdf/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-024b418092dfa72e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/video-frames/SKILL.md"}, "properties": {"repobilityId": "2315480ef4b5cf3a", "scanner": "scanner-primary", "fingerprint": "024b418092dfa72e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/video-frames/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-432a8f43d272a1ef", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/e2e-mock-config-limits.test.ts:224"}, "properties": {"repobilityId": "2a99173a0da2fe31", "scanner": "scanner-primary", "fingerprint": "432a8f43d272a1ef", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6e502fe8bb16c852", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/postinstall-bundled-plugins.test.ts:280"}, "properties": {"repobilityId": "e64099cd936b5c4a", "scanner": "scanner-primary", "fingerprint": "6e502fe8bb16c852", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-839af64c5f40c12f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/rtt-harness.test.ts:233"}, "properties": {"repobilityId": "22a4c63315e92355", "scanner": "scanner-primary", "fingerprint": "839af64c5f40c12f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-860ed11307345f76", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/openclaw-cross-os-release-checks.test.ts:884"}, "properties": {"repobilityId": "2fdecb1a72c6c5e7", "scanner": "scanner-primary", "fingerprint": "860ed11307345f76", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-14e09b7d21d1db30", "level": "note", "message": {"text": "Legacy-named symbol `tarball_v1` in test/scripts/docker-build-helper.test.ts:1522"}, "properties": {"repobilityId": "b10ad4c8ab0cc5e6", "scanner": "scanner-primary", "fingerprint": "14e09b7d21d1db30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2cb8a9d259450586", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/scripts/docker-build-helper.test.ts:2995"}, "properties": {"repobilityId": "d144a0d851fa0484", "scanner": "scanner-primary", "fingerprint": "2cb8a9d259450586", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-63ad009ec4b2d7d0", "level": "none", "message": {"text": "Commented-code block (5 lines) in test/proof/thinking-signature-real-proof.ts:29"}, "properties": {"repobilityId": "35366a2b6fcabfa3", "scanner": "scanner-primary", "fingerprint": "63ad009ec4b2d7d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f5cf2ca4f39608d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 test/proof/thinking-signature-real-proof.ts:250"}, "properties": {"repobilityId": "05ed1f6ea4035bd7", "scanner": "scanner-primary", "fingerprint": "0f5cf2ca4f39608d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fce6cad4aee77df2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/public/sw.js:75"}, "properties": {"repobilityId": "d3697632fc2bbfec", "scanner": "scanner-primary", "fingerprint": "fce6cad4aee77df2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-feb94475ef3f7210", "level": "note", "message": {"text": "Legacy-named symbol `test_old` in ui/src/ui/app-settings.test.ts:410"}, "properties": {"repobilityId": "d67d9d1bae71799b", "scanner": "scanner-primary", "fingerprint": "feb94475ef3f7210", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c8dd3adf2595c46d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/app-chat.ts:2329"}, "properties": {"repobilityId": "05d5eb780f2454a1", "scanner": "scanner-primary", "fingerprint": "c8dd3adf2595c46d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f5e40bb20dae25a0", "level": "note", "message": {"text": "Legacy-named symbol `brand__copy` in ui/src/ui/navigation.browser.test.ts:363"}, "properties": {"repobilityId": "b8938b88bd45e4a0", "scanner": "scanner-primary", "fingerprint": "f5e40bb20dae25a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2844d7b1c429bd5e", "level": "note", "message": {"text": "Legacy-named symbol `test_old` in ui/src/ui/storage.node.test.ts:558"}, "properties": {"repobilityId": "d1a25f69b6c59966", "scanner": "scanner-primary", "fingerprint": "2844d7b1c429bd5e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ebbb5d0e22a06936", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui/src/ui/app-scroll.ts:205"}, "properties": {"repobilityId": "cd2f36c00d91d92d", "scanner": "scanner-primary", "fingerprint": "ebbb5d0e22a06936", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c1eaf2b772096ac5", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui/src/ui/control-ui-auth.ts:10"}, "properties": {"repobilityId": "34e3c6410aed6361", "scanner": "scanner-primary", "fingerprint": "c1eaf2b772096ac5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef68720a1b1d5e19", "level": "note", "message": {"text": "Legacy-named symbol `brand__copy` in ui/src/ui/app-render.ts:2308"}, "properties": {"repobilityId": "2102148bfd1927cf", "scanner": "scanner-primary", "fingerprint": "ef68720a1b1d5e19", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e6a38c72d167b080", "level": "none", "message": {"text": "Commented-code block (6 lines) in ui/src/ui/markdown.ts:710"}, "properties": {"repobilityId": "3140745044653f11", "scanner": "scanner-primary", "fingerprint": "e6a38c72d167b080", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98056ef9e37a5d47", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/chat/grouped-render.ts:1182"}, "properties": {"repobilityId": "8d3d3162aa1d0afa", "scanner": "scanner-primary", "fingerprint": "98056ef9e37a5d47", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c7b14f42f9719cec", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/chat/realtime-talk-webrtc.ts:126"}, "properties": {"repobilityId": "ff7afe326b7f2f17", "scanner": "scanner-primary", "fingerprint": "c7b14f42f9719cec", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-91cc17a4dbc25beb", "level": "none", "message": {"text": "Commented-code block (7 lines) in ui/src/ui/chat/run-lifecycle.ts:230"}, "properties": {"repobilityId": "dc47186ce922d053", "scanner": "scanner-primary", "fingerprint": "91cc17a4dbc25beb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10b3830178e5fc93", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui/src/ui/controllers/control-ui-bootstrap.ts:78"}, "properties": {"repobilityId": "dfb8cb42b24199f2", "scanner": "scanner-primary", "fingerprint": "10b3830178e5fc93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90ce8736ec22e1f4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 ui/src/ui/controllers/control-ui-bootstrap.ts:90"}, "properties": {"repobilityId": "6a1ca06c3b6d521d", "scanner": "scanner-primary", "fingerprint": "90ce8736ec22e1f4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e4b3a63a5d2af0c5", "level": "note", "message": {"text": "Legacy-named symbol `call_old` in ui/src/ui/controllers/chat.test.ts:2687"}, "properties": {"repobilityId": "2c177ba84db7b9b0", "scanner": "scanner-primary", "fingerprint": "e4b3a63a5d2af0c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-93b571e9c9b890eb", "level": "note", "message": {"text": "Legacy-named symbol `notifications__copy` in ui/src/ui/views/config.ts:827"}, "properties": {"repobilityId": "63401f3409fa6502", "scanner": "scanner-primary", "fingerprint": "93b571e9c9b890eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-edf0c040a123e1c9", "level": "none", "message": {"text": "Commented-code block (5 lines) in ui/src/ui/views/overview-cards.ts:96"}, "properties": {"repobilityId": "6a510b35c24994ad", "scanner": "scanner-primary", "fingerprint": "edf0c040a123e1c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-228beed3c27f7d12", "level": "note", "message": {"text": "Legacy-named symbol `state__copy` in ui/src/ui/views/cron.ts:598"}, "properties": {"repobilityId": "fd3770eb9540e0a0", "scanner": "scanner-primary", "fingerprint": "228beed3c27f7d12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-36cc766b98a364a3", "level": "note", "message": {"text": "Legacy-named symbol `dialog__copy` in ui/src/ui/views/skill-workshop.ts:198"}, "properties": {"repobilityId": "94276b18e32081e4", "scanner": "scanner-primary", "fingerprint": "36cc766b98a364a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9b8323b4957de420", "level": "note", "message": {"text": "Legacy-named symbol `card__copy` in ui/src/ui/views/config-quick.ts:734"}, "properties": {"repobilityId": "c9d0ebddd14d9e69", "scanner": "scanner-primary", "fingerprint": "9b8323b4957de420", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ef60d89ee1917db4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/openclaw-cross-os-release-checks.ts:2671"}, "properties": {"repobilityId": "9bac23c8d5c3ad4e", "scanner": "scanner-primary", "fingerprint": "ef60d89ee1917db4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7d14ff7b011e528b", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/anthropic-prompt-probe.ts:3"}, "properties": {"repobilityId": "21f048f93c5a22b9", "scanner": "scanner-primary", "fingerprint": "7d14ff7b011e528b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c97a53aa89cadaa4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/anthropic-prompt-probe.ts:382"}, "properties": {"repobilityId": "411e3e9bfb761e26", "scanner": "scanner-primary", "fingerprint": "c97a53aa89cadaa4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6154bc86ad701aae", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/postinstall-bundled-plugins.mjs:69"}, "properties": {"repobilityId": "9421943c8ec710a3", "scanner": "scanner-primary", "fingerprint": "6154bc86ad701aae", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aa49659523313a52", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/check-no-raw-channel-fetch.mjs:84"}, "properties": {"repobilityId": "8901eb0ed75cfe27", "scanner": "scanner-primary", "fingerprint": "aa49659523313a52", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-32966cffcdfd17de", "level": "note", "message": {"text": "Legacy-named symbol `allowAnyValueForLegacy` in scripts/check-package-patches.mjs:54"}, "properties": {"repobilityId": "212cadcb1f81e903", "scanner": "scanner-primary", "fingerprint": "32966cffcdfd17de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ba17ece9abb27b93", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/update-clawtributors.ts:148"}, "properties": {"repobilityId": "2f167f3d2ab31917", "scanner": "scanner-primary", "fingerprint": "ba17ece9abb27b93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c22ead653030041d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/github/real-behavior-proof-policy.mjs:187"}, "properties": {"repobilityId": "e678818594f2e263", "scanner": "scanner-primary", "fingerprint": "c22ead653030041d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b6d960760529f542", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/dev/realtime-talk-live-smoke.ts:333"}, "properties": {"repobilityId": "234035e74ab54e07", "scanner": "scanner-primary", "fingerprint": "b6d960760529f542", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-68544bd490b08179", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/e2e/telegram-user-driver.py:359"}, "properties": {"repobilityId": "1c74230b6d3ae416", "scanner": "scanner-primary", "fingerprint": "68544bd490b08179", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-04abd586ebee1f00", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/e2e/openwebui-probe.mjs:138"}, "properties": {"repobilityId": "ab6025254d81d288", "scanner": "scanner-primary", "fingerprint": "04abd586ebee1f00", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f517900a7e99c3cd", "level": "note", "message": {"text": "Legacy-named symbol `cm_legacy` in scripts/e2e/commitments-safety-docker-client.ts:232"}, "properties": {"repobilityId": "8b01272f07a85b00", "scanner": "scanner-primary", "fingerprint": "f517900a7e99c3cd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-39a83562de1ad3ae", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/e2e/lib/plugins/assertions.mjs:897"}, "properties": {"repobilityId": "c9c0f7d43c31c3af", "scanner": "scanner-primary", "fingerprint": "39a83562de1ad3ae", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4cae66d3f9eeb7c7", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/memory-lancedb/index.test.ts:3579"}, "properties": {"repobilityId": "6c1d2283f776fea0", "scanner": "scanner-primary", "fingerprint": "4cae66d3f9eeb7c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3b84453ea597c190", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/memory-lancedb/index.ts:204"}, "properties": {"repobilityId": "e9daf1181481c4eb", "scanner": "scanner-primary", "fingerprint": "3b84453ea597c190", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-519b7a3c0cfb52cc", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/google/vertex-adc.ts:322"}, "properties": {"repobilityId": "fd7fd5d4e5646f4a", "scanner": "scanner-primary", "fingerprint": "519b7a3c0cfb52cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b721c4d461ed840d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google/embedding-provider.test.ts:14"}, "properties": {"repobilityId": "7a4acaac26592722", "scanner": "scanner-primary", "fingerprint": "b721c4d461ed840d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b9b231d0ac4cb834", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/oc-path/src/cli.test.ts:299"}, "properties": {"repobilityId": "59b299b4518f028f", "scanner": "scanner-primary", "fingerprint": "b9b231d0ac4cb834", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8183082c774eeea4", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/oc-path/src/oc-path/tests/edit.test.ts:86"}, "properties": {"repobilityId": "33ad683c709f324b", "scanner": "scanner-primary", "fingerprint": "8183082c774eeea4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc4425c168adfd75", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/oc-path/src/oc-path/tests/jsonl/resolve.test.ts:74"}, "properties": {"repobilityId": "282692ab73b3f69f", "scanner": "scanner-primary", "fingerprint": "cc4425c168adfd75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6596d79cc0d78c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/oc-path/src/oc-path/tests/scenarios/oc-path-resolver-edges.test.ts:63"}, "properties": {"repobilityId": "6f3941652dd1b757", "scanner": "scanner-primary", "fingerprint": "b6596d79cc0d78c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb53b2e9324a16cb", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/oc-path/src/oc-path/jsonl/parse.ts:21"}, "properties": {"repobilityId": "6968392e05485abf", "scanner": "scanner-primary", "fingerprint": "bb53b2e9324a16cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6511ea774785c5ab", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/parallel/src/parallel-web-search-provider.runtime.ts:179"}, "properties": {"repobilityId": "87f0d47e5e4eab05", "scanner": "scanner-primary", "fingerprint": "6511ea774785c5ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8777593c8fa5b867", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/parallel/src/parallel-web-search-provider.test.ts:362"}, "properties": {"repobilityId": "bf6dc2838c778ed1", "scanner": "scanner-primary", "fingerprint": "8777593c8fa5b867", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e8403d56d6acc5b", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/parallel/src/parallel-mcp-search.runtime.ts:293"}, "properties": {"repobilityId": "2695b859bd418b06", "scanner": "scanner-primary", "fingerprint": "1e8403d56d6acc5b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bebda84dea2221a5", "level": "note", "message": {"text": "Legacy-named symbol `acct_old` in extensions/migrate-hermes/secrets.test.ts:977"}, "properties": {"repobilityId": "989bf9e0c14a6b04", "scanner": "scanner-primary", "fingerprint": "bebda84dea2221a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-34af32254f6b236b", "level": "note", "message": {"text": "Legacy-named symbol `oc_group_v2` in extensions/feishu/src/monitor.card-action.lifecycle.test-support.ts:220"}, "properties": {"repobilityId": "9868890ce9c52d2a", "scanner": "scanner-primary", "fingerprint": "34af32254f6b236b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7e6659224a5ab96e", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/feishu/src/card-action.ts:194"}, "properties": {"repobilityId": "33ec0fa4cf78a8b2", "scanner": "scanner-primary", "fingerprint": "7e6659224a5ab96e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37e86fd42f68ad8d", "level": "note", "message": {"text": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.broadcast.reply-once.lifecycle.test-support.ts:130"}, "properties": {"repobilityId": "5f0429cb3692dbf0", "scanner": "scanner-primary", "fingerprint": "37e86fd42f68ad8d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bc521de814c36de6", "level": "note", "message": {"text": "Legacy-named symbol `comment_add_v1` in extensions/feishu/src/monitor.comment.test.ts:63"}, "properties": {"repobilityId": "430416d0a01db2c7", "scanner": "scanner-primary", "fingerprint": "bc521de814c36de6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0c6be338224abfaa", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/feishu/src/monitor.webhook-security.test.ts:247"}, "properties": {"repobilityId": "7682d0b84e6ca274", "scanner": "scanner-primary", "fingerprint": "0c6be338224abfaa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a0eceb14077379bf", "level": "note", "message": {"text": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.reaction.test.ts:195"}, "properties": {"repobilityId": "e7a14b598faefbca", "scanner": "scanner-primary", "fingerprint": "a0eceb14077379bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4eb300e7c8df533a", "level": "note", "message": {"text": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.acp-init-failure.lifecycle.test-support.ts:68"}, "properties": {"repobilityId": "c46f00a73bf5c604", "scanner": "scanner-primary", "fingerprint": "4eb300e7c8df533a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c9a3f2ce4c7f5df6", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/feishu/src/send.concurrent.test.ts:141"}, "properties": {"repobilityId": "c546b79238c99f93", "scanner": "scanner-primary", "fingerprint": "c9a3f2ce4c7f5df6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-469f8e083435f841", "level": "note", "message": {"text": "Legacy-named symbol `file_v2` in extensions/feishu/src/media.test.ts:649"}, "properties": {"repobilityId": "712e5119fe495988", "scanner": "scanner-primary", "fingerprint": "469f8e083435f841", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d1154d3de09bdb8c", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/feishu/src/client.ts:58"}, "properties": {"repobilityId": "a88a66881db0634d", "scanner": "scanner-primary", "fingerprint": "d1154d3de09bdb8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1903523d220b4b00", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/feishu/src/bot.ts:290"}, "properties": {"repobilityId": "8c04647c1e829d50", "scanner": "scanner-primary", "fingerprint": "1903523d220b4b00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0f64d56f0c3ceaa", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/feishu/src/docx.ts:575"}, "properties": {"repobilityId": "d1cbaebfd1330b11", "scanner": "scanner-primary", "fingerprint": "f0f64d56f0c3ceaa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b33658a016079ced", "level": "note", "message": {"text": "Legacy-named symbol `receive_v1` in extensions/feishu/src/monitor.account.ts:289"}, "properties": {"repobilityId": "cb9d6e67e44b756a", "scanner": "scanner-primary", "fingerprint": "b33658a016079ced", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ab8645928b1d00c3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/feishu/src/monitor.webhook-e2e.test.ts:60"}, "properties": {"repobilityId": "d674038b1ddcf9ce", "scanner": "scanner-primary", "fingerprint": "ab8645928b1d00c3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b6817a594376d8f5", "level": "note", "message": {"text": "Legacy-named symbol `om_root_legacy` in extensions/feishu/src/bot.test.ts:3047"}, "properties": {"repobilityId": "83986658c21f6547", "scanner": "scanner-primary", "fingerprint": "b6817a594376d8f5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-05b1dadbbc6c0218", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/feishu/src/bot.test.ts:2105"}, "properties": {"repobilityId": "78c654291fca0fb9", "scanner": "scanner-primary", "fingerprint": "05b1dadbbc6c0218", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22a41eb65e703bdb", "level": "note", "message": {"text": "Legacy-named symbol `cli_backup` in extensions/feishu/src/config-schema.test.ts:318"}, "properties": {"repobilityId": "ea65a4acddb23f93", "scanner": "scanner-primary", "fingerprint": "22a41eb65e703bdb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-69b63e2e992f2ce3", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/feishu/src/docx-color-text.ts:64"}, "properties": {"repobilityId": "f253ca27b1073ff3", "scanner": "scanner-primary", "fingerprint": "69b63e2e992f2ce3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6036ec2fb051dcee", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/nextcloud-talk/src/send.cfg-threading.test.ts:85"}, "properties": {"repobilityId": "459bc4ecc000ceea", "scanner": "scanner-primary", "fingerprint": "6036ec2fb051dcee", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7078ab3ed81b813e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/nextcloud-talk/src/monitor.replay.test.ts:40"}, "properties": {"repobilityId": "905f8ac1929df47a", "scanner": "scanner-primary", "fingerprint": "7078ab3ed81b813e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7ac06f79cb75ddda", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/imessage/src/monitor.last-route.test.ts:1412"}, "properties": {"repobilityId": "680226a5300507eb", "scanner": "scanner-primary", "fingerprint": "7ac06f79cb75ddda", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-172e11930d6d3e20", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/imessage/src/approval-auth.ts:16"}, "properties": {"repobilityId": "90bdee8c7a3ec7c6", "scanner": "scanner-primary", "fingerprint": "172e11930d6d3e20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59f5cc9e3a3f8bc8", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/imessage/src/approval-native.test.ts:494"}, "properties": {"repobilityId": "429e9f9f01690704", "scanner": "scanner-primary", "fingerprint": "59f5cc9e3a3f8bc8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae5b7254b87145a2", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/imessage/src/approval-auth.test.ts:81"}, "properties": {"repobilityId": "d8d98933da126739", "scanner": "scanner-primary", "fingerprint": "ae5b7254b87145a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2f033b275a55d26", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/imessage/src/probe.ts:187"}, "properties": {"repobilityId": "c371bf3a93781411", "scanner": "scanner-primary", "fingerprint": "b2f033b275a55d26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b22edc6c9b4b7d71", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/imessage/src/actions.runtime.test.ts:140"}, "properties": {"repobilityId": "367150b8a03639fb", "scanner": "scanner-primary", "fingerprint": "b22edc6c9b4b7d71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0328b1cd0126fd2", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/imessage/src/constants.ts:4"}, "properties": {"repobilityId": "d7c9c19e5e02f93a", "scanner": "scanner-primary", "fingerprint": "f0328b1cd0126fd2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2be4005c996e06e", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/imessage/src/actions.ts:166"}, "properties": {"repobilityId": "e716b82102b0ebf4", "scanner": "scanner-primary", "fingerprint": "c2be4005c996e06e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-105eca858df91fa2", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/imessage/src/approval-reactions.ts:359"}, "properties": {"repobilityId": "f530c87bd916ce02", "scanner": "scanner-primary", "fingerprint": "105eca858df91fa2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3eeeabb202869452", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/imessage/src/send.ts:217"}, "properties": {"repobilityId": "552e84e40cfaf2cf", "scanner": "scanner-primary", "fingerprint": "3eeeabb202869452", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8337e05ae239ae11", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/imessage/src/actions.test.ts:444"}, "properties": {"repobilityId": "2febb74d13fed5bd", "scanner": "scanner-primary", "fingerprint": "8337e05ae239ae11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c48f4e5c26d597d0", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/imessage/src/approval-reactions.test.ts:388"}, "properties": {"repobilityId": "6b884856e18d6d44", "scanner": "scanner-primary", "fingerprint": "c48f4e5c26d597d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28f8bc5ee9f45c8a", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/imessage/src/actions.runtime.ts:439"}, "properties": {"repobilityId": "24e219caa175e951", "scanner": "scanner-primary", "fingerprint": "28f8bc5ee9f45c8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0bd35ef7e113b7c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/imessage/src/markdown-format.ts:52"}, "properties": {"repobilityId": "2d67b3c1e1f5fa59", "scanner": "scanner-primary", "fingerprint": "0bd35ef7e113b7c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21cba3982f7853bd", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/imessage/src/monitor/recovery-cursor.ts:1"}, "properties": {"repobilityId": "f5bc9f4720851cd5", "scanner": "scanner-primary", "fingerprint": "21cba3982f7853bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ac60bf41d8343cf", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/imessage/src/monitor/inbound-processing.ts:258"}, "properties": {"repobilityId": "132b6b91fd0e8fa0", "scanner": "scanner-primary", "fingerprint": "3ac60bf41d8343cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-917a18a49345c178", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/imessage/src/monitor/monitor-provider.ts:430"}, "properties": {"repobilityId": "b73830d91a540615", "scanner": "scanner-primary", "fingerprint": "917a18a49345c178", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e848e55c50538eb", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/imessage/src/monitor/inbound-processing.test.ts:265"}, "properties": {"repobilityId": "2bbe103514f43d4d", "scanner": "scanner-primary", "fingerprint": "3e848e55c50538eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-211fb5e8f32ccc15", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/imessage/src/monitor/persisted-echo-cache.ts:16"}, "properties": {"repobilityId": "28e67ebfb96c7d06", "scanner": "scanner-primary", "fingerprint": "211fb5e8f32ccc15", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b98fe23a90d5a332", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/imessage/src/monitor/coalesce.ts:57"}, "properties": {"repobilityId": "59ff1a9f72fbc71d", "scanner": "scanner-primary", "fingerprint": "b98fe23a90d5a332", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0f19b74450c7f3c", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/imessage/src/monitor/catchup.ts:438"}, "properties": {"repobilityId": "d494358becd00975", "scanner": "scanner-primary", "fingerprint": "d0f19b74450c7f3c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f1a22b03af1b078", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/imessage/src/monitor/catchup-bridge.ts:119"}, "properties": {"repobilityId": "383c1f8aa802b1e7", "scanner": "scanner-primary", "fingerprint": "2f1a22b03af1b078", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cecf1bdc827e4000", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/imessage/src/monitor/group-allowlist-warnings.ts:1"}, "properties": {"repobilityId": "35f784fe0e614ad8", "scanner": "scanner-primary", "fingerprint": "cecf1bdc827e4000", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-548b4b24e2176ad6", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/imessage/src/monitor/inbound-dedupe.ts:6"}, "properties": {"repobilityId": "6e708629f12d4c67", "scanner": "scanner-primary", "fingerprint": "548b4b24e2176ad6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db4ca9fc865c30dc", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/imessage/src/monitor/catchup.test.ts:412"}, "properties": {"repobilityId": "5565464912639ab5", "scanner": "scanner-primary", "fingerprint": "db4ca9fc865c30dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1febc4bdf693d2c9", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/imessage/src/monitor/catchup-bridge.test.ts:303"}, "properties": {"repobilityId": "1f789d2628fd05ac", "scanner": "scanner-primary", "fingerprint": "1febc4bdf693d2c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22b1aeff55ca93fd", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in extensions/elevenlabs/speech-provider.test.ts:48"}, "properties": {"repobilityId": "772567406e9c3477", "scanner": "scanner-primary", "fingerprint": "22b1aeff55ca93fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ee5b3608ddd54ebc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/elevenlabs/speech-provider.test.ts:13"}, "properties": {"repobilityId": "a3a4157207a3280f", "scanner": "scanner-primary", "fingerprint": "ee5b3608ddd54ebc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5ce39357fc72a04a", "level": "note", "message": {"text": "Legacy-named symbol `scribe_v2` in extensions/elevenlabs/media-understanding-provider.test.ts:32"}, "properties": {"repobilityId": "9d6166908d5364f2", "scanner": "scanner-primary", "fingerprint": "5ce39357fc72a04a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d512bdeebf2e2ae9", "level": "note", "message": {"text": "Legacy-named symbol `scribe_v2` in extensions/elevenlabs/media-understanding-provider.ts:17"}, "properties": {"repobilityId": "1da82fba2d09bf01", "scanner": "scanner-primary", "fingerprint": "d512bdeebf2e2ae9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e6309b55d9905dc8", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in extensions/elevenlabs/tts.test.ts:15"}, "properties": {"repobilityId": "4d8acb0773062032", "scanner": "scanner-primary", "fingerprint": "e6309b55d9905dc8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-be4a84801797e9a7", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in extensions/elevenlabs/speech-provider.ts:32"}, "properties": {"repobilityId": "2830372117e20749", "scanner": "scanner-primary", "fingerprint": "be4a84801797e9a7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4e221c1562ccd575", "level": "none", "message": {"text": "Commented-code block (9 lines) in extensions/matrix/src/matrix/sdk.ts:2023"}, "properties": {"repobilityId": "802a4045c6bc179e", "scanner": "scanner-primary", "fingerprint": "4e221c1562ccd575", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-332aba15d40dc012", "level": "note", "message": {"text": "Legacy-named symbol `megolm_backup` in extensions/matrix/src/matrix/sdk.test.ts:2026"}, "properties": {"repobilityId": "0dfa4cfadee7d3ca", "scanner": "scanner-primary", "fingerprint": "332aba15d40dc012", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9f15c6daf543695b", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/matrix/src/matrix/sdk/crypto-bootstrap.ts:369"}, "properties": {"repobilityId": "514f3086e12a1f84", "scanner": "scanner-primary", "fingerprint": "9f15c6daf543695b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e8c2c062d9a4b67", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/matrix/src/matrix/sdk/idb-persistence.ts:14"}, "properties": {"repobilityId": "6740f34ffd6bbf2f", "scanner": "scanner-primary", "fingerprint": "5e8c2c062d9a4b67", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32e2750071233999", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/matrix/src/matrix/sdk/verification-manager.ts:744"}, "properties": {"repobilityId": "9353545097d34324", "scanner": "scanner-primary", "fingerprint": "32e2750071233999", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-03bb73538b2f9332", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/github-copilot/index.test.ts:28"}, "properties": {"repobilityId": "6ec54f86e902e15c", "scanner": "scanner-primary", "fingerprint": "03bb73538b2f9332", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2b9f927e7e76b5fa", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/github-copilot/index.ts:299"}, "properties": {"repobilityId": "e2c7dc5d125748c1", "scanner": "scanner-primary", "fingerprint": "2b9f927e7e76b5fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dff0af9aa79677a0", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/github-copilot/models.test.ts:431"}, "properties": {"repobilityId": "ed4de9776e82357b", "scanner": "scanner-primary", "fingerprint": "dff0af9aa79677a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-07526749aae5df61", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/openai/speech-provider.test.ts:13"}, "properties": {"repobilityId": "b8445d20a1c53fd7", "scanner": "scanner-primary", "fingerprint": "07526749aae5df61", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f199e67191d961a1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/openai/tts.test.ts:30"}, "properties": {"repobilityId": "b7475cfcde2922fe", "scanner": "scanner-primary", "fingerprint": "f199e67191d961a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-880e3096cb6191eb", "level": "note", "message": {"text": "Legacy-named symbol `history_v2` in extensions/comfy/workflow-runtime.ts:814"}, "properties": {"repobilityId": "2d69fc2cb2562a4a", "scanner": "scanner-primary", "fingerprint": "880e3096cb6191eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a6235dab1c1a125b", "level": "note", "message": {"text": "Legacy-named symbol `history_v2` in extensions/comfy/image-generation-provider.test.ts:477"}, "properties": {"repobilityId": "15ab3ec91eaa4365", "scanner": "scanner-primary", "fingerprint": "a6235dab1c1a125b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b5726cc0d5d0c7c8", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/deepinfra/provider-models.ts:221"}, "properties": {"repobilityId": "5c3444402e402a12", "scanner": "scanner-primary", "fingerprint": "b5726cc0d5d0c7c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4169fb80e866fd97", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/line/src/send.ts:72"}, "properties": {"repobilityId": "4fe4c2ccc52b0be0", "scanner": "scanner-primary", "fingerprint": "4169fb80e866fd97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d047f72a3b77eb2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/telegram/src/bot.media.e2e-harness.ts:31"}, "properties": {"repobilityId": "a45fb5a32f62ee2e", "scanner": "scanner-primary", "fingerprint": "4d047f72a3b77eb2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a60cf2acae470380", "level": "note", "message": {"text": "Legacy-named symbol `custom_backup` in extensions/telegram/src/bot-native-commands.test.ts:381"}, "properties": {"repobilityId": "cb65ff399bf3eeb8", "scanner": "scanner-primary", "fingerprint": "a60cf2acae470380", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6ed6ba61433c5a73", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/telegram/src/polling-session.ts:1200"}, "properties": {"repobilityId": "03e49cb57e9e667b", "scanner": "scanner-primary", "fingerprint": "6ed6ba61433c5a73", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d052b500168d1bd9", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/telegram/src/fetch.ts:40"}, "properties": {"repobilityId": "6ec568d47c1bef55", "scanner": "scanner-primary", "fingerprint": "d052b500168d1bd9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6413edb39b006287", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/telegram/src/bot-native-commands.ts:518"}, "properties": {"repobilityId": "45ee275c0891a3fc", "scanner": "scanner-primary", "fingerprint": "6413edb39b006287", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b833b20367fbfc4f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/telegram/src/webhook.test.ts:481"}, "properties": {"repobilityId": "1a61713cbab1c3f7", "scanner": "scanner-primary", "fingerprint": "b833b20367fbfc4f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5ede068e71fc87a0", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/telegram/src/bot-handlers.runtime.ts:2547"}, "properties": {"repobilityId": "7814705592fc7df3", "scanner": "scanner-primary", "fingerprint": "5ede068e71fc87a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4a37dd26058d46a", "level": "note", "message": {"text": "Legacy-named symbol `custom_backup` in extensions/telegram/src/bot.command-menu.test.ts:120"}, "properties": {"repobilityId": "06a255ad07e1eb8c", "scanner": "scanner-primary", "fingerprint": "b4a37dd26058d46a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1b4853427d9aea13", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/telegram/src/fetch.test.ts:531"}, "properties": {"repobilityId": "9f6e2b58da3364ad", "scanner": "scanner-primary", "fingerprint": "1b4853427d9aea13", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a6d843914c5a233c", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/telegram/src/account-config.ts:75"}, "properties": {"repobilityId": "9cffe6ebc60c0f42", "scanner": "scanner-primary", "fingerprint": "a6d843914c5a233c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-71cadda2edf14079", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/bonjour/src/advertiser.ts:92"}, "properties": {"repobilityId": "c48cc941ec03a70b", "scanner": "scanner-primary", "fingerprint": "71cadda2edf14079", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c53d8111c0af34ba", "level": "none", "message": {"text": "Commented-code block (14 lines) in extensions/file-transfer/src/shared/policy.ts:10"}, "properties": {"repobilityId": "09a1b19c0909fa59", "scanner": "scanner-primary", "fingerprint": "c53d8111c0af34ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af6822642486806d", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/file-transfer/src/tools/file-write-tool.ts:69"}, "properties": {"repobilityId": "181404fd260b050a", "scanner": "scanner-primary", "fingerprint": "af6822642486806d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27e2a0b4568f4be0", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/file-transfer/src/node-host/file-fetch.test.ts:38"}, "properties": {"repobilityId": "1e1ba6f587455398", "scanner": "scanner-primary", "fingerprint": "27e2a0b4568f4be0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0bd5da8decf6fd01", "level": "none", "message": {"text": "Commented-code block (9 lines) in extensions/file-transfer/src/node-host/dir-fetch.ts:250"}, "properties": {"repobilityId": "6dc58a0406a441db", "scanner": "scanner-primary", "fingerprint": "0bd5da8decf6fd01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d00add7c986568e", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/file-transfer/src/node-host/file-write.ts:107"}, "properties": {"repobilityId": "9c5f32c0055f1afa", "scanner": "scanner-primary", "fingerprint": "6d00add7c986568e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ead24b2c1829b16", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/voice-call/src/webhook.hangup-once.lifecycle.test.ts:68"}, "properties": {"repobilityId": "83afd1a82382e651", "scanner": "scanner-primary", "fingerprint": "4ead24b2c1829b16", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4bc210d2e6fd0718", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/voice-call/src/webhook.test.ts:494"}, "properties": {"repobilityId": "cf3962269860d818", "scanner": "scanner-primary", "fingerprint": "4bc210d2e6fd0718", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a1191f34fe93955b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/zalo/src/monitor.webhook.test.ts:118"}, "properties": {"repobilityId": "b31f943fe4682973", "scanner": "scanner-primary", "fingerprint": "a1191f34fe93955b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c79ee205572915e9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/googlechat/src/targets.test.ts:21"}, "properties": {"repobilityId": "69abfc80364802c5", "scanner": "scanner-primary", "fingerprint": "c79ee205572915e9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5dd40c5052a41000", "level": "note", "message": {"text": "Legacy-named symbol `t2a_v2` in extensions/minimax/speech-provider.test.ts:436"}, "properties": {"repobilityId": "803200ee92e9d8f9", "scanner": "scanner-primary", "fingerprint": "5dd40c5052a41000", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3a71d2da39fa1b0a", "level": "note", "message": {"text": "Legacy-named symbol `t2a_v2` in extensions/minimax/tts.ts:76"}, "properties": {"repobilityId": "bd8db96b28f5a14e", "scanner": "scanner-primary", "fingerprint": "3a71d2da39fa1b0a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-157f5f456d04de48", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/codex/src/command-account.ts:206"}, "properties": {"repobilityId": "03384f48fa839757", "scanner": "scanner-primary", "fingerprint": "157f5f456d04de48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c76e1b0d1bf8da62", "level": "note", "message": {"text": "Legacy-named symbol `acct_old` in extensions/codex/src/migration/provider.test.ts:625"}, "properties": {"repobilityId": "cf0684d966378854", "scanner": "scanner-primary", "fingerprint": "c76e1b0d1bf8da62", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6ce4d0b703880a33", "level": "none", "message": {"text": "Commented-code block (10 lines) in extensions/codex/src/app-server/event-projector.ts:316"}, "properties": {"repobilityId": "d51542526cf80daf", "scanner": "scanner-primary", "fingerprint": "6ce4d0b703880a33", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a6e679a15a5abca", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/codex/src/app-server/transcript-mirror.ts:124"}, "properties": {"repobilityId": "63dc944ab4e37e87", "scanner": "scanner-primary", "fingerprint": "5a6e679a15a5abca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad664d0108712378", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/codex/src/app-server/thread-lifecycle.ts:1490"}, "properties": {"repobilityId": "290302a97fb90a6b", "scanner": "scanner-primary", "fingerprint": "ad664d0108712378", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4489e77ef6245c26", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/codex/src/app-server/request.ts:84"}, "properties": {"repobilityId": "a41133331a216c0e", "scanner": "scanner-primary", "fingerprint": "4489e77ef6245c26", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db641256b8f047ce", "level": "none", "message": {"text": "Commented-code block (11 lines) in extensions/codex/src/app-server/transcript-mirror.test.ts:507"}, "properties": {"repobilityId": "0f0abe7694595f62", "scanner": "scanner-primary", "fingerprint": "db641256b8f047ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-828f89479b1c3502", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/codex/src/app-server/run-attempt.turn-watches.test.ts:2984"}, "properties": {"repobilityId": "0c5753aac440edec", "scanner": "scanner-primary", "fingerprint": "828f89479b1c3502", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0e7139d2ad4fe39", "level": "note", "message": {"text": "Legacy-named symbol `isLegacy` in extensions/whatsapp/src/accounts.whatsapp-auth.test.ts:50"}, "properties": {"repobilityId": "7fb32336b89a3ddb", "scanner": "scanner-primary", "fingerprint": "e0e7139d2ad4fe39", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6fcf7814d24567ea", "level": "note", "message": {"text": "Legacy-named symbol `isLegacy` in extensions/whatsapp/src/accounts.ts:98"}, "properties": {"repobilityId": "f67a0028113e279a", "scanner": "scanner-primary", "fingerprint": "6fcf7814d24567ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-620bbb22be76f209", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/whatsapp/src/monitor-inbox.streams-inbound-messages.test-support.ts:842"}, "properties": {"repobilityId": "3c8e0a66da1f4579", "scanner": "scanner-primary", "fingerprint": "620bbb22be76f209", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0bdb39ba1cf5303b", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/whatsapp/src/quoted-message.ts:5"}, "properties": {"repobilityId": "5af83eae49871ba2", "scanner": "scanner-primary", "fingerprint": "0bdb39ba1cf5303b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7e1d6c577b698d5", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/whatsapp/src/targets-runtime.ts:53"}, "properties": {"repobilityId": "4ff164bf6f2c001f", "scanner": "scanner-primary", "fingerprint": "f7e1d6c577b698d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa5f8da1bdec711c", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/whatsapp/src/inbound/monitor.ts:672"}, "properties": {"repobilityId": "1f8ca8d6feb49157", "scanner": "scanner-primary", "fingerprint": "aa5f8da1bdec711c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6c3dc774fea5e09", "level": "none", "message": {"text": "Commented-code block (10 lines) in extensions/whatsapp/src/auto-reply/mentions.ts:54"}, "properties": {"repobilityId": "e2f0c7e4813f96a0", "scanner": "scanner-primary", "fingerprint": "e6c3dc774fea5e09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61eb727f733f28ed", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.ts:187"}, "properties": {"repobilityId": "8269337d1bd60c38", "scanner": "scanner-primary", "fingerprint": "61eb727f733f28ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d6c2fa74b193181", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/whatsapp/src/auto-reply/monitor/group-gating.ts:220"}, "properties": {"repobilityId": "abaac78248b60c00", "scanner": "scanner-primary", "fingerprint": "0d6c2fa74b193181", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f846c5f225adf01", "level": "none", "message": {"text": "Commented-code block (10 lines) in extensions/whatsapp/src/auto-reply/monitor/process-message.ts:240"}, "properties": {"repobilityId": "786af8ace07bf7a2", "scanner": "scanner-primary", "fingerprint": "5f846c5f225adf01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6209a07b0e6007be", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/whatsapp/src/auto-reply/monitor/on-message.ts:170"}, "properties": {"repobilityId": "d606254482d69f22", "scanner": "scanner-primary", "fingerprint": "6209a07b0e6007be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7ac83f3ff5aedd6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/voice-message.test.ts:18"}, "properties": {"repobilityId": "28f3efa395e9b2ab", "scanner": "scanner-primary", "fingerprint": "b7ac83f3ff5aedd6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d0ca8ec37ad02e30", "level": "note", "message": {"text": "Legacy-named symbol `button_v1` in extensions/discord/src/components.test.ts:69"}, "properties": {"repobilityId": "d62711fbb9957e2b", "scanner": "scanner-primary", "fingerprint": "d0ca8ec37ad02e30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-169f8e3321dc8aad", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/discord/src/monitor/message-handler.dm-preflight.ts:87"}, "properties": {"repobilityId": "7d2f86cfacb4c42c", "scanner": "scanner-primary", "fingerprint": "169f8e3321dc8aad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d92f04660bd4e88", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/discord/src/monitor/native-command-model-picker-interaction.ts:556"}, "properties": {"repobilityId": "d161da2ece9a322e", "scanner": "scanner-primary", "fingerprint": "3d92f04660bd4e88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78c8835e140adfe3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/monitor/provider.proxy.test.ts:734"}, "properties": {"repobilityId": "ebbb9436ed959e9a", "scanner": "scanner-primary", "fingerprint": "78c8835e140adfe3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-046b1f5534e5484b", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/discord/src/monitor/thread-title.ts:15"}, "properties": {"repobilityId": "06f63c438f2e65bd", "scanner": "scanner-primary", "fingerprint": "046b1f5534e5484b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c742130b4a5856e", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/discord/src/monitor/message-handler.ts:314"}, "properties": {"repobilityId": "e098dbe44110db66", "scanner": "scanner-primary", "fingerprint": "3c742130b4a5856e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0cfd51a993c8a2fe", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/discord/src/monitor/message-handler.process.test.ts:3622"}, "properties": {"repobilityId": "e656ec6cb0d87345", "scanner": "scanner-primary", "fingerprint": "0cfd51a993c8a2fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65b8750f83223bc0", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/discord/src/monitor/model-picker.state.ts:398"}, "properties": {"repobilityId": "45f1a5e371f5634c", "scanner": "scanner-primary", "fingerprint": "65b8750f83223bc0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-979faffa5962a924", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/discord/src/monitor/model-picker.view.ts:178"}, "properties": {"repobilityId": "e47e36a94039701f", "scanner": "scanner-primary", "fingerprint": "979faffa5962a924", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0e9ae1dc3bee053", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/discord/src/monitor/model-picker.test.ts:588"}, "properties": {"repobilityId": "6b4ea03aa0b66157", "scanner": "scanner-primary", "fingerprint": "a0e9ae1dc3bee053", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b583afc9521f571", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/internal/listeners.ts:37"}, "properties": {"repobilityId": "bc03ee369c37f653", "scanner": "scanner-primary", "fingerprint": "8b583afc9521f571", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-67f28414bfa2abed", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/discord/src/internal/command-deploy.test.ts:344"}, "properties": {"repobilityId": "cbb4c455d4aa3c1b", "scanner": "scanner-primary", "fingerprint": "67f28414bfa2abed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e7ee5acc4ec421d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/internal/structures.ts:74"}, "properties": {"repobilityId": "a72f2cc3ea6b66a4", "scanner": "scanner-primary", "fingerprint": "6e7ee5acc4ec421d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-127aad834df766b4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/discord/src/test-support/partial-channel.ts:3"}, "properties": {"repobilityId": "f1009cdd55059c5a", "scanner": "scanner-primary", "fingerprint": "127aad834df766b4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8df3beee64b9f308", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qqbot/src/engine/api/token.test.ts:62"}, "properties": {"repobilityId": "59fee4d39b95d405", "scanner": "scanner-primary", "fingerprint": "8df3beee64b9f308", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a0424c3c86d347d6", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/qqbot/src/engine/utils/platform.test.ts:153"}, "properties": {"repobilityId": "73656471a17e57ee", "scanner": "scanner-primary", "fingerprint": "a0424c3c86d347d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-746165978a6c3093", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qqbot/src/engine/utils/stt.test.ts:43"}, "properties": {"repobilityId": "1c0a770d50c2183b", "scanner": "scanner-primary", "fingerprint": "746165978a6c3093", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a9cd12a85bb6967f", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/qqbot/src/engine/utils/platform.ts:302"}, "properties": {"repobilityId": "60d240581c6e8bf4", "scanner": "scanner-primary", "fingerprint": "a9cd12a85bb6967f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb6287a27024855a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qqbot/src/engine/adapter/types.ts:22"}, "properties": {"repobilityId": "da564c696fdd4f73", "scanner": "scanner-primary", "fingerprint": "eb6287a27024855a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a6650faa70f4de1d", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/qqbot/src/engine/messaging/streaming-c2c.ts:795"}, "properties": {"repobilityId": "80a22f49d3bdeee3", "scanner": "scanner-primary", "fingerprint": "a6650faa70f4de1d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c89cbfc1cef3c153", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/qqbot/src/engine/messaging/sender.ts:593"}, "properties": {"repobilityId": "50c8a1b80c2305f1", "scanner": "scanner-primary", "fingerprint": "c89cbfc1cef3c153", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ee530ce1036d724", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/qqbot/src/engine/gateway/outbound-dispatch.ts:49"}, "properties": {"repobilityId": "80b1834f81c043fa", "scanner": "scanner-primary", "fingerprint": "0ee530ce1036d724", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c648e98f9965dd90", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/qqbot/src/engine/gateway/message-queue.test.ts:159"}, "properties": {"repobilityId": "267bcbc77551eecf", "scanner": "scanner-primary", "fingerprint": "c648e98f9965dd90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7c85a291aba09aa", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-matrix/src/substrate/fault-proxy.test.ts:94"}, "properties": {"repobilityId": "a92647e8b21e7b05", "scanner": "scanner-primary", "fingerprint": "a7c85a291aba09aa", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ee2c9eb3224c4568", "level": "note", "message": {"text": "Legacy-named symbol `megolm_backup` in extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee.ts:209"}, "properties": {"repobilityId": "93da3eed26a179e5", "scanner": "scanner-primary", "fingerprint": "ee2c9eb3224c4568", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c96a46160056e54d", "level": "note", "message": {"text": "Legacy-named symbol `megolm_backup` in extensions/qa-matrix/src/runners/contract/scenario-runtime-e2ee-destructive.ts:265"}, "properties": {"repobilityId": "ff1475424a07bd5e", "scanner": "scanner-primary", "fingerprint": "c96a46160056e54d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0dc5c57333575545", "level": "note", "message": {"text": "Legacy-named symbol `megolm_backup` in extensions/qa-matrix/src/runners/contract/scenarios.test.ts:5579"}, "properties": {"repobilityId": "422f09de6e097ed8", "scanner": "scanner-primary", "fingerprint": "0dc5c57333575545", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a1c40f0e66cf380c", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/msteams/src/reply-stream-controller.ts:37"}, "properties": {"repobilityId": "40660406610d37b4", "scanner": "scanner-primary", "fingerprint": "a1c40f0e66cf380c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c4cfbf1756e909f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/msteams/src/graph.test.ts:36"}, "properties": {"repobilityId": "e89cfc7c2150b32c", "scanner": "scanner-primary", "fingerprint": "2c4cfbf1756e909f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5d06dabaee17a63f", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/msteams/src/channel.actions.test.ts:800"}, "properties": {"repobilityId": "f97fba9953306edd", "scanner": "scanner-primary", "fingerprint": "5d06dabaee17a63f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73afd4e6d61c34ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/auth-coverage.test.ts:157"}, "properties": {"repobilityId": "6bb69f968c8b6799", "scanner": "scanner-primary", "fingerprint": "73afd4e6d61c34ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00d8ab7e3ff693f2", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/thread-parent-context.ts:3"}, "properties": {"repobilityId": "e7afec9a13528562", "scanner": "scanner-primary", "fingerprint": "00d8ab7e3ff693f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c29c310b1d4921d", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/msteams/src/messenger.ts:584"}, "properties": {"repobilityId": "b97f9d35152010e0", "scanner": "scanner-primary", "fingerprint": "3c29c310b1d4921d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e836adf1dd6f882c", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor.ts:475"}, "properties": {"repobilityId": "f0e5abaf11e47e38", "scanner": "scanner-primary", "fingerprint": "e836adf1dd6f882c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-759ef184f3cddc06", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/msteams/src/reply-dispatcher.ts:86"}, "properties": {"repobilityId": "36414a0ddbd88831", "scanner": "scanner-primary", "fingerprint": "759ef184f3cddc06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dbb9927f44352d21", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/conversation-store-helpers.ts:38"}, "properties": {"repobilityId": "c8fd282a48940562", "scanner": "scanner-primary", "fingerprint": "dbb9927f44352d21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b3d544b04964bd2", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/messenger.test.ts:149"}, "properties": {"repobilityId": "1c9db6d685c51078", "scanner": "scanner-primary", "fingerprint": "9b3d544b04964bd2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd2724f37d4224c4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/msteams/src/user-agent.test.ts:18"}, "properties": {"repobilityId": "d5011947d0af230b", "scanner": "scanner-primary", "fingerprint": "bd2724f37d4224c4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ce06fac4758ec28", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/send-context.ts:255"}, "properties": {"repobilityId": "cf80e3df63953836", "scanner": "scanner-primary", "fingerprint": "1ce06fac4758ec28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e963d015dbba974", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/msteams/src/resolve-allowlist.ts:100"}, "properties": {"repobilityId": "bb1730c32307744a", "scanner": "scanner-primary", "fingerprint": "6e963d015dbba974", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4bf9f9d925a316f", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/msteams/src/reply-dispatcher.test.ts:302"}, "properties": {"repobilityId": "db260041ccc0a353", "scanner": "scanner-primary", "fingerprint": "e4bf9f9d925a316f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-965b522d572469d7", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor.lifecycle.test.ts:350"}, "properties": {"repobilityId": "62d6f92c89e0be4d", "scanner": "scanner-primary", "fingerprint": "965b522d572469d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cfbf000ad7ec0f37", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/graph-messages.ts:120"}, "properties": {"repobilityId": "7e9faefbb8935df2", "scanner": "scanner-primary", "fingerprint": "cfbf000ad7ec0f37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1ce5d5fa17245ff", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/msteams/src/reply-stream-controller.test.ts:40"}, "properties": {"repobilityId": "183710abccc06dd5", "scanner": "scanner-primary", "fingerprint": "e1ce5d5fa17245ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67acf94eb143b034", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/attachments/download.ts:73"}, "properties": {"repobilityId": "d5d6f5323aa6c262", "scanner": "scanner-primary", "fingerprint": "67acf94eb143b034", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61c52dfc86c38d72", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/msteams/src/monitor-handler/thread-session.ts:18"}, "properties": {"repobilityId": "56c5274c3c4342df", "scanner": "scanner-primary", "fingerprint": "61c52dfc86c38d72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-962c6e059e0c72c9", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor-handler/inbound-media.ts:64"}, "properties": {"repobilityId": "94ca7420ca88e8e7", "scanner": "scanner-primary", "fingerprint": "962c6e059e0c72c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7de0dc9afab08856", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor-handler/message-handler.ts:493"}, "properties": {"repobilityId": "0d73ff0326b31e99", "scanner": "scanner-primary", "fingerprint": "7de0dc9afab08856", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d32f21454497c154", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts:79"}, "properties": {"repobilityId": "bc1f0cf5da20efc5", "scanner": "scanner-primary", "fingerprint": "d32f21454497c154", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12b83fe1ff28080f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/xai/web-search.test.ts:55"}, "properties": {"repobilityId": "df3e046c616960dd", "scanner": "scanner-primary", "fingerprint": "12b83fe1ff28080f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-832f561757600f74", "level": "note", "message": {"text": "Legacy-named symbol `runtimeLegacy` in extensions/xai/src/tool-auth-shared.ts:123"}, "properties": {"repobilityId": "367e6db3113bb6bb", "scanner": "scanner-primary", "fingerprint": "832f561757600f74", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0720894ecf794326", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/synology-chat/src/client.ts:22"}, "properties": {"repobilityId": "50abd2763c56efb8", "scanner": "scanner-primary", "fingerprint": "0720894ecf794326", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0dfd3c977de9e66", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/active-memory/index.test.ts:1197"}, "properties": {"repobilityId": "118c33933b1e71e6", "scanner": "scanner-primary", "fingerprint": "a0dfd3c977de9e66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b2e089b5e21e371", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/active-memory/index.ts:2887"}, "properties": {"repobilityId": "8fba2e6969ae7803", "scanner": "scanner-primary", "fingerprint": "0b2e089b5e21e371", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0296ddc2e236a5f9", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/amazon-bedrock/register.sync.runtime.ts:653"}, "properties": {"repobilityId": "d61fd9a4b1b963d7", "scanner": "scanner-primary", "fingerprint": "0296ddc2e236a5f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e426b7bb1a7a5fdf", "level": "note", "message": {"text": "Legacy-named symbol `migratedLegacy` in extensions/memory-core/src/dreaming.ts:453"}, "properties": {"repobilityId": "49b3ab007a0bce65", "scanner": "scanner-primary", "fingerprint": "e426b7bb1a7a5fdf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0e0d27fd891fe737", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/dreaming.ts:708"}, "properties": {"repobilityId": "05bab199e2918df6", "scanner": "scanner-primary", "fingerprint": "0e0d27fd891fe737", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20616b79f523e1c0", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/memory-core/src/short-term-promotion.ts:400"}, "properties": {"repobilityId": "850c289bf8ff364d", "scanner": "scanner-primary", "fingerprint": "20616b79f523e1c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb214c1ab51723f4", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/dreaming-narrative.ts:150"}, "properties": {"repobilityId": "0c74f9caf00e9a6a", "scanner": "scanner-primary", "fingerprint": "bb214c1ab51723f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ce908bad875e9e2", "level": "note", "message": {"text": "Legacy-named symbol `listedLegacy` in extensions/memory-core/src/memory/qmd-manager.ts:829"}, "properties": {"repobilityId": "3f3aab6596d25269", "scanner": "scanner-primary", "fingerprint": "9ce908bad875e9e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-579f1fbbf86e2e84", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/memory/qmd-manager.ts:223"}, "properties": {"repobilityId": "bbde2f4427cfa0c7", "scanner": "scanner-primary", "fingerprint": "579f1fbbf86e2e84", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09d276524f1ea164", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/memory-core/src/memory/manager-search.ts:145"}, "properties": {"repobilityId": "bbd0d02e45c9574f", "scanner": "scanner-primary", "fingerprint": "09d276524f1ea164", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-149fb7ad3441fbef", "level": "note", "message": {"text": "Legacy-named symbol `memory_index_meta_v1` in extensions/memory-core/src/memory/index.test.ts:842"}, "properties": {"repobilityId": "50caa51d79d03856", "scanner": "scanner-primary", "fingerprint": "149fb7ad3441fbef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-638e1d1a1d80825f", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/memory-core/src/memory/qmd-manager.test.ts:4477"}, "properties": {"repobilityId": "49cc964f2c8f067f", "scanner": "scanner-primary", "fingerprint": "638e1d1a1d80825f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-01961bf0a61d5f31", "level": "note", "message": {"text": "Legacy-named symbol `memory_index_meta_v1` in extensions/memory-core/src/memory/manager-sync-ops.ts:121"}, "properties": {"repobilityId": "4541287248fc80ec", "scanner": "scanner-primary", "fingerprint": "01961bf0a61d5f31", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-96d947d520b4a890", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/memory/manager-sync-ops.ts:700"}, "properties": {"repobilityId": "0bec7c7f092b12be", "scanner": "scanner-primary", "fingerprint": "96d947d520b4a890", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed49cce3b6292973", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/memory-core/src/memory/mmr.test.ts:155"}, "properties": {"repobilityId": "2ada4df75eba76d6", "scanner": "scanner-primary", "fingerprint": "ed49cce3b6292973", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-888addab102bd927", "level": "note", "message": {"text": "Legacy-named symbol `veryOld` in extensions/memory-core/src/memory/temporal-decay.test.ts:76"}, "properties": {"repobilityId": "36ba01d89b18eaf0", "scanner": "scanner-primary", "fingerprint": "888addab102bd927", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1b7196e8345283aa", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/memory-core/src/memory/manager.watcher-config.test.ts:265"}, "properties": {"repobilityId": "b5d76e6abed936a8", "scanner": "scanner-primary", "fingerprint": "1b7196e8345283aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73b73410e20d6b67", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/memory-core/src/memory/manager-search.test.ts:660"}, "properties": {"repobilityId": "8c62b24deeb47f38", "scanner": "scanner-primary", "fingerprint": "73b73410e20d6b67", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9814979800e9269", "level": "note", "message": {"text": "Legacy-named symbol `IsDeprecated` in extensions/azure-speech/tts.test.ts:148"}, "properties": {"repobilityId": "20440c9a073679ca", "scanner": "scanner-primary", "fingerprint": "c9814979800e9269", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-61544fc08f225ee6", "level": "note", "message": {"text": "Legacy-named symbol `IsDeprecated` in extensions/azure-speech/tts.ts:33"}, "properties": {"repobilityId": "eaaf2c1964d3891b", "scanner": "scanner-primary", "fingerprint": "61544fc08f225ee6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f4ecfcf7e2bfa3bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/ollama/src/media-understanding-provider.ts:9"}, "properties": {"repobilityId": "0ab47ae47410c82a", "scanner": "scanner-primary", "fingerprint": "f4ecfcf7e2bfa3bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3b09ebe10ccac045", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/ollama/src/embedding-provider.test.ts:8"}, "properties": {"repobilityId": "f794d212dd9ae643", "scanner": "scanner-primary", "fingerprint": "3b09ebe10ccac045", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0cc42f89efeefe68", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in extensions/google-meet/index.test.ts:4156"}, "properties": {"repobilityId": "179ebc5a41c0e87b", "scanner": "scanner-primary", "fingerprint": "0cc42f89efeefe68", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ef897e94cc00b324", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google-meet/index.test.ts:87"}, "properties": {"repobilityId": "ecf518805bd90afa", "scanner": "scanner-primary", "fingerprint": "ef897e94cc00b324", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c15136f1652e3694", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google-meet/index.create.test.ts:34"}, "properties": {"repobilityId": "04200a032c8b1552", "scanner": "scanner-primary", "fingerprint": "c15136f1652e3694", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f6b6d30c439b5fd5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/google-meet/src/cli.test.ts:21"}, "properties": {"repobilityId": "3f708aca86fb1dd9", "scanner": "scanner-primary", "fingerprint": "f6b6d30c439b5fd5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d4c835164c018813", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/copilot/harness.test.ts:523"}, "properties": {"repobilityId": "72150747efe82eec", "scanner": "scanner-primary", "fingerprint": "d4c835164c018813", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cce8849676a47705", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/copilot/harness.ts:43"}, "properties": {"repobilityId": "a9c812d2fcda7708", "scanner": "scanner-primary", "fingerprint": "cce8849676a47705", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-911a29681a99d276", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/copilot/src/attempt.ts:93"}, "properties": {"repobilityId": "51eab1f0d58a657f", "scanner": "scanner-primary", "fingerprint": "911a29681a99d276", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-afe724b1f1734ba2", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/copilot/src/workspace-bootstrap.test.ts:177"}, "properties": {"repobilityId": "392fc0ff8938d7ba", "scanner": "scanner-primary", "fingerprint": "afe724b1f1734ba2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38a0c83553d44e2b", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/copilot/src/doctor-probes.ts:139"}, "properties": {"repobilityId": "2aede293148d6dc0", "scanner": "scanner-primary", "fingerprint": "38a0c83553d44e2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbc1a469500f1c31", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/copilot/src/compaction-bridge.ts:11"}, "properties": {"repobilityId": "786af8a4d06e4d52", "scanner": "scanner-primary", "fingerprint": "fbc1a469500f1c31", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76d86263b68e0306", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/copilot/src/runtime.ts:73"}, "properties": {"repobilityId": "7339ad4ab583fe28", "scanner": "scanner-primary", "fingerprint": "76d86263b68e0306", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a0805f31375d53b", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/copilot/src/telemetry-bridge.ts:6"}, "properties": {"repobilityId": "1c73689ae21d5b80", "scanner": "scanner-primary", "fingerprint": "8a0805f31375d53b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc918bc49ecf5ac6", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/copilot/src/auth-bridge.ts:160"}, "properties": {"repobilityId": "61e0de43e1ac4614", "scanner": "scanner-primary", "fingerprint": "dc918bc49ecf5ac6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-386b3c7c6167ac90", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/copilot/src/dual-write-transcripts.test.ts:359"}, "properties": {"repobilityId": "8389b115771811ab", "scanner": "scanner-primary", "fingerprint": "386b3c7c6167ac90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-23dc5295cdca2e02", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/copilot/src/attempt.test.ts:18"}, "properties": {"repobilityId": "2c7c8d95e3183fa9", "scanner": "scanner-primary", "fingerprint": "23dc5295cdca2e02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfc5bf6d34a6fb72", "level": "none", "message": {"text": "Commented-code block (11 lines) in extensions/copilot/src/replay-shim.ts:3"}, "properties": {"repobilityId": "19d6400ddae93e34", "scanner": "scanner-primary", "fingerprint": "dfc5bf6d34a6fb72", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c9389e63c87e435", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/copilot/src/tool-bridge.ts:260"}, "properties": {"repobilityId": "48fe08f920c22c98", "scanner": "scanner-primary", "fingerprint": "8c9389e63c87e435", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6bfef637518e2e1a", "level": "none", "message": {"text": "Commented-code block (8 lines) in extensions/copilot/src/tool-bridge.test.ts:207"}, "properties": {"repobilityId": "adee13fac664dd26", "scanner": "scanner-primary", "fingerprint": "6bfef637518e2e1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0fbb989e3468e33", "level": "none", "message": {"text": "Commented-code block (10 lines) in extensions/copilot/src/workspace-bootstrap.ts:12"}, "properties": {"repobilityId": "7896b5fced0e7ba8", "scanner": "scanner-primary", "fingerprint": "e0fbb989e3468e33", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce704c3f71c8f8f3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/mattermost/src/channel.test.ts:9"}, "properties": {"repobilityId": "f1aa21a4a562d6b8", "scanner": "scanner-primary", "fingerprint": "ce704c3f71c8f8f3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-732b82c2d69c347c", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/mattermost/src/mattermost/monitor.inbound-system-event.test.ts:517"}, "properties": {"repobilityId": "b67b3356baa43f59", "scanner": "scanner-primary", "fingerprint": "732b82c2d69c347c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9a4bb14ad66f12a", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/mattermost/src/mattermost/monitor.ts:550"}, "properties": {"repobilityId": "cdac37cdedfc526c", "scanner": "scanner-primary", "fingerprint": "b9a4bb14ad66f12a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92ed40c412707eb2", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/mattermost/src/mattermost/slash-http.ts:618"}, "properties": {"repobilityId": "e310ff5ff049a324", "scanner": "scanner-primary", "fingerprint": "92ed40c412707eb2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-15af8f1669b2a1df", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/slack/src/channel.lazy-seams.test.ts:1"}, "properties": {"repobilityId": "1d961f102322f618", "scanner": "scanner-primary", "fingerprint": "15af8f1669b2a1df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c0f55c44ed83901", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/slack/src/send.upload.test.ts:23"}, "properties": {"repobilityId": "03675363650f17fe", "scanner": "scanner-primary", "fingerprint": "0c0f55c44ed83901", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-790fb18fff9603bf", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/slack/src/send.ts:507"}, "properties": {"repobilityId": "6d79e70ebd002e14", "scanner": "scanner-primary", "fingerprint": "790fb18fff9603bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b41f46ad4e3b2279", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/slack/src/monitor/events/messages.ts:195"}, "properties": {"repobilityId": "5b6bc67ae665c1ef", "scanner": "scanner-primary", "fingerprint": "b41f46ad4e3b2279", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee2bcde9011fbda4", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/slack/src/monitor/message-handler/prepare-routing.ts:193"}, "properties": {"repobilityId": "f7e63113eb751e6d", "scanner": "scanner-primary", "fingerprint": "ee2bcde9011fbda4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4028c202372ca78f", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/slack/src/monitor/message-handler/prepare.ts:659"}, "properties": {"repobilityId": "3368fdc91d2918da", "scanner": "scanner-primary", "fingerprint": "4028c202372ca78f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3bf0c20b7b79f6ae", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/slack/src/monitor/message-handler/dispatch.ts:734"}, "properties": {"repobilityId": "4bd0035b3f3fa243", "scanner": "scanner-primary", "fingerprint": "3bf0c20b7b79f6ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d77253f780c7d8bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/openrouter/index.test.ts:233"}, "properties": {"repobilityId": "01ab2c0bda992e21", "scanner": "scanner-primary", "fingerprint": "d77253f780c7d8bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4412cd5a1d7d6682", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/openrouter/openrouter.live.test.ts:61"}, "properties": {"repobilityId": "a2e8637fc6ff5a99", "scanner": "scanner-primary", "fingerprint": "4412cd5a1d7d6682", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-074862c80f96848d", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/chrome.ts:355"}, "properties": {"repobilityId": "f42032b07e4133a4", "scanner": "scanner-primary", "fingerprint": "074862c80f96848d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85d4d163bea60774", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/chrome.ts:402"}, "properties": {"repobilityId": "aff504cb7f1f2861", "scanner": "scanner-primary", "fingerprint": "85d4d163bea60774", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c0db7c7082078604", "level": "none", "message": {"text": "Commented-code block (9 lines) in extensions/browser/src/browser/server-context.ensure-browser-available.waits-for-cdp-ready.test.ts:402"}, "properties": {"repobilityId": "36d5756ceff2fd76", "scanner": "scanner-primary", "fingerprint": "c0db7c7082078604", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41177be15cc519af", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/pw-tools-core.interactions.ts:116"}, "properties": {"repobilityId": "64e7e675e1ca719c", "scanner": "scanner-primary", "fingerprint": "41177be15cc519af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2976999bea8524d8", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/pw-tools-core.snapshot.navigate-guard.test.ts:151"}, "properties": {"repobilityId": "abd93fd6e0c79e76", "scanner": "scanner-primary", "fingerprint": "2976999bea8524d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8a8615b0e2d75f5", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/chrome.test.ts:669"}, "properties": {"repobilityId": "0bbcb178c2a75369", "scanner": "scanner-primary", "fingerprint": "a8a8615b0e2d75f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50d21aac2d8d4e81", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/chrome.test.ts:782"}, "properties": {"repobilityId": "2a99c350339e6f07", "scanner": "scanner-primary", "fingerprint": "50d21aac2d8d4e81", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5fda1439b3c8f88a", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/cdp.ts:219"}, "properties": {"repobilityId": "e068eae6121424ab", "scanner": "scanner-primary", "fingerprint": "5fda1439b3c8f88a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5fddae47b885542", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/browser/src/browser/cdp.helpers.internal.test.ts:490"}, "properties": {"repobilityId": "848013b24efe9ac4", "scanner": "scanner-primary", "fingerprint": "f5fddae47b885542", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19de485c843561b8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/bridge-server.auth.test.ts:54"}, "properties": {"repobilityId": "46eea8824d5f36db", "scanner": "scanner-primary", "fingerprint": "19de485c843561b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ec5a21473b91fc8a", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/errors.ts:110"}, "properties": {"repobilityId": "8ff3289c938beda7", "scanner": "scanner-primary", "fingerprint": "ec5a21473b91fc8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6766c27a5fb1e19c", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/pw-session.ts:1265"}, "properties": {"repobilityId": "6e2094a69ed3f730", "scanner": "scanner-primary", "fingerprint": "6766c27a5fb1e19c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1134dba0049490df", "level": "none", "message": {"text": "Commented-code block (5 lines) in extensions/browser/src/browser/routes/agent.act.existing-session-navigation-guard.test.ts:310"}, "properties": {"repobilityId": "9637e44cc9c7888d", "scanner": "scanner-primary", "fingerprint": "1134dba0049490df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-159b5e75ccdc6d3f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/browser/src/browser/test-support/fetch.ts:30"}, "properties": {"repobilityId": "dcfcba54f52b8048", "scanner": "scanner-primary", "fingerprint": "159b5e75ccdc6d3f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e45ec5c2c01cf070", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/web/src/app.ts:22"}, "properties": {"repobilityId": "448652edca11591a", "scanner": "scanner-primary", "fingerprint": "e45ec5c2c01cf070", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8f0af19db55112d2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/lab-server.test.ts:340"}, "properties": {"repobilityId": "cdb6e74e32fd52a5", "scanner": "scanner-primary", "fingerprint": "8f0af19db55112d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d48f7e19b2c1e455", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/qa-lab/src/agentic-parity-report.ts:143"}, "properties": {"repobilityId": "ec4d5a8f05c95818", "scanner": "scanner-primary", "fingerprint": "d48f7e19b2c1e455", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93c4b60afd099142", "level": "none", "message": {"text": "Commented-code block (7 lines) in extensions/qa-lab/src/agentic-parity-report.test.ts:415"}, "properties": {"repobilityId": "6f328a1eec6246ba", "scanner": "scanner-primary", "fingerprint": "93c4b60afd099142", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9e433c4cb78ea2f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/bus-server.test.ts:46"}, "properties": {"repobilityId": "a3901f5ed77fa02e", "scanner": "scanner-primary", "fingerprint": "e9e433c4cb78ea2f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-be245a85cb301bcc", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/qa-lab/src/suite.ts:1278"}, "properties": {"repobilityId": "77e6a08b474f5428", "scanner": "scanner-primary", "fingerprint": "be245a85cb301bcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3313fc752c45c2d3", "level": "none", "message": {"text": "Commented-code block (10 lines) in extensions/qa-lab/src/providers/mock-openai/server.test.ts:3909"}, "properties": {"repobilityId": "8c4402da9ae18a61", "scanner": "scanner-primary", "fingerprint": "3313fc752c45c2d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eaf67237219aedc9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/providers/mock-openai/server.test.ts:43"}, "properties": {"repobilityId": "3c2efe65437faef0", "scanner": "scanner-primary", "fingerprint": "eaf67237219aedc9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-711a6210210a49f8", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/qa-lab/src/providers/mock-openai/server.ts:112"}, "properties": {"repobilityId": "7de3c6e3b0811b83", "scanner": "scanner-primary", "fingerprint": "711a6210210a49f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee0ac00fe2d9db0f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 extensions/qa-lab/src/providers/aimock/server.test.ts:38"}, "properties": {"repobilityId": "18cbf9c455ee86fe", "scanner": "scanner-primary", "fingerprint": "ee0ac00fe2d9db0f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-209b9b117d5a046c", "level": "none", "message": {"text": "Commented-code block (6 lines) in extensions/tlon/src/urbit/story.ts:122"}, "properties": {"repobilityId": "e7326aff44616cb9", "scanner": "scanner-primary", "fingerprint": "209b9b117d5a046c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b13b01a180f962f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/media-core/src/mime.ts:137"}, "properties": {"repobilityId": "4ccedb1d83b902e6", "scanner": "scanner-primary", "fingerprint": "8b13b01a180f962f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4f56282dad92a2a", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in packages/speech-core/src/tts.test.ts:616"}, "properties": {"repobilityId": "8ed1c02e686aba34", "scanner": "scanner-primary", "fingerprint": "c4f56282dad92a2a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d721525a7655b6fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/speech-core/src/tts.test.ts:38"}, "properties": {"repobilityId": "79dc119286cc51aa", "scanner": "scanner-primary", "fingerprint": "d721525a7655b6fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e739d81acf5056f", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/speech-core/src/tts.ts:1401"}, "properties": {"repobilityId": "2b8dfc2f37070a9c", "scanner": "scanner-primary", "fingerprint": "8e739d81acf5056f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7d505ad27b15a19", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/memory-host-sdk/src/host/sqlite-vec.ts:68"}, "properties": {"repobilityId": "103cc7b8eecdd1e5", "scanner": "scanner-primary", "fingerprint": "a7d505ad27b15a19", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5c3e8b1b5f2620c", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/memory-host-sdk/src/host/session-files.ts:655"}, "properties": {"repobilityId": "e34fc27e923cee78", "scanner": "scanner-primary", "fingerprint": "f5c3e8b1b5f2620c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7d410000e00defc", "level": "note", "message": {"text": "Legacy-named symbol `existingLegacy` in packages/memory-host-sdk/src/host/config-utils.ts:279"}, "properties": {"repobilityId": "e363ff6ad9b02119", "scanner": "scanner-primary", "fingerprint": "f7d410000e00defc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a815f26aaff61117", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 skills/meme-maker/scripts/meme.mjs:158"}, "properties": {"repobilityId": "46cb08870e8ae997", "scanner": "scanner-primary", "fingerprint": "a815f26aaff61117", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7b57beaa9d9720e3", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/poll-params.ts:78"}, "properties": {"repobilityId": "14e32ed826f7ccb8", "scanner": "scanner-primary", "fingerprint": "7b57beaa9d9720e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe51f18f7be48489", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/poll-params.test.ts:46"}, "properties": {"repobilityId": "f943bc196f3f4bb5", "scanner": "scanner-primary", "fingerprint": "fe51f18f7be48489", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7a2796e4979a49a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/entry.ts:79"}, "properties": {"repobilityId": "64dd3dd75f1320e7", "scanner": "scanner-primary", "fingerprint": "b7a2796e4979a49a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7e8561d96d0a172", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/docker-setup.e2e.test.ts:851"}, "properties": {"repobilityId": "622d90230a772a09", "scanner": "scanner-primary", "fingerprint": "a7e8561d96d0a172", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9146235381c0fe41", "level": "note", "message": {"text": "Legacy-named symbol `gpt4_legacy` in src/security/audit-extra.sync.ts:171"}, "properties": {"repobilityId": "4b60eca8e4d15e12", "scanner": "scanner-primary", "fingerprint": "9146235381c0fe41", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9d8b7642cc01c56d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/security/windows-acl.test.ts:234"}, "properties": {"repobilityId": "120a81d944bff163", "scanner": "scanner-primary", "fingerprint": "9d8b7642cc01c56d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb7a57a0412c7089", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/flows/channel-setup.test.ts:778"}, "properties": {"repobilityId": "63e2a7cddd4bf61e", "scanner": "scanner-primary", "fingerprint": "cb7a57a0412c7089", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f048efb098382352", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/flows/search-setup.ts:439"}, "properties": {"repobilityId": "d4a400a105ee8b81", "scanner": "scanner-primary", "fingerprint": "f048efb098382352", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5dd007938a2803a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/flows/channel-setup.ts:324"}, "properties": {"repobilityId": "ac26485b548daa3f", "scanner": "scanner-primary", "fingerprint": "c5dd007938a2803a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ee6aadb05a43602", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/process/command-queue.ts:117"}, "properties": {"repobilityId": "07f0b40cada1df65", "scanner": "scanner-primary", "fingerprint": "4ee6aadb05a43602", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-721d055eacbc73af", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/process/command-queue.test.ts:752"}, "properties": {"repobilityId": "7481060009fdfdfe", "scanner": "scanner-primary", "fingerprint": "721d055eacbc73af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34941a819e4df199", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/process/exec.ts:170"}, "properties": {"repobilityId": "f6d6145e3ac25d89", "scanner": "scanner-primary", "fingerprint": "34941a819e4df199", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c28e4a1c434e141b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/process/supervisor/adapters/child.ts:355"}, "properties": {"repobilityId": "c8866f00cc762879", "scanner": "scanner-primary", "fingerprint": "c28e4a1c434e141b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0488877d87979a5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routing/bound-account-read.ts:109"}, "properties": {"repobilityId": "9b99c4c0853f3389", "scanner": "scanner-primary", "fingerprint": "c0488877d87979a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-634ac0896e314eba", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/model-catalog/manifest-planner.test.ts:141"}, "properties": {"repobilityId": "d9020081c7b6e45d", "scanner": "scanner-primary", "fingerprint": "634ac0896e314eba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0a78196dcd3cfc8", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/model-catalog/provider-index/openclaw-provider-index.ts:4"}, "properties": {"repobilityId": "c93769d9ac69a18c", "scanner": "scanner-primary", "fingerprint": "e0a78196dcd3cfc8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9fa382dcaa7295fb", "level": "note", "message": {"text": "Legacy-named symbol `isLegacy` in src/context-engine/registry.ts:301"}, "properties": {"repobilityId": "c69e0d49223026bc", "scanner": "scanner-primary", "fingerprint": "9fa382dcaa7295fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-daae20e22cfb7cfd", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/config/zod-schema.agent-defaults.test.ts:82"}, "properties": {"repobilityId": "3380064e89facf45", "scanner": "scanner-primary", "fingerprint": "daae20e22cfb7cfd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e8adb90ae3776ba8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/config/io.audit.ts:49"}, "properties": {"repobilityId": "983b0760cc93fc1b", "scanner": "scanner-primary", "fingerprint": "e8adb90ae3776ba8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0666dcf70222a1c", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/config/group-policy.ts:344"}, "properties": {"repobilityId": "fd683fbac0d49ccf", "scanner": "scanner-primary", "fingerprint": "e0666dcf70222a1c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-484ddffed63e49aa", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/config/state-dir-dotenv.ts:33"}, "properties": {"repobilityId": "2f3bb1f9086cc0cb", "scanner": "scanner-primary", "fingerprint": "484ddffed63e49aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-01e09eb2f82de748", "level": "note", "message": {"text": "Legacy-named symbol `existingLegacy` in src/config/paths.ts:80"}, "properties": {"repobilityId": "e71ec73aba281a41", "scanner": "scanner-primary", "fingerprint": "01e09eb2f82de748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-25f5f479df6129cb", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/config/io.ts:2278"}, "properties": {"repobilityId": "e0a9ac10e81f3e24", "scanner": "scanner-primary", "fingerprint": "25f5f479df6129cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d13a23a57f961b9", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/config/redact-snapshot.ts:99"}, "properties": {"repobilityId": "d598a36eab5565eb", "scanner": "scanner-primary", "fingerprint": "2d13a23a57f961b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c131cb5b1a137c3b", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/config/agent-dirs.test.ts:12"}, "properties": {"repobilityId": "aad9bd7c9eb0a3c5", "scanner": "scanner-primary", "fingerprint": "c131cb5b1a137c3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-240c43dd1c947108", "level": "note", "message": {"text": "Legacy-named symbol `prod_v2` in src/config/state-dir-dotenv.test.ts:62"}, "properties": {"repobilityId": "072d3fc72c1caada", "scanner": "scanner-primary", "fingerprint": "240c43dd1c947108", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-527f7f58cadd88bf", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/config/sessions/transcript.ts:182"}, "properties": {"repobilityId": "4f27a6e974bd38e8", "scanner": "scanner-primary", "fingerprint": "527f7f58cadd88bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e82f68c7bf8ce3c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/config/sessions/store-load.ts:334"}, "properties": {"repobilityId": "b855f3a82665bbf9", "scanner": "scanner-primary", "fingerprint": "8e82f68c7bf8ce3c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8651e2a883413aad", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/config/sessions/transcript-stream.ts:7"}, "properties": {"repobilityId": "9a588e1481e16bbc", "scanner": "scanner-primary", "fingerprint": "8651e2a883413aad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e68cdc3d8c5b831a", "level": "note", "message": {"text": "Legacy-named symbol `rawLegacy` in src/config/sessions/store.skills-stripping.test.ts:136"}, "properties": {"repobilityId": "1eec71d2c0839590", "scanner": "scanner-primary", "fingerprint": "e68cdc3d8c5b831a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fa28b028762f1294", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/config/sessions/artifacts.ts:53"}, "properties": {"repobilityId": "9eb412706c441b61", "scanner": "scanner-primary", "fingerprint": "fa28b028762f1294", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72a2af1762cece48", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/tui/tui-session-actions.ts:521"}, "properties": {"repobilityId": "7805962d0f72df44", "scanner": "scanner-primary", "fingerprint": "72a2af1762cece48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31a1524ef2119c51", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/media/web-media.ts:241"}, "properties": {"repobilityId": "684c11627c11e13a", "scanner": "scanner-primary", "fingerprint": "31a1524ef2119c51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-899b6ba89f96ab8a", "level": "note", "message": {"text": "Legacy-named symbol `hasLegacy` in src/commands/doctor-state-migrations.test.ts:756"}, "properties": {"repobilityId": "139b607a82d6ba09", "scanner": "scanner-primary", "fingerprint": "899b6ba89f96ab8a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3e4ae5dd7b10d602", "level": "note", "message": {"text": "Legacy-named symbol `activeOrLegacy` in src/commands/doctor-gateway-services.ts:221"}, "properties": {"repobilityId": "37e16ee05d598576", "scanner": "scanner-primary", "fingerprint": "3e4ae5dd7b10d602", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-137cd374c6469f98", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/commands/sessions.acp-model-display.test.ts:169"}, "properties": {"repobilityId": "4cd46ee5436fc706", "scanner": "scanner-primary", "fingerprint": "137cd374c6469f98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f9519eb486cf7d7", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/commands/doctor-memory-search.ts:539"}, "properties": {"repobilityId": "9f9ccfbb9a55c524", "scanner": "scanner-primary", "fingerprint": "0f9519eb486cf7d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf0f24b05704eac4", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/commands/doctor-gateway-health.ts:151"}, "properties": {"repobilityId": "f741ae72b38fd028", "scanner": "scanner-primary", "fingerprint": "bf0f24b05704eac4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-491369ced179968e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/commands/channels.logs.test.ts:146"}, "properties": {"repobilityId": "d9d33cd3cc0c9c8c", "scanner": "scanner-primary", "fingerprint": "491369ced179968e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0f2cea71a499a70", "level": "note", "message": {"text": "Legacy-named symbol `removedLegacy` in src/commands/doctor-workspace.ts:170"}, "properties": {"repobilityId": "629cef825a82eeb5", "scanner": "scanner-primary", "fingerprint": "b0f2cea71a499a70", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bf9e6c919aea5185", "level": "note", "message": {"text": "Legacy-named symbol `removedLegacy` in src/commands/doctor-workspace.test.ts:80"}, "properties": {"repobilityId": "a313fcc0355c3daf", "scanner": "scanner-primary", "fingerprint": "bf9e6c919aea5185", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-058cbc5b54bd4cbc", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/commands/onboarding-plugin-install.ts:383"}, "properties": {"repobilityId": "e60fe9104c80ac47", "scanner": "scanner-primary", "fingerprint": "058cbc5b54bd4cbc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d4ad56e36c067d23", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/commands/sessions.acp-runtime-metadata.test.ts:138"}, "properties": {"repobilityId": "88c7a4eb53d0c97f", "scanner": "scanner-primary", "fingerprint": "d4ad56e36c067d23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea7c7568e08d5822", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/commands/chutes-oauth.test.ts:56"}, "properties": {"repobilityId": "34eb3a0ebe968353", "scanner": "scanner-primary", "fingerprint": "ea7c7568e08d5822", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bc01f2fd338c65bc", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/commands/sessions.kind-classification.test.ts:156"}, "properties": {"repobilityId": "7fc7446ffa401859", "scanner": "scanner-primary", "fingerprint": "bc01f2fd338c65bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a31003161637eaae", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/commands/doctor-memory-search.test.ts:668"}, "properties": {"repobilityId": "3011c69b0c6d5ce4", "scanner": "scanner-primary", "fingerprint": "a31003161637eaae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de1f7e508b315a1e", "level": "note", "message": {"text": "Legacy-named symbol `hasLegacy` in src/commands/doctor.e2e-harness.ts:214"}, "properties": {"repobilityId": "71272870c8910f86", "scanner": "scanner-primary", "fingerprint": "de1f7e508b315a1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8738952e6028cdbd", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/commands/agents.commands.list.ts:105"}, "properties": {"repobilityId": "79fd615687de0721", "scanner": "scanner-primary", "fingerprint": "8738952e6028cdbd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d309b5991ec6d51b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/commands/doctor/shared/config-flow-steps.ts:50"}, "properties": {"repobilityId": "739d8b2b9b30fb9d", "scanner": "scanner-primary", "fingerprint": "d309b5991ec6d51b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d815ec055697f75e", "level": "note", "message": {"text": "Legacy-named symbol `oldLegacy` in src/commands/doctor/shared/bundled-plugin-load-paths.ts:81"}, "properties": {"repobilityId": "d244d61eba72e36c", "scanner": "scanner-primary", "fingerprint": "d815ec055697f75e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-15e3a610ede79d92", "level": "note", "message": {"text": "Legacy-named symbol `nextLegacy` in src/commands/doctor/shared/legacy-x-search-migrate.ts:62"}, "properties": {"repobilityId": "ee9bdfbae4cc7c94", "scanner": "scanner-primary", "fingerprint": "15e3a610ede79d92", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-03d4322a3b677f2e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/commands/doctor/shared/missing-configured-plugin-install.ts:1539"}, "properties": {"repobilityId": "31f9482b5dc90942", "scanner": "scanner-primary", "fingerprint": "03d4322a3b677f2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0c0fbf4896fd833", "level": "note", "message": {"text": "Legacy-named symbol `normalizedLegacy` in src/commands/doctor/cron/store-migration.ts:582"}, "properties": {"repobilityId": "c16ec4d6e7eba7d2", "scanner": "scanner-primary", "fingerprint": "b0c0fbf4896fd833", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-34e9fa1c4e1cfe1a", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/commands/models/auth.ts:1019"}, "properties": {"repobilityId": "d322e77d36a326e6", "scanner": "scanner-primary", "fingerprint": "34e9fa1c4e1cfe1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f98ce75e6c4ff96", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/commands/channels/list.ts:219"}, "properties": {"repobilityId": "bd17ea7709b8dd44", "scanner": "scanner-primary", "fingerprint": "3f98ce75e6c4ff96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ae44628f090a1275", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cli/run-main-policy.ts:327"}, "properties": {"repobilityId": "04ff035281e32e3f", "scanner": "scanner-primary", "fingerprint": "ae44628f090a1275", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3e3f404c01ad169", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cli/secrets-cli.ts:246"}, "properties": {"repobilityId": "36c053603b6dc452", "scanner": "scanner-primary", "fingerprint": "a3e3f404c01ad169", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-749d045bbadb2a83", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/cli/tagline.test.ts:37"}, "properties": {"repobilityId": "7ec020ba3931cbec", "scanner": "scanner-primary", "fingerprint": "749d045bbadb2a83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4a90edcfad6c47a3", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/cli/wait.ts:3"}, "properties": {"repobilityId": "212dff6e22dc1c12", "scanner": "scanner-primary", "fingerprint": "4a90edcfad6c47a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5c60b309f104d72", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/cli/nodes-camera.test.ts:14"}, "properties": {"repobilityId": "76b091bfe2e70bfb", "scanner": "scanner-primary", "fingerprint": "a5c60b309f104d72", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-07078839d118c657", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cli/run-main.test.ts:624"}, "properties": {"repobilityId": "1d010fbac769a255", "scanner": "scanner-primary", "fingerprint": "07078839d118c657", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37836798a507a145", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cli/config-cli.test.ts:816"}, "properties": {"repobilityId": "537ddf117d5711bc", "scanner": "scanner-primary", "fingerprint": "37836798a507a145", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c8760d6f45915e6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cli/update-cli/update-command.test.ts:683"}, "properties": {"repobilityId": "98a02b1200a4bbb1", "scanner": "scanner-primary", "fingerprint": "5c8760d6f45915e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f91df1b743ebe481", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/cli/update-cli/post-core-plugin-convergence.ts:134"}, "properties": {"repobilityId": "5c435fabaf33e7f9", "scanner": "scanner-primary", "fingerprint": "f91df1b743ebe481", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92d958951466bbe0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cli/update-cli/update-command.ts:1884"}, "properties": {"repobilityId": "7780f83d0423d9ae", "scanner": "scanner-primary", "fingerprint": "92d958951466bbe0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb5cb30f1ca20495", "level": "none", "message": {"text": "Commented-code block (13 lines) in src/cli/gateway-cli/run-loop.ts:111"}, "properties": {"repobilityId": "d02c115ef9ce5110", "scanner": "scanner-primary", "fingerprint": "eb5cb30f1ca20495", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca422b0c42d56b89", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/sessions/user-turn-transcript.ts:300"}, "properties": {"repobilityId": "f3b3100ef62f6b7a", "scanner": "scanner-primary", "fingerprint": "ca422b0c42d56b89", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93df06d453314ea3", "level": "note", "message": {"text": "Legacy-named symbol `builtInLegacy` in src/sessions/session-chat-type-shared.ts:38"}, "properties": {"repobilityId": "e203c91b7a4e2d2b", "scanner": "scanner-primary", "fingerprint": "93df06d453314ea3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-17602754fcb96ed3", "level": "note", "message": {"text": "Legacy-named symbol `freshLegacy` in src/sessions/session-key-case-preservation.test.ts:399"}, "properties": {"repobilityId": "19318f808c3fee6c", "scanner": "scanner-primary", "fingerprint": "17602754fcb96ed3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3cf71ed5f2a42f22", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/utils/message-channel-constants.ts:5"}, "properties": {"repobilityId": "c1cee90ff61d8df3", "scanner": "scanner-primary", "fingerprint": "3cf71ed5f2a42f22", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf4f37039c231720", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/media-understanding/shared.ts:425"}, "properties": {"repobilityId": "b762c2deac64a7b4", "scanner": "scanner-primary", "fingerprint": "cf4f37039c231720", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d3c1c981a3b5547", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/media-understanding/runner.ts:319"}, "properties": {"repobilityId": "0bda8e98b4cb9249", "scanner": "scanner-primary", "fingerprint": "9d3c1c981a3b5547", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fae8de5672cbcd80", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/tasks/task-registry.ts:335"}, "properties": {"repobilityId": "1f69852b21cfe67d", "scanner": "scanner-primary", "fingerprint": "fae8de5672cbcd80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3267126dbbf69c92", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/tasks/task-registry.store.test.ts:821"}, "properties": {"repobilityId": "6d04641c18ff7ca9", "scanner": "scanner-primary", "fingerprint": "3267126dbbf69c92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c4b6e9bf41e82bb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/status/status-message.ts:612"}, "properties": {"repobilityId": "6eee1bccfd6976e5", "scanner": "scanner-primary", "fingerprint": "3c4b6e9bf41e82bb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-585bd7889e61e51b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/daemon/launchd-restart-handoff.ts:143"}, "properties": {"repobilityId": "ad5f993fbb833d75", "scanner": "scanner-primary", "fingerprint": "585bd7889e61e51b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d17ca1428673c95", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/daemon/schtasks.ts:126"}, "properties": {"repobilityId": "41ae650c6937467d", "scanner": "scanner-primary", "fingerprint": "9d17ca1428673c95", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf57e69330118394", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/daemon/systemd.ts:931"}, "properties": {"repobilityId": "596590e08cfe7f72", "scanner": "scanner-primary", "fingerprint": "bf57e69330118394", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25c4d195ee41219c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/daemon/program-args.ts:48"}, "properties": {"repobilityId": "f4f72f4a1a9615db", "scanner": "scanner-primary", "fingerprint": "25c4d195ee41219c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0ac09047f8baaf9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/openclaw-tools.update-plan.test.ts:232"}, "properties": {"repobilityId": "6c28c92af79d9a0f", "scanner": "scanner-primary", "fingerprint": "c0ac09047f8baaf9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9603dd9a1518155b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/cli-session.test.ts:288"}, "properties": {"repobilityId": "26181a25042f3fc6", "scanner": "scanner-primary", "fingerprint": "9603dd9a1518155b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55a71a3fc5706ad8", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/subagent-registry-lifecycle.ts:1259"}, "properties": {"repobilityId": "86d26ca7eaef6f9d", "scanner": "scanner-primary", "fingerprint": "55a71a3fc5706ad8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f110b6673413178", "level": "note", "message": {"text": "Legacy-named symbol `ToolExecuteArgsLegacy` in src/agents/agent-tool-definition-adapter.ts:46"}, "properties": {"repobilityId": "e0959ece1b7496b3", "scanner": "scanner-primary", "fingerprint": "3f110b6673413178", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dd8bb35d9ac3503f", "level": "note", "message": {"text": "Legacy-named symbol `isLegacy` in src/agents/subagent-registry.store.ts:131"}, "properties": {"repobilityId": "7b87cb12e59e5bd9", "scanner": "scanner-primary", "fingerprint": "dd8bb35d9ac3503f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-91094de1d5e5070b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/session-transcript-repair.ts:157"}, "properties": {"repobilityId": "929fca9b0ebcfe65", "scanner": "scanner-primary", "fingerprint": "91094de1d5e5070b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcae9540ee3f4fe6", "level": "note", "message": {"text": "Legacy-named symbol `req_legacy` in src/agents/provider-http-errors.test.ts:160"}, "properties": {"repobilityId": "5f2e23b78939cc8a", "scanner": "scanner-primary", "fingerprint": "fcae9540ee3f4fe6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fd9f01160096dd58", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/session-file-repair.ts:414"}, "properties": {"repobilityId": "708bc18f832d6e49", "scanner": "scanner-primary", "fingerprint": "fd9f01160096dd58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9862e6297dddee52", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/cli-credentials.ts:411"}, "properties": {"repobilityId": "68b127792c6cf476", "scanner": "scanner-primary", "fingerprint": "9862e6297dddee52", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8495caa0486770d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/openai-transport-stream.ts:1170"}, "properties": {"repobilityId": "0d653eea2ac83bc4", "scanner": "scanner-primary", "fingerprint": "a8495caa0486770d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d489caf57b546bfe", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/exec-approval-result.ts:31"}, "properties": {"repobilityId": "345ceb67846c5b68", "scanner": "scanner-primary", "fingerprint": "d489caf57b546bfe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-297338a16a92d22e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/cli-auth-epoch.ts:99"}, "properties": {"repobilityId": "f1bff14acaebd0d1", "scanner": "scanner-primary", "fingerprint": "297338a16a92d22e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec71348ea2b63d32", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/exec-approval-result.test.ts:35"}, "properties": {"repobilityId": "3231302f4a48c458", "scanner": "scanner-primary", "fingerprint": "ec71348ea2b63d32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6de312b7d69c7b8c", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/agents/bash-tools.exec.ts:1548"}, "properties": {"repobilityId": "496f1b480f81f1ac", "scanner": "scanner-primary", "fingerprint": "6de312b7d69c7b8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a720372b6b1393b2", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/spawn-requester-origin.ts:11"}, "properties": {"repobilityId": "0d4dfe195bd26843", "scanner": "scanner-primary", "fingerprint": "a720372b6b1393b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc41aa8f1e2d310a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/model-provider-auth.ts:134"}, "properties": {"repobilityId": "32032e41b1afc4e6", "scanner": "scanner-primary", "fingerprint": "fc41aa8f1e2d310a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f24b8f471bc0265b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/model-fallback.run-embedded.e2e.test.ts:729"}, "properties": {"repobilityId": "94c443f512d52a34", "scanner": "scanner-primary", "fingerprint": "f24b8f471bc0265b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a02c9136124ca1b", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/agents/auth-profiles.external-cli-scope.test.ts:59"}, "properties": {"repobilityId": "db4978a666af5077", "scanner": "scanner-primary", "fingerprint": "5a02c9136124ca1b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e730ce151dc2095b", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/agents/stream-message-shared.ts:80"}, "properties": {"repobilityId": "95c63b04b579a131", "scanner": "scanner-primary", "fingerprint": "e730ce151dc2095b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7da435202d5e1b85", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/bash-tools.exec-runtime.ts:738"}, "properties": {"repobilityId": "6397462bbb9ab706", "scanner": "scanner-primary", "fingerprint": "7da435202d5e1b85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70785b8a58a1e015", "level": "note", "message": {"text": "Legacy-named symbol `at_old` in src/agents/auth-profiles.chutes.test.ts:67"}, "properties": {"repobilityId": "ee51bcabd1079305", "scanner": "scanner-primary", "fingerprint": "70785b8a58a1e015", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a85bc13144d8c6e0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/subagent-announce-delivery.test.ts:841"}, "properties": {"repobilityId": "dbe885dad827b740", "scanner": "scanner-primary", "fingerprint": "a85bc13144d8c6e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6335f217c912871d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/agent-tools-parameter-schema.ts:763"}, "properties": {"repobilityId": "79a3e14b960e87e0", "scanner": "scanner-primary", "fingerprint": "6335f217c912871d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40baa6b74073f2df", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/context.ts:256"}, "properties": {"repobilityId": "451dfa43d8f24127", "scanner": "scanner-primary", "fingerprint": "40baa6b74073f2df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd905c4f0cf7119b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-subscribe.ts:488"}, "properties": {"repobilityId": "37f00e720c0a6f7f", "scanner": "scanner-primary", "fingerprint": "cd905c4f0cf7119b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9aef42311454983", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/model-auth.ts:996"}, "properties": {"repobilityId": "e8d1bc40072ba1a2", "scanner": "scanner-primary", "fingerprint": "a9aef42311454983", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad29c49543f961aa", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/subagent-announce.ts:414"}, "properties": {"repobilityId": "10a7db9f140bceb1", "scanner": "scanner-primary", "fingerprint": "ad29c49543f961aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dd93cecfac59473c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/tool-mutation.ts:106"}, "properties": {"repobilityId": "fb4b30fc47e16d70", "scanner": "scanner-primary", "fingerprint": "dd93cecfac59473c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06e59531d0f15a05", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/mcp-http-fetch.test.ts:99"}, "properties": {"repobilityId": "112052b3d4df3a89", "scanner": "scanner-primary", "fingerprint": "06e59531d0f15a05", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-830caaef7481dd4a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/subagent-registry-lifecycle.test.ts:1321"}, "properties": {"repobilityId": "78c20c327383f0f8", "scanner": "scanner-primary", "fingerprint": "830caaef7481dd4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-119146778074a66c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/subagent-spawn.ts:244"}, "properties": {"repobilityId": "744feb3a2be67ca5", "scanner": "scanner-primary", "fingerprint": "119146778074a66c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-989b1549d8a64073", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/tool-call-id.ts:455"}, "properties": {"repobilityId": "520c6012724a0673", "scanner": "scanner-primary", "fingerprint": "989b1549d8a64073", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46d68966b3a31ed9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/provider-headers.live.test.ts:28"}, "properties": {"repobilityId": "33bfe9bed7331092", "scanner": "scanner-primary", "fingerprint": "46d68966b3a31ed9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d13995dce53c153a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/agent-settings.test.ts:168"}, "properties": {"repobilityId": "eaa8be10706ac6ec", "scanner": "scanner-primary", "fingerprint": "d13995dce53c153a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fc06f32b374832a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/mcp-http-fetch.ts:20"}, "properties": {"repobilityId": "3be695c2db651d88", "scanner": "scanner-primary", "fingerprint": "2fc06f32b374832a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c1085a8d92ccc1b3", "level": "note", "message": {"text": "Legacy-named symbol `toolu_legacy` in src/agents/embedded-agent-runner.sanitize-session-history.test.ts:1204"}, "properties": {"repobilityId": "6f130708a8976635", "scanner": "scanner-primary", "fingerprint": "c1085a8d92ccc1b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ade16daa89db478f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/model-fallback.ts:1071"}, "properties": {"repobilityId": "f116a4f7887d88fe", "scanner": "scanner-primary", "fingerprint": "ade16daa89db478f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-97d782cae755c726", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/openai-transport-stream.test.ts:10372"}, "properties": {"repobilityId": "4a513976ef79091b", "scanner": "scanner-primary", "fingerprint": "97d782cae755c726", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67ce4555e974a1db", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/session-tool-result-guard.ts:756"}, "properties": {"repobilityId": "76f510840905c556", "scanner": "scanner-primary", "fingerprint": "67ce4555e974a1db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14e2ed2d10d5c1c3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/provider-local-service.test.ts:106"}, "properties": {"repobilityId": "75100022c947c3f1", "scanner": "scanner-primary", "fingerprint": "14e2ed2d10d5c1c3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c13b650390f7f71b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/agent-bundle-mcp-materialize.ts:25"}, "properties": {"repobilityId": "af3017f73979d1e7", "scanner": "scanner-primary", "fingerprint": "c13b650390f7f71b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83d56bb84a3b1d59", "level": "note", "message": {"text": "Legacy-named symbol `call_legacy` in src/agents/btw.test.ts:1246"}, "properties": {"repobilityId": "3df238fcc03ddf97", "scanner": "scanner-primary", "fingerprint": "83d56bb84a3b1d59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-065a46a4716217fa", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-subscribe.handlers.messages.ts:557"}, "properties": {"repobilityId": "b79d2db572adea0f", "scanner": "scanner-primary", "fingerprint": "065a46a4716217fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-58a0660d7d3f9f4c", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/agents/provider-attribution.ts:739"}, "properties": {"repobilityId": "0403d062f71b3898", "scanner": "scanner-primary", "fingerprint": "58a0660d7d3f9f4c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a8d485e4ee9ff026", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/agent-settings.ts:88"}, "properties": {"repobilityId": "a126df13038a699e", "scanner": "scanner-primary", "fingerprint": "a8d485e4ee9ff026", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1846000368ea6c23", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/acp-spawn.ts:909"}, "properties": {"repobilityId": "16de1875a22c0f98", "scanner": "scanner-primary", "fingerprint": "1846000368ea6c23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-466c67f369226c77", "level": "note", "message": {"text": "Legacy-named symbol `item_legacy` in src/agents/embedded-agent-subscribe.subscribe-embedded-agent-session.emits-block-replies-text-end-does-not.test.ts:211"}, "properties": {"repobilityId": "61f6c7c6ff40ddb2", "scanner": "scanner-primary", "fingerprint": "466c67f369226c77", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fa727c70c49b443f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/cli-runner.before-agent-reply-cron.test.ts:6"}, "properties": {"repobilityId": "d519143464b20a45", "scanner": "scanner-primary", "fingerprint": "fa727c70c49b443f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f772e887884c0c5a", "level": "note", "message": {"text": "Legacy-named symbol `at_old` in src/agents/chutes-oauth.flow.test.ts:22"}, "properties": {"repobilityId": "e8b4f72d5bc9a4f5", "scanner": "scanner-primary", "fingerprint": "f772e887884c0c5a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2df34b206fdce691", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/agents/agent-bundle-mcp-tools.request-boundary.test.ts:12"}, "properties": {"repobilityId": "e6952b871f5f2605", "scanner": "scanner-primary", "fingerprint": "2df34b206fdce691", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ebae1886fad33ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/shell-utils.ts:104"}, "properties": {"repobilityId": "3f78996941c0a033", "scanner": "scanner-primary", "fingerprint": "8ebae1886fad33ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6bd22f790bcdbf40", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/session-write-lock.test.ts:1144"}, "properties": {"repobilityId": "b675d872a6292cca", "scanner": "scanner-primary", "fingerprint": "6bd22f790bcdbf40", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3077d4485adad800", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/embedded-agent-runner-extraparams.live.test.ts:92"}, "properties": {"repobilityId": "7174c0b2d863a83d", "scanner": "scanner-primary", "fingerprint": "3077d4485adad800", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fed7d224669ad271", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/usage.ts:158"}, "properties": {"repobilityId": "be34f0cbdfdae447", "scanner": "scanner-primary", "fingerprint": "fed7d224669ad271", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d312962112c5948", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-helpers/provider-error-patterns.ts:38"}, "properties": {"repobilityId": "62ee91004b98f9f3", "scanner": "scanner-primary", "fingerprint": "7d312962112c5948", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bfc4f5997a965e7f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-helpers/openai.ts:495"}, "properties": {"repobilityId": "df8095589c19460c", "scanner": "scanner-primary", "fingerprint": "bfc4f5997a965e7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d755588a262d2fce", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-helpers/thinking.ts:42"}, "properties": {"repobilityId": "34849ed86bfd2047", "scanner": "scanner-primary", "fingerprint": "d755588a262d2fce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72fc3b0752ddb373", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-helpers/errors.ts:871"}, "properties": {"repobilityId": "4de15b8923f6acdd", "scanner": "scanner-primary", "fingerprint": "72fc3b0752ddb373", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-264a2c1d618a22c9", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/agents/cli-runner/session-history.test.ts:687"}, "properties": {"repobilityId": "0c4dc504ad4973ad", "scanner": "scanner-primary", "fingerprint": "264a2c1d618a22c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc33cc53fc5db7d7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/cli-runner/bundle-mcp-codex.ts:12"}, "properties": {"repobilityId": "95502de0474029b9", "scanner": "scanner-primary", "fingerprint": "fc33cc53fc5db7d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c4328fc0dfa03ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/sessions/model-resolver.ts:364"}, "properties": {"repobilityId": "3e663ca7f917da94", "scanner": "scanner-primary", "fingerprint": "1c4328fc0dfa03ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f834e9af3c0e7ab8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/sessions/auth-storage.test.ts:7"}, "properties": {"repobilityId": "04bc273d06dba7cd", "scanner": "scanner-primary", "fingerprint": "f834e9af3c0e7ab8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5bf93294e15ed34c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/sessions/session-manager.ts:1332"}, "properties": {"repobilityId": "e6e5f2e9458be6f1", "scanner": "scanner-primary", "fingerprint": "5bf93294e15ed34c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b8aa7618ba13da4", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/tools/sessions-send-tool.ts:577"}, "properties": {"repobilityId": "80d96d6c410ab00f", "scanner": "scanner-primary", "fingerprint": "1b8aa7618ba13da4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa76fbd048192d56", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/tools/pdf-native-providers.ts:119"}, "properties": {"repobilityId": "b9880e86df17a27e", "scanner": "scanner-primary", "fingerprint": "aa76fbd048192d56", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8babc007708d0d20", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/tools/image-tool.ts:882"}, "properties": {"repobilityId": "0b190312b76b9980", "scanner": "scanner-primary", "fingerprint": "8babc007708d0d20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-753f0fde3d350937", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/tools/nodes-tool-commands.ts:129"}, "properties": {"repobilityId": "a7967e1fbd332f30", "scanner": "scanner-primary", "fingerprint": "753f0fde3d350937", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d96c5c6d43ab96c4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/tools/cron-tool.ts:216"}, "properties": {"repobilityId": "ed044f19a5db1cb2", "scanner": "scanner-primary", "fingerprint": "d96c5c6d43ab96c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ca0b05dd3f4db46", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/agents/tools/video-generate-tool.ts:515"}, "properties": {"repobilityId": "9ad954df4f01a82c", "scanner": "scanner-primary", "fingerprint": "2ca0b05dd3f4db46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94e727a2ede4ede8", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/agents/tools/message-tool.ts:1234"}, "properties": {"repobilityId": "f5a9a6011a53bf23", "scanner": "scanner-primary", "fingerprint": "94e727a2ede4ede8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49890afd17f6e046", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/tools/image-tool.test.ts:513"}, "properties": {"repobilityId": "c235229d18d8b637", "scanner": "scanner-primary", "fingerprint": "49890afd17f6e046", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0f606657b554f178", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/agents/auth-profiles/oauth.mirror-refresh.test.ts:366"}, "properties": {"repobilityId": "d9ef79416658c09f", "scanner": "scanner-primary", "fingerprint": "0f606657b554f178", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-731fffa63671a719", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/auth-profiles/constants.ts:37"}, "properties": {"repobilityId": "d56c6ed2e7b15135", "scanner": "scanner-primary", "fingerprint": "731fffa63671a719", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52920d53bf62f158", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/auth-profiles/external-cli-sync.ts:56"}, "properties": {"repobilityId": "8b61a85e67d5b286", "scanner": "scanner-primary", "fingerprint": "52920d53bf62f158", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f654c0a8f98cfc0", "level": "note", "message": {"text": "Legacy-named symbol `nonLegacy` in src/agents/auth-profiles/repair.ts:83"}, "properties": {"repobilityId": "0ebe77d339039436", "scanner": "scanner-primary", "fingerprint": "5f654c0a8f98cfc0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-683594da3141b8d5", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/auth-profiles/oauth-refresh-queue.test.ts:126"}, "properties": {"repobilityId": "c8cd24e875ae35ce", "scanner": "scanner-primary", "fingerprint": "683594da3141b8d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bee25269afcf2fa9", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/auth-profiles/usage.ts:597"}, "properties": {"repobilityId": "a7162c892985fddc", "scanner": "scanner-primary", "fingerprint": "bee25269afcf2fa9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a1bd04a85d54f13d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/auth-profiles/usage.ts:245"}, "properties": {"repobilityId": "a3ab83152a7a3eed", "scanner": "scanner-primary", "fingerprint": "a1bd04a85d54f13d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4883843d0e594e48", "level": "note", "message": {"text": "Legacy-named symbol `call_old` in src/agents/agent-hooks/compaction-safeguard.test.ts:686"}, "properties": {"repobilityId": "c168ccc79f1104e5", "scanner": "scanner-primary", "fingerprint": "4883843d0e594e48", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a026afc3d283a37e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/agent-hooks/compaction-safeguard.ts:911"}, "properties": {"repobilityId": "a556a170cb7b85f7", "scanner": "scanner-primary", "fingerprint": "a026afc3d283a37e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f214f0c5d73a783", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/compact.queued.ts:376"}, "properties": {"repobilityId": "d07e29cf2ebe5725", "scanner": "scanner-primary", "fingerprint": "2f214f0c5d73a783", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f914883fc4bc05e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run.ts:1227"}, "properties": {"repobilityId": "f9193bc13e145026", "scanner": "scanner-primary", "fingerprint": "5f914883fc4bc05e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-490f088f693c1412", "level": "note", "message": {"text": "Legacy-named symbol `call_old` in src/agents/embedded-agent-runner/tool-result-context-guard.test.ts:304"}, "properties": {"repobilityId": "86c5fd7a1edb3b94", "scanner": "scanner-primary", "fingerprint": "490f088f693c1412", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dbec52cde93ee2b3", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/replay-history.ts:372"}, "properties": {"repobilityId": "8800cf5b2bc66a61", "scanner": "scanner-primary", "fingerprint": "dbec52cde93ee2b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e60d193c1475b8d2", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/agents/embedded-agent-runner/stream-resolution.ts:181"}, "properties": {"repobilityId": "bd3b6c2279bef649", "scanner": "scanner-primary", "fingerprint": "e60d193c1475b8d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b80bed7b15ade415", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/effective-tool-policy.ts:37"}, "properties": {"repobilityId": "38c3e9c7c723d65a", "scanner": "scanner-primary", "fingerprint": "b80bed7b15ade415", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d160820dca5516a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/replay-history.test.ts:258"}, "properties": {"repobilityId": "ced6b7ac711dd8b6", "scanner": "scanner-primary", "fingerprint": "5d160820dca5516a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17a45ea085e26711", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/model.ts:796"}, "properties": {"repobilityId": "54af3a6f22e7a0a5", "scanner": "scanner-primary", "fingerprint": "17a45ea085e26711", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75bf246f2e4a7df3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/stream-resolution.test.ts:16"}, "properties": {"repobilityId": "14a4127107262044", "scanner": "scanner-primary", "fingerprint": "75bf246f2e4a7df3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc754054f38cb9e6", "level": "note", "message": {"text": "Legacy-named symbol `stale_sig_old` in src/agents/embedded-agent-runner/compaction-successor-transcript.test.ts:532"}, "properties": {"repobilityId": "faf3c919c15cab8d", "scanner": "scanner-primary", "fingerprint": "dc754054f38cb9e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b9cc44fcd96604e4", "level": "note", "message": {"text": "Legacy-named symbol `sig_old` in src/agents/embedded-agent-runner/thinking.test.ts:136"}, "properties": {"repobilityId": "0e7315290a8e6619", "scanner": "scanner-primary", "fingerprint": "b9cc44fcd96604e4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-99f755cc36b8a75c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/compact.ts:922"}, "properties": {"repobilityId": "8e8940e302e39daf", "scanner": "scanner-primary", "fingerprint": "99f755cc36b8a75c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-744f2b5732c8c568", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/extra-params.ts:840"}, "properties": {"repobilityId": "214ea89d4b29a645", "scanner": "scanner-primary", "fingerprint": "744f2b5732c8c568", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53885dd39a1caea9", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/prompt-cache-retention.ts:36"}, "properties": {"repobilityId": "76fff1ae4ce15368", "scanner": "scanner-primary", "fingerprint": "53885dd39a1caea9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53afb69e890866ed", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/agents/embedded-agent-runner/openrouter-model-capabilities.ts:10"}, "properties": {"repobilityId": "8dfafd380c34775a", "scanner": "scanner-primary", "fingerprint": "53afb69e890866ed", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cb5d38a04ef71690", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.ts:2751"}, "properties": {"repobilityId": "8740a8fc067bc1a0", "scanner": "scanner-primary", "fingerprint": "cb5d38a04ef71690", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e39e47a4c617dc0", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run/images.ts:444"}, "properties": {"repobilityId": "be1512ac8c1d155f", "scanner": "scanner-primary", "fingerprint": "1e39e47a4c617dc0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2d3c41579c2f83d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/llm-idle-timeout.test.ts:220"}, "properties": {"repobilityId": "4219efdcafa68120", "scanner": "scanner-primary", "fingerprint": "b2d3c41579c2f83d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a470dde436d15463", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.media-hint-cache-boundary.test.ts:1"}, "properties": {"repobilityId": "c5630f3f1135b66c", "scanner": "scanner-primary", "fingerprint": "a470dde436d15463", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2843ff3b7fa1df61", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/agents/embedded-agent-runner/run/auth-profile-failure-policy.ts:19"}, "properties": {"repobilityId": "b3aa0173b7e6929d", "scanner": "scanner-primary", "fingerprint": "2843ff3b7fa1df61", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8810529139a39c66", "level": "note", "message": {"text": "Legacy-named symbol `nOld` in src/agents/embedded-agent-runner/run/attempt.llm-boundary.test.ts:82"}, "properties": {"repobilityId": "1749cdfa205cd946", "scanner": "scanner-primary", "fingerprint": "8810529139a39c66", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d6b1e6942b6528d9", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run/llm-idle-timeout.ts:66"}, "properties": {"repobilityId": "74ca3f144f3ef8cc", "scanner": "scanner-primary", "fingerprint": "d6b1e6942b6528d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bfa219c3455d45f2", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.model-diagnostic-events.ts:222"}, "properties": {"repobilityId": "d9c92b7140b7525d", "scanner": "scanner-primary", "fingerprint": "bfa219c3455d45f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d7510f72e73b9e7", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/agents/embedded-agent-runner/run/attempt.run-decisions.ts:53"}, "properties": {"repobilityId": "db74ab71169037b7", "scanner": "scanner-primary", "fingerprint": "1d7510f72e73b9e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-769b61e3bb866b81", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/run/idle-timeout-breaker.test.ts:10"}, "properties": {"repobilityId": "e296e00d727564ca", "scanner": "scanner-primary", "fingerprint": "769b61e3bb866b81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7cc2741822f629b9", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agents/embedded-agent-runner/run/auth-controller.ts:377"}, "properties": {"repobilityId": "82ae8eea9decf2da", "scanner": "scanner-primary", "fingerprint": "7cc2741822f629b9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b793db8b67e5510", "level": "note", "message": {"text": "Legacy-named symbol `toolu_legacy` in src/agents/embedded-agent-runner/run/attempt.test.ts:1712"}, "properties": {"repobilityId": "17ee36021ae3e341", "scanner": "scanner-primary", "fingerprint": "2b793db8b67e5510", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f93526b1c7533843", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/incomplete-turn.ts:114"}, "properties": {"repobilityId": "730adc8fe582a06e", "scanner": "scanner-primary", "fingerprint": "f93526b1c7533843", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e266a33df4323d9f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/embedded-agent-runner/run/attempt.llm-boundary.ts:465"}, "properties": {"repobilityId": "3ab3d09cdf49ca06", "scanner": "scanner-primary", "fingerprint": "e266a33df4323d9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a29468175dfe6dc", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agents/embedded-agent-runner/run/attempt.prompt-helpers.ts:66"}, "properties": {"repobilityId": "b2ac2f17f4d744fc", "scanner": "scanner-primary", "fingerprint": "0a29468175dfe6dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ec87dd2c8c3d6a4", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/command/attempt-execution.helpers.ts:283"}, "properties": {"repobilityId": "883db4822e1b54e1", "scanner": "scanner-primary", "fingerprint": "6ec87dd2c8c3d6a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5fdf764f8c80619d", "level": "note", "message": {"text": "Legacy-named symbol `toolu_old` in src/agents/command/attempt-execution.test.ts:928"}, "properties": {"repobilityId": "34f81e64b2b96251", "scanner": "scanner-primary", "fingerprint": "5fdf764f8c80619d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b1c89709504fafef", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/harness/context-engine-lifecycle.test.ts:120"}, "properties": {"repobilityId": "efcd21db95a08207", "scanner": "scanner-primary", "fingerprint": "b1c89709504fafef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25a2198d99e9ff30", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/agents/harness/native-hook-relay.ts:919"}, "properties": {"repobilityId": "b8c4e7c1c8d5bfc1", "scanner": "scanner-primary", "fingerprint": "25a2198d99e9ff30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b59dd21750b9629", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/test-utils/vitest-mock-fn.ts:1"}, "properties": {"repobilityId": "a4a2770683728578", "scanner": "scanner-primary", "fingerprint": "7b59dd21750b9629", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-326807d4d9aeadd7", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/cron/active-jobs-manual-run.test.ts:1"}, "properties": {"repobilityId": "cbcc61ebeccaddd0", "scanner": "scanner-primary", "fingerprint": "326807d4d9aeadd7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d15e07aa1fb44fe", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/cron/retry-hint.ts:10"}, "properties": {"repobilityId": "a4797243a31ca2de", "scanner": "scanner-primary", "fingerprint": "2d15e07aa1fb44fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c2d60c4e97ea293", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cron/isolated-agent.run-timeout-override.test.ts:7"}, "properties": {"repobilityId": "fecd037b19c3dec8", "scanner": "scanner-primary", "fingerprint": "0c2d60c4e97ea293", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70b55fa4ffa4c324", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/cron/isolated-agent/run.ts:769"}, "properties": {"repobilityId": "60b6984637ed0063", "scanner": "scanner-primary", "fingerprint": "70b55fa4ffa4c324", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff878264507708ac", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cron/isolated-agent/delivery-dispatch.ts:1125"}, "properties": {"repobilityId": "6990d04ad0f93f15", "scanner": "scanner-primary", "fingerprint": "ff878264507708ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b995ed52498fc737", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/cron/isolated-agent/helpers.ts:305"}, "properties": {"repobilityId": "aa5074d2f2187627", "scanner": "scanner-primary", "fingerprint": "b995ed52498fc737", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca9ff730013cbdcb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cron/service/wake-origin.test.ts:1"}, "properties": {"repobilityId": "e151bcfca19870a6", "scanner": "scanner-primary", "fingerprint": "ca9ff730013cbdcb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cdb7d42af62645a1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cron/service/wake.ts:38"}, "properties": {"repobilityId": "5edfc6692ecdc8f8", "scanner": "scanner-primary", "fingerprint": "cdb7d42af62645a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8aa02cfafaae4ef5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/cron/service/wake-origin-delivery.test.ts:1"}, "properties": {"repobilityId": "5e6a967f1c3a4bc8", "scanner": "scanner-primary", "fingerprint": "8aa02cfafaae4ef5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52d2673e2f8a3999", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/cron/service/timer.ts:791"}, "properties": {"repobilityId": "ddd8693931d33da7", "scanner": "scanner-primary", "fingerprint": "52d2673e2f8a3999", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-07f563f1474d4c78", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/hooks/bundled/session-memory/handler.test.ts:777"}, "properties": {"repobilityId": "a66a2c76d1b44883", "scanner": "scanner-primary", "fingerprint": "07f563f1474d4c78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f56b09946d24716b", "level": "note", "message": {"text": "Legacy-named symbol `deletedLegacy` in src/secrets/apply.ts:368"}, "properties": {"repobilityId": "eee9fc3922c08a4a", "scanner": "scanner-primary", "fingerprint": "f56b09946d24716b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-65440e078e5b97e0", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/logging/diagnostic-run-activity.ts:500"}, "properties": {"repobilityId": "fb30ad97777c8e1d", "scanner": "scanner-primary", "fingerprint": "65440e078e5b97e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-419937c54d4567e0", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/logging/console.ts:191"}, "properties": {"repobilityId": "7fc5f33e3a5d08c3", "scanner": "scanner-primary", "fingerprint": "419937c54d4567e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9525a14ad5f08454", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/logging/diagnostic.test.ts:1573"}, "properties": {"repobilityId": "e688268291969bcf", "scanner": "scanner-primary", "fingerprint": "9525a14ad5f08454", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-65d5167dcc2475d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/logging/redact.ts:268"}, "properties": {"repobilityId": "27087014bbafa4f5", "scanner": "scanner-primary", "fingerprint": "65d5167dcc2475d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6dad4602a1ad652e", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/channels/bundled-channel-catalog-read.test.ts:7"}, "properties": {"repobilityId": "b29cca580aa3dc4f", "scanner": "scanner-primary", "fingerprint": "6dad4602a1ad652e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cbad8239f8c67bf1", "level": "note", "message": {"text": "Legacy-named symbol `readCanonicalOrLegacy` in src/channels/plugins/dm-access.ts:142"}, "properties": {"repobilityId": "ff70422416a80409", "scanner": "scanner-primary", "fingerprint": "cbad8239f8c67bf1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9234448a76d1e16c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/restart-stale-pids.test.ts:4"}, "properties": {"repobilityId": "1642d21118e09413", "scanner": "scanner-primary", "fingerprint": "9234448a76d1e16c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10998fd65466f2b4", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/infra/approval-handler-runtime.ts:530"}, "properties": {"repobilityId": "c29c70ee28da8a82", "scanner": "scanner-primary", "fingerprint": "10998fd65466f2b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e31b5f84edc5e308", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/infra/exec-command-resolution.ts:305"}, "properties": {"repobilityId": "4403ec387db272b6", "scanner": "scanner-primary", "fingerprint": "e31b5f84edc5e308", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa102f5cb0dacfa7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/infra/heartbeat-runner.ts:699"}, "properties": {"repobilityId": "6781b24901e99585", "scanner": "scanner-primary", "fingerprint": "fa102f5cb0dacfa7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a93530c91691880", "level": "note", "message": {"text": "Legacy-named symbol `nodeOld` in src/infra/runtime-guard.test.ts:45"}, "properties": {"repobilityId": "a9dd6a4a11ea19e8", "scanner": "scanner-primary", "fingerprint": "6a93530c91691880", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d4caf7124ff0029e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/infra/retry.ts:87"}, "properties": {"repobilityId": "4b5279abd61c3e36", "scanner": "scanner-primary", "fingerprint": "d4caf7124ff0029e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9e1d846c03db801", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/infra/restart-stale-pids.ts:99"}, "properties": {"repobilityId": "6287bacd35c58ea0", "scanner": "scanner-primary", "fingerprint": "b9e1d846c03db801", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9299913f10d6bd76", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/infra/exec-approvals-analysis.test.ts:423"}, "properties": {"repobilityId": "7fd35bf66c9de451", "scanner": "scanner-primary", "fingerprint": "9299913f10d6bd76", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61522688fef4556d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/infra/tailscale.ts:457"}, "properties": {"repobilityId": "0443547fc5f6856e", "scanner": "scanner-primary", "fingerprint": "61522688fef4556d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2429aa8674ac523", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/infra/heartbeat-cooldown.ts:3"}, "properties": {"repobilityId": "0b02911b697cc8b5", "scanner": "scanner-primary", "fingerprint": "a2429aa8674ac523", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86a3c92a8c090f97", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/infra/backup-create.ts:129"}, "properties": {"repobilityId": "939d17cec8bf57b6", "scanner": "scanner-primary", "fingerprint": "86a3c92a8c090f97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e55b603dc5e60400", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/session-cost-usage.test.ts:2285"}, "properties": {"repobilityId": "4682ffa9d2563f81", "scanner": "scanner-primary", "fingerprint": "e55b603dc5e60400", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-221b9911386dc040", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/exec-approval-command-display.test.ts:70"}, "properties": {"repobilityId": "15ff4a1d2beb3198", "scanner": "scanner-primary", "fingerprint": "221b9911386dc040", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93a9d4b8149759a5", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/infra/heartbeat-runner.scheduler.test.ts:664"}, "properties": {"repobilityId": "17eccf0ad43c594a", "scanner": "scanner-primary", "fingerprint": "93a9d4b8149759a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0257bc6ad124121d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/infra/exec-approvals-analysis.ts:438"}, "properties": {"repobilityId": "faa05399497ce5cc", "scanner": "scanner-primary", "fingerprint": "0257bc6ad124121d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-127b601afc6e11c9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/install-package-dir.ts:267"}, "properties": {"repobilityId": "8d7920d0637bd793", "scanner": "scanner-primary", "fingerprint": "127b601afc6e11c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76a9eafbe7977b98", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/push-apns.relay.ts:229"}, "properties": {"repobilityId": "b157369cc6cc8fb1", "scanner": "scanner-primary", "fingerprint": "76a9eafbe7977b98", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0e0f40388c8391a5", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/infra/exec-approval-command-display.ts:108"}, "properties": {"repobilityId": "09de35c2934bd5d6", "scanner": "scanner-primary", "fingerprint": "0e0f40388c8391a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f296ecd2d868930", "level": "note", "message": {"text": "Legacy-named symbol `hasLegacy` in src/infra/state-migrations.test.ts:199"}, "properties": {"repobilityId": "48657081a75d2e6b", "scanner": "scanner-primary", "fingerprint": "0f296ecd2d868930", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5653534e5f926d78", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/infra/agent-events.ts:252"}, "properties": {"repobilityId": "264ef82346d17c7f", "scanner": "scanner-primary", "fingerprint": "5653534e5f926d78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ff46074e41a21ad", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/infra/session-cost-usage.ts:1043"}, "properties": {"repobilityId": "206ffa9a32205e53", "scanner": "scanner-primary", "fingerprint": "5ff46074e41a21ad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2e30bfe3f045bd8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/retry.retry-after-lower-bound.test.ts:10"}, "properties": {"repobilityId": "707dc797f0116027", "scanner": "scanner-primary", "fingerprint": "e2e30bfe3f045bd8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80fd8b7b3f67d3f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/tmp-openclaw-dir.test.ts:528"}, "properties": {"repobilityId": "521fa573f60fba9b", "scanner": "scanner-primary", "fingerprint": "80fd8b7b3f67d3f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7eeb2ada119dc59d", "level": "note", "message": {"text": "Legacy-named symbol `hasLegacy` in src/infra/state-migrations.ts:94"}, "properties": {"repobilityId": "4ac218659fcd8b61", "scanner": "scanner-primary", "fingerprint": "7eeb2ada119dc59d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-24bf2b61d51a0972", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/state-migrations.ts:1810"}, "properties": {"repobilityId": "006a5bccdbe60020", "scanner": "scanner-primary", "fingerprint": "24bf2b61d51a0972", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a38e046b98b3057", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/net/runtime-fetch.ts:120"}, "properties": {"repobilityId": "b192f3feebb7b1d3", "scanner": "scanner-primary", "fingerprint": "1a38e046b98b3057", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bd92415fc692e350", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/net/fetch-guard.ts:658"}, "properties": {"repobilityId": "2993490f66433dc6", "scanner": "scanner-primary", "fingerprint": "bd92415fc692e350", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2d0b89aa05184fa4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/infra/net/fetch-guard.ssrf.test.ts:356"}, "properties": {"repobilityId": "8b9b7dcfb270ada1", "scanner": "scanner-primary", "fingerprint": "2d0b89aa05184fa4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e8e29a261fb0df4e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/outbound/message-action-runner.send-validation.test.ts:369"}, "properties": {"repobilityId": "334dec66dcbf778f", "scanner": "scanner-primary", "fingerprint": "e8e29a261fb0df4e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6971e0c75de434f", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/infra/outbound/deliver.ts:1020"}, "properties": {"repobilityId": "6f7f1ce69a77ae13", "scanner": "scanner-primary", "fingerprint": "e6971e0c75de434f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1b08df8d0a9667c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/outbound/delivery-queue.reconnect-drain.test.ts:467"}, "properties": {"repobilityId": "5d068ef6f8445bf9", "scanner": "scanner-primary", "fingerprint": "b1b08df8d0a9667c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dabc6b7b29ca902f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/outbound/targets.ts:120"}, "properties": {"repobilityId": "2933cc89b4af1d15", "scanner": "scanner-primary", "fingerprint": "dabc6b7b29ca902f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d7fbcdfc72932b6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/outbound/message-action-params.test.ts:538"}, "properties": {"repobilityId": "16a03018003eeef1", "scanner": "scanner-primary", "fingerprint": "1d7fbcdfc72932b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a54903e5b8d7efc", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/infra/outbound/channel-selection.ts:56"}, "properties": {"repobilityId": "46a060d3309808d3", "scanner": "scanner-primary", "fingerprint": "5a54903e5b8d7efc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e6b80deb2158420", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/infra/outbound/deliver.test.ts:2965"}, "properties": {"repobilityId": "2bcc6dcd8923e148", "scanner": "scanner-primary", "fingerprint": "0e6b80deb2158420", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4af7a2961fbd5a59", "level": "note", "message": {"text": "Legacy-named symbol `expectedLegacy` in src/pairing/pairing-store.test.ts:260"}, "properties": {"repobilityId": "7e885ea2e2cc22d8", "scanner": "scanner-primary", "fingerprint": "4af7a2961fbd5a59", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c7381b279b599a1a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/control-ui.http.test.ts:926"}, "properties": {"repobilityId": "1b03ad9911899dcd", "scanner": "scanner-primary", "fingerprint": "c7381b279b599a1a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7eef939020e782b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/server-aux-handlers.test.ts:186"}, "properties": {"repobilityId": "8c917dd5af397ebb", "scanner": "scanner-primary", "fingerprint": "f7eef939020e782b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c56fb820fb2d378", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/server.hooks.test.ts:61"}, "properties": {"repobilityId": "5f2b1bcb34ebe41c", "scanner": "scanner-primary", "fingerprint": "2c56fb820fb2d378", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f4e422032b982b97", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/gateway/chat-attachments.ts:336"}, "properties": {"repobilityId": "54f07572992eafe6", "scanner": "scanner-primary", "fingerprint": "f4e422032b982b97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-574c3318b115bc90", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/node-invoke-system-run-approval.ts:166"}, "properties": {"repobilityId": "dd9622a880d48b40", "scanner": "scanner-primary", "fingerprint": "574c3318b115bc90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a8dac85d34f4f00", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/gateway/server-maintenance.test.ts:502"}, "properties": {"repobilityId": "2b0083f2b122f16f", "scanner": "scanner-primary", "fingerprint": "3a8dac85d34f4f00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eea470efa5871bce", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/chat-abort.ts:223"}, "properties": {"repobilityId": "27f79aac24801802", "scanner": "scanner-primary", "fingerprint": "eea470efa5871bce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7c73bce7908dd3b", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/gateway/chat-attachments.test.ts:220"}, "properties": {"repobilityId": "38a78cf80bd03ad4", "scanner": "scanner-primary", "fingerprint": "b7c73bce7908dd3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-921b1b98b54d84a2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/control-ui-assistant-media.e2e.test.ts:29"}, "properties": {"repobilityId": "772f5c5c7190584a", "scanner": "scanner-primary", "fingerprint": "921b1b98b54d84a2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-952d2c4d50b15fab", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/sessions-history-http.ts:290"}, "properties": {"repobilityId": "a8b3157421118188", "scanner": "scanner-primary", "fingerprint": "952d2c4d50b15fab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-267f6178d4d3bd96", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/active-sessions-shutdown-tracker.ts:5"}, "properties": {"repobilityId": "23edb367e7bb0301", "scanner": "scanner-primary", "fingerprint": "267f6178d4d3bd96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a292303bb551079f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server-chat.ts:315"}, "properties": {"repobilityId": "9ec443cccc5656e7", "scanner": "scanner-primary", "fingerprint": "a292303bb551079f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-979b87f7e4fb4bf2", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/gateway/session-transcript-files.fs.ts:136"}, "properties": {"repobilityId": "fb0f9208736ec6a9", "scanner": "scanner-primary", "fingerprint": "979b87f7e4fb4bf2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5eb0279c96631f92", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/openai-tool-choice.ts:1"}, "properties": {"repobilityId": "d48f9bfba6827664", "scanner": "scanner-primary", "fingerprint": "5eb0279c96631f92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f73dd5816f463044", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/gateway/server-cron.test.ts:781"}, "properties": {"repobilityId": "d6adc1150fd773c6", "scanner": "scanner-primary", "fingerprint": "f73dd5816f463044", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8720318bfe9e255b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/openresponses-http.test.ts:1340"}, "properties": {"repobilityId": "1be1401d54e08d08", "scanner": "scanner-primary", "fingerprint": "8720318bfe9e255b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78d067e081a57d1b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/openresponses-http.test.ts:104"}, "properties": {"repobilityId": "bc6b8b67195fbffb", "scanner": "scanner-primary", "fingerprint": "78d067e081a57d1b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dbcffbfe88771031", "level": "note", "message": {"text": "Legacy-named symbol `anthropicApiKeyOld` in src/gateway/gateway-cli-backend.live-helpers.ts:64"}, "properties": {"repobilityId": "22c4b4e5f884e842", "scanner": "scanner-primary", "fingerprint": "dbcffbfe88771031", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b9e782d7071345f7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server-aux-handlers.ts:181"}, "properties": {"repobilityId": "1154b247334bb350", "scanner": "scanner-primary", "fingerprint": "b9e782d7071345f7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aec11f88304b88ac", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/gateway-codex-harness.live.test.ts:987"}, "properties": {"repobilityId": "718c63b112194494", "scanner": "scanner-primary", "fingerprint": "aec11f88304b88ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8780c0af38369b9e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/openresponses-http.ts:744"}, "properties": {"repobilityId": "6d6b9f289415b280", "scanner": "scanner-primary", "fingerprint": "8780c0af38369b9e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e47cb35dea7413c", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/gateway/boot.ts:54"}, "properties": {"repobilityId": "b4c913aae6a307b2", "scanner": "scanner-primary", "fingerprint": "5e47cb35dea7413c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4dc28baabb2f3ff3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/openai-http.test.ts:80"}, "properties": {"repobilityId": "966d3b18bfdabd3f", "scanner": "scanner-primary", "fingerprint": "4dc28baabb2f3ff3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-86700bfba02cea28", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/auth-rate-limit.ts:46"}, "properties": {"repobilityId": "6a5c093c8d4c29af", "scanner": "scanner-primary", "fingerprint": "86700bfba02cea28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73e1b44d8a3b0b0d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/models-http.test.ts:31"}, "properties": {"repobilityId": "66217a42614b01bd", "scanner": "scanner-primary", "fingerprint": "73e1b44d8a3b0b0d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ee53db4282c262d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/server-node-events.ts:740"}, "properties": {"repobilityId": "9dcf3a3c3a16cc8b", "scanner": "scanner-primary", "fingerprint": "1ee53db4282c262d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3849d3c4197ea6c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/session-reset-service.ts:223"}, "properties": {"repobilityId": "cfdf078f9a6ded95", "scanner": "scanner-primary", "fingerprint": "e3849d3c4197ea6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7f999c79ddf8f01", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/embeddings-http.test.ts:156"}, "properties": {"repobilityId": "25d4a5c82bec7826", "scanner": "scanner-primary", "fingerprint": "f7f999c79ddf8f01", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b72b587369fc0d8c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/tools-invoke-http.test.ts:319"}, "properties": {"repobilityId": "130cfab1bd72a549", "scanner": "scanner-primary", "fingerprint": "b72b587369fc0d8c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b999d5940fc40b6e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/control-ui.ts:838"}, "properties": {"repobilityId": "ec47dbb0baf820cc", "scanner": "scanner-primary", "fingerprint": "b999d5940fc40b6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca49841bc7b42e09", "level": "note", "message": {"text": "Legacy-named symbol `agentCheckLegacy` in src/gateway/sessions-resolve.ts:175"}, "properties": {"repobilityId": "21d2f8d340aee382", "scanner": "scanner-primary", "fingerprint": "ca49841bc7b42e09", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2295daff24d61ad6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/session-utils.perf.test.ts:76"}, "properties": {"repobilityId": "d48f2d2b9df19225", "scanner": "scanner-primary", "fingerprint": "2295daff24d61ad6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06825223dd5d6918", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/tools-invoke-http.cron-regression.test.ts:124"}, "properties": {"repobilityId": "f0c643f9e502656b", "scanner": "scanner-primary", "fingerprint": "06825223dd5d6918", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1e0da295742849e1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/server.control-ui-root.test.ts:40"}, "properties": {"repobilityId": "9732d442ccf9828a", "scanner": "scanner-primary", "fingerprint": "1e0da295742849e1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-95bb41682261b47e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/drain-active-sessions-for-shutdown.test.ts:6"}, "properties": {"repobilityId": "2ee82a58b1abe392", "scanner": "scanner-primary", "fingerprint": "95bb41682261b47e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab467e083829f785", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server.talk-config.test.ts:356"}, "properties": {"repobilityId": "95eecac11d56887e", "scanner": "scanner-primary", "fingerprint": "ab467e083829f785", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-13ee24c1175f977e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/session-kill-http.test.ts:116"}, "properties": {"repobilityId": "6ae9a515e7af9b47", "scanner": "scanner-primary", "fingerprint": "13ee24c1175f977e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-96f00514379e89ac", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/test-helpers.speech.ts:35"}, "properties": {"repobilityId": "6db412d5f655a652", "scanner": "scanner-primary", "fingerprint": "96f00514379e89ac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e4fe29a28d5590d9", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/gateway/server-cron.ts:553"}, "properties": {"repobilityId": "d160d7abe058dd08", "scanner": "scanner-primary", "fingerprint": "e4fe29a28d5590d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3dab08856e38852e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/gateway/mcp-http.test.ts:122"}, "properties": {"repobilityId": "04a3999ee43b2695", "scanner": "scanner-primary", "fingerprint": "3dab08856e38852e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-72f689c4f18fe465", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/gateway/mcp-http.request.ts:95"}, "properties": {"repobilityId": "4d450568a092b1c1", "scanner": "scanner-primary", "fingerprint": "72f689c4f18fe465", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-749b67b393145dc5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/chat.directive-tags.test.ts:4664"}, "properties": {"repobilityId": "73f7c9400597ae4f", "scanner": "scanner-primary", "fingerprint": "749b67b393145dc5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c33d77004bf2a78", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/gateway/server-methods/nodes.wake-leak.test.ts:1"}, "properties": {"repobilityId": "4937a338a41512c2", "scanner": "scanner-primary", "fingerprint": "5c33d77004bf2a78", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6851552b98f4150", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/server-methods/agent.test.ts:1486"}, "properties": {"repobilityId": "394f9b3e538732a6", "scanner": "scanner-primary", "fingerprint": "b6851552b98f4150", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7e4ce42dff865ab", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/usage.cost-usage-cache.test.ts:1"}, "properties": {"repobilityId": "8b157c9a0e175390", "scanner": "scanner-primary", "fingerprint": "d7e4ce42dff865ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5fbbb7600b28ae54", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/models-auth-status.ts:110"}, "properties": {"repobilityId": "1d42612d796f4416", "scanner": "scanner-primary", "fingerprint": "5fbbb7600b28ae54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9546a9b0664ea8cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/nodes.ts:504"}, "properties": {"repobilityId": "a68c85ce830d88a0", "scanner": "scanner-primary", "fingerprint": "9546a9b0664ea8cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b77de4e73f8b58cd", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/server-methods/talk.ts:439"}, "properties": {"repobilityId": "4385699eaef749a6", "scanner": "scanner-primary", "fingerprint": "b77de4e73f8b58cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abdd270a21db6ef3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/chat.ts:1244"}, "properties": {"repobilityId": "acd31aeee133bd94", "scanner": "scanner-primary", "fingerprint": "abdd270a21db6ef3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1da7870dcb2b577", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/sessions.ts:2000"}, "properties": {"repobilityId": "f507f36f9e5b9c9f", "scanner": "scanner-primary", "fingerprint": "b1da7870dcb2b577", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9f9fa6ca5615c47", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server-methods/cron.ts:259"}, "properties": {"repobilityId": "759992a156350e51", "scanner": "scanner-primary", "fingerprint": "a9f9fa6ca5615c47", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-74e49827755b3249", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/gateway/server-methods/talk.test.ts:1839"}, "properties": {"repobilityId": "4e2831ef79549049", "scanner": "scanner-primary", "fingerprint": "74e49827755b3249", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f23e1698702cd3e2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/gateway/server-methods/agent.ts:1645"}, "properties": {"repobilityId": "9e7accc338ace133", "scanner": "scanner-primary", "fingerprint": "f23e1698702cd3e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-873aea081b90f2d7", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/gateway/server-methods/plugin-host-hooks.ts:213"}, "properties": {"repobilityId": "eac797f8b73a51c7", "scanner": "scanner-primary", "fingerprint": "873aea081b90f2d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b55e64a4b8f89cc1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gateway/server/ws-connection/auth-context.ts:261"}, "properties": {"repobilityId": "a3a6c5a44bb31aba", "scanner": "scanner-primary", "fingerprint": "b55e64a4b8f89cc1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7ab74b88edd5e10", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/gateway/server/ws-connection/message-handler.ts:1237"}, "properties": {"repobilityId": "c42ae5deb2835ebe", "scanner": "scanner-primary", "fingerprint": "e7ab74b88edd5e10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8333c4a8b6c99528", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/gateway/server/ws-connection/connect-policy.ts:48"}, "properties": {"repobilityId": "e8031659fc3a532b", "scanner": "scanner-primary", "fingerprint": "8333c4a8b6c99528", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11b8f14463b823e2", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/skills/security/workspace-audit.test.ts:84"}, "properties": {"repobilityId": "ad959c015b4ef697", "scanner": "scanner-primary", "fingerprint": "11b8f14463b823e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8f93751631ca968", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/skills/security/scanner.test.ts:209"}, "properties": {"repobilityId": "6b1f2e224f82af10", "scanner": "scanner-primary", "fingerprint": "f8f93751631ca968", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f1371e6e62875cde", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/skills/lifecycle/gh-config-discovery.ts:8"}, "properties": {"repobilityId": "e35ea831f6791e6e", "scanner": "scanner-primary", "fingerprint": "f1371e6e62875cde", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2df91727358cfe62", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/skills/runtime/refresh.ts:61"}, "properties": {"repobilityId": "80347f79b5028618", "scanner": "scanner-primary", "fingerprint": "2df91727358cfe62", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd0fcd7ef5decf2b", "level": "note", "message": {"text": "Legacy-named symbol `nOld` in src/skills/workshop/service.test.ts:156"}, "properties": {"repobilityId": "1c511f7153616762", "scanner": "scanner-primary", "fingerprint": "cd0fcd7ef5decf2b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-474dc2f5d219964e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/proxy-capture/runtime.test.ts:68"}, "properties": {"repobilityId": "dbe0a5dc719a49f3", "scanner": "scanner-primary", "fingerprint": "474dc2f5d219964e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e094bcc57d35d4ee", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugin-sdk/provider-auth-runtime.ts:71"}, "properties": {"repobilityId": "b6ea82e2026845e7", "scanner": "scanner-primary", "fingerprint": "e094bcc57d35d4ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-761a2ac5d75b3d34", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/plugin-sdk/ssrf-policy.test.ts:398"}, "properties": {"repobilityId": "f1af09043d1f6620", "scanner": "scanner-primary", "fingerprint": "761a2ac5d75b3d34", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6e64faed6bf32934", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/plugin-sdk/agent-harness-runtime.ts:295"}, "properties": {"repobilityId": "c5d00861e637dc36", "scanner": "scanner-primary", "fingerprint": "6e64faed6bf32934", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d2d22deb415c649", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/plugin-sdk/provider-auth-runtime.test.ts:97"}, "properties": {"repobilityId": "880d706124d8d2ef", "scanner": "scanner-primary", "fingerprint": "3d2d22deb415c649", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-82407c9111144172", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in src/plugin-sdk/test-helpers/stt-live-audio.ts:10"}, "properties": {"repobilityId": "ba3c3658eba1dd16", "scanner": "scanner-primary", "fingerprint": "82407c9111144172", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1d576ee2c8492311", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/plugin-sdk/test-helpers/plugin-runtime-mock.ts:671"}, "properties": {"repobilityId": "cce06a1caba5879d", "scanner": "scanner-primary", "fingerprint": "1d576ee2c8492311", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-128fe21da30936d0", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/setup-registry.test.ts:655"}, "properties": {"repobilityId": "3869ad6dc75c6ac9", "scanner": "scanner-primary", "fingerprint": "128fe21da30936d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c8b4295c656049f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/registry.ts:1803"}, "properties": {"repobilityId": "41c36aba26f76601", "scanner": "scanner-primary", "fingerprint": "4c8b4295c656049f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-119d4ae710786fe8", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/plugins/provider-replay-helpers.ts:103"}, "properties": {"repobilityId": "75660b3bece8a4bc", "scanner": "scanner-primary", "fingerprint": "119d4ae710786fe8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6cbbc476970c4269", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/plugins/hooks.ts:209"}, "properties": {"repobilityId": "be1988d4e079d9f2", "scanner": "scanner-primary", "fingerprint": "6cbbc476970c4269", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ee9e2d5db930588", "level": "note", "message": {"text": "Legacy-named symbol `node_modules_backup` in src/plugins/dependency-denylist.test.ts:168"}, "properties": {"repobilityId": "1ec339ae142f59f1", "scanner": "scanner-primary", "fingerprint": "1ee9e2d5db930588", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-172b9196968c6155", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/plugins/plugin-module-loader-cache.ts:263"}, "properties": {"repobilityId": "6ca4bbecf0e7dae1", "scanner": "scanner-primary", "fingerprint": "172b9196968c6155", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2cf36abdcff8f9a1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/plugins/host-hook-runtime.ts:512"}, "properties": {"repobilityId": "c78db8df4e312918", "scanner": "scanner-primary", "fingerprint": "2cf36abdcff8f9a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f84d4c6c23351cc9", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/plugins/provider-auth-choice.ts:178"}, "properties": {"repobilityId": "26fe06085055dc2f", "scanner": "scanner-primary", "fingerprint": "f84d4c6c23351cc9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f388dce96eccf7e2", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/web-provider-runtime-shared.ts:222"}, "properties": {"repobilityId": "81bf7dd54f1a93a6", "scanner": "scanner-primary", "fingerprint": "f388dce96eccf7e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df4c9420d050dd62", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/sdk-alias.test.ts:1919"}, "properties": {"repobilityId": "651cf880e5b97e17", "scanner": "scanner-primary", "fingerprint": "df4c9420d050dd62", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89d32c264595792f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/runtime/index.ts:169"}, "properties": {"repobilityId": "9a24e3287d801bff", "scanner": "scanner-primary", "fingerprint": "89d32c264595792f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c454fa860f84357", "level": "note", "message": {"text": "Legacy-named symbol `unknownDeprecated` in src/plugins/contracts/plugin-sdk-package-contract-guardrails.test.ts:890"}, "properties": {"repobilityId": "c2140ad06efc99cd", "scanner": "scanner-primary", "fingerprint": "8c454fa860f84357", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ac2759ba7a668403", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/plugins/contracts/tts-contract-suites.ts:273"}, "properties": {"repobilityId": "ebaeabb50d2fd1da", "scanner": "scanner-primary", "fingerprint": "ac2759ba7a668403", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1d8ae5e6a4de9332", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/plugins/contracts/plugin-sdk-runtime-api-guardrails.test.ts:359"}, "properties": {"repobilityId": "76f6e7c9b5a9cd7a", "scanner": "scanner-primary", "fingerprint": "1d8ae5e6a4de9332", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9dd900561831511", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/llm/env-api-keys.ts:241"}, "properties": {"repobilityId": "30c3adb933f70863", "scanner": "scanner-primary", "fingerprint": "b9dd900561831511", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-027b1b83899295f8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/llm/providers/openai-completions.ts:1007"}, "properties": {"repobilityId": "d5f42bc94b80a0ac", "scanner": "scanner-primary", "fingerprint": "027b1b83899295f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb22b669576bda51", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/llm/providers/transform-messages.ts:215"}, "properties": {"repobilityId": "33f1d9f38e65f959", "scanner": "scanner-primary", "fingerprint": "cb22b669576bda51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d711284742ac0a0", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/llm/providers/stream-wrappers/anthropic-family-cache-semantics.ts:31"}, "properties": {"repobilityId": "8555c3f06dd08685", "scanner": "scanner-primary", "fingerprint": "6d711284742ac0a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b75b6deb67722630", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auto-reply/thinking.test.ts:417"}, "properties": {"repobilityId": "88a14095980e6a41", "scanner": "scanner-primary", "fingerprint": "b75b6deb67722630", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7613e0f51649f37", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auto-reply/thinking.ts:201"}, "properties": {"repobilityId": "68a4a97c855b099c", "scanner": "scanner-primary", "fingerprint": "f7613e0f51649f37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f165d65ab0a5d826", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/auto-reply/reply/followup-runner.ts:1288"}, "properties": {"repobilityId": "c61b7dbf5815d5ce", "scanner": "scanner-primary", "fingerprint": "f165d65ab0a5d826", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a77f7aa2b7d8fffb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auto-reply/reply/reply-threading.ts:109"}, "properties": {"repobilityId": "5d38f8aff64b73e8", "scanner": "scanner-primary", "fingerprint": "a77f7aa2b7d8fffb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad37f76778ee24e7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auto-reply/reply/inbound-meta.ts:442"}, "properties": {"repobilityId": "3cddb306243c17c9", "scanner": "scanner-primary", "fingerprint": "ad37f76778ee24e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-787dc95bceaf940e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/auto-reply/reply/agent-runner.runreplyagent.e2e.test.ts:2319"}, "properties": {"repobilityId": "59a29c3ff60323be", "scanner": "scanner-primary", "fingerprint": "787dc95bceaf940e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c018f2c93fe0e98a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/commands-slash-parse.ts:22"}, "properties": {"repobilityId": "5c1fe1911e1279e0", "scanner": "scanner-primary", "fingerprint": "c018f2c93fe0e98a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab794408bf0a3425", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/agent-runner-execution.ts:1726"}, "properties": {"repobilityId": "db41cb1147370fe1", "scanner": "scanner-primary", "fingerprint": "ab794408bf0a3425", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4116761e32a566fb", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/auto-reply/reply/session.ts:527"}, "properties": {"repobilityId": "5b66abb64511cf94", "scanner": "scanner-primary", "fingerprint": "4116761e32a566fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80345ada361987d3", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/auto-reply/reply/stage-sandbox-media.ts:25"}, "properties": {"repobilityId": "0875d3ce4508a695", "scanner": "scanner-primary", "fingerprint": "80345ada361987d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ebd89cde3a3e05b1", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/session-delivery.ts:104"}, "properties": {"repobilityId": "3a625afa0364a642", "scanner": "scanner-primary", "fingerprint": "ebd89cde3a3e05b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-078296a075cff8ff", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auto-reply/reply/agent-runner-execution.test.ts:6610"}, "properties": {"repobilityId": "a746f7a6abd48d91", "scanner": "scanner-primary", "fingerprint": "078296a075cff8ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0dcb816a678e337", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/agent-runner.ts:2472"}, "properties": {"repobilityId": "27bf6b635ebe3796", "scanner": "scanner-primary", "fingerprint": "d0dcb816a678e337", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36814688792b8c28", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/reply-utils.test.ts:1382"}, "properties": {"repobilityId": "90a473f58f61c8eb", "scanner": "scanner-primary", "fingerprint": "36814688792b8c28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6b89382c9651707", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/auto-reply/reply/dispatch-from-config.test.ts:5422"}, "properties": {"repobilityId": "0d8338e872e0c2d1", "scanner": "scanner-primary", "fingerprint": "a6b89382c9651707", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc4b0f32ee99bf61", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/auto-reply/reply/get-reply-run.ts:1218"}, "properties": {"repobilityId": "a6c8ad3613342c68", "scanner": "scanner-primary", "fingerprint": "dc4b0f32ee99bf61", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-651acf7f3878f924", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/auto-reply/reply/dispatch-from-config.ts:1054"}, "properties": {"repobilityId": "625d5bb0ce8d3b21", "scanner": "scanner-primary", "fingerprint": "651acf7f3878f924", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1b2a1e3346adc6d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/auto-reply/reply/queue/drain.identity-guard.test.ts:1"}, "properties": {"repobilityId": "0cfbe68fcd4dc7db", "scanner": "scanner-primary", "fingerprint": "f1b2a1e3346adc6d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1061113e1e14bd39", "level": "note", "message": {"text": "1112 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "33783874475ce87c", "scanner": "scanner-primary", "fingerprint": "1061113e1e14bd39", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "768b704e69272a3d", "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": "b042a1fad726f02b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-599cbc8c9088c2cf", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/tools/invoke (scripts/check-memory-fd-repro.mjs:684)"}, "properties": {"repobilityId": "84d91e12e4fa12f8", "scanner": "scanner-primary", "fingerprint": "599cbc8c9088c2cf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ea5aaf51de7fa6a1", "level": "error", "message": {"text": "Dangling fetch: POST /graphql (scripts/github/dependency-guard.mjs:565)"}, "properties": {"repobilityId": "63c4325b226edb90", "scanner": "scanner-primary", "fingerprint": "ea5aaf51de7fa6a1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-21a49cb408a805e0", "level": "error", "message": {"text": "Dangling fetch: GET /repos/${owner}/${repo}/contents/${encodedPath}?ref=${encodeURIComponent(ref)} (scripts/github/dependency-guard.mjs:606)"}, "properties": {"repobilityId": "f8d1bbf1a184ac23", "scanner": "scanner-primary", "fingerprint": "21a49cb408a805e0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8be6972ac67c47f8", "level": "error", "message": {"text": "Dangling fetch: GET /repos/${owner}/${repo}/contents/${encodedPath}?ref=${encodeURIComponent(ref)} (scripts/github/dependency-guard.mjs:623)"}, "properties": {"repobilityId": "53623cba4ecfb0da", "scanner": "scanner-primary", "fingerprint": "8be6972ac67c47f8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8c25c5fb07b9eb87", "level": "error", "message": {"text": "Dangling fetch: GET /repos/${owner}/${repo}/git/blobs/${file.sha} (scripts/github/dependency-guard.mjs:641)"}, "properties": {"repobilityId": "147b9c63bdfe33ba", "scanner": "scanner-primary", "fingerprint": "8c25c5fb07b9eb87", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1c14cf0b4e2e1871", "level": "error", "message": {"text": "Dangling fetch: DELETE /repos/${owner}/${repo}/issues/comments/${comment.id} (scripts/github/dependency-guard.mjs:837)"}, "properties": {"repobilityId": "acd467db157249c3", "scanner": "scanner-primary", "fingerprint": "1c14cf0b4e2e1871", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8320e051aab0b469", "level": "error", "message": {"text": "Dangling fetch: PATCH /repos/${owner}/${repo}/issues/comments/${comment.id} (scripts/github/dependency-guard.mjs:845)"}, "properties": {"repobilityId": "1a7eff901f767346", "scanner": "scanner-primary", "fingerprint": "8320e051aab0b469", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1596c8b4c22d404f", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}${pathName} (scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs:674)"}, "properties": {"repobilityId": "edd3809faa3e5732", "scanner": "scanner-primary", "fingerprint": "1596c8b4c22d404f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b652b1da706709df", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (scripts/e2e/lib/openai-chat-tools/client.mjs:59)"}, "properties": {"repobilityId": "eb6d4707b86a8209", "scanner": "scanner-primary", "fingerprint": "b652b1da706709df", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bf1f4465551c7e60", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${mock_port}/health (test/scripts/rtt-harness.test.ts:233)"}, "properties": {"repobilityId": "19288a55794d2da8", "scanner": "scanner-primary", "fingerprint": "bf1f4465551c7e60", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2212d459013427c0", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${MOCK_PORT}/health (test/scripts/docker-build-helper.test.ts:2995)"}, "properties": {"repobilityId": "93f215e8fbfe8942", "scanner": "scanner-primary", "fingerprint": "2212d459013427c0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fba1968a2eba24aa", "level": "error", "message": {"text": "Dangling fetch: GET /repos/openclaw/openclaw (test/scripts/dependency-guard-script.test.ts:663)"}, "properties": {"repobilityId": "29388af50c7f3cd9", "scanner": "scanner-primary", "fingerprint": "fba1968a2eba24aa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-1b29ad46f0f4406c", "level": "error", "message": {"text": "Dangling fetch: GET /repos/openclaw/openclaw (test/scripts/dependency-guard-script.test.ts:687)"}, "properties": {"repobilityId": "d5a6006b570f4513", "scanner": "scanner-primary", "fingerprint": "1b29ad46f0f4406c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-b1dc19983fce5faa", "level": "error", "message": {"text": "Dangling fetch: GET /repos/openclaw/openclaw (test/scripts/dependency-guard-script.test.ts:721)"}, "properties": {"repobilityId": "76b427b68fe51679", "scanner": "scanner-primary", "fingerprint": "b1dc19983fce5faa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-80ced168c8394661", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/fixture/inbound (test/scripts/e2e-helper-env-limits.test.ts:149)"}, "properties": {"repobilityId": "a93bd7b12b899b9e", "scanner": "scanner-primary", "fingerprint": "80ced168c8394661", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2f987dbc7e0866d5", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/traces (test/scripts/qa-otel-smoke.test.ts:110)"}, "properties": {"repobilityId": "a4bfc49c1b1fe047", "scanner": "scanner-primary", "fingerprint": "2f987dbc7e0866d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-80263069fbcc3bbc", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/traces (test/scripts/qa-otel-smoke.test.ts:144)"}, "properties": {"repobilityId": "b8552ee868b77857", "scanner": "scanner-primary", "fingerprint": "80263069fbcc3bbc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9dac388610d84173", "level": "error", "message": {"text": "Dangling fetch: GET https://github.com/${login}.png?size=${AVATAR_PROBE_SIZE} (scripts/update-clawtributors.ts:457)"}, "properties": {"repobilityId": "ec3f427f5cd72e26", "scanner": "scanner-primary", "fingerprint": "9dac388610d84173", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7f7cf07d7a822c8f", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/realtime/calls (scripts/dev/realtime-talk-live-smoke.ts:333)"}, "properties": {"repobilityId": "c072acdd1b8b39f6", "scanner": "scanner-primary", "fingerprint": "7f7cf07d7a822c8f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a2f6618bb200b842", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/healthz (extensions/telegram/src/webhook.test.ts:481)"}, "properties": {"repobilityId": "6404ef6ee2183cf1", "scanner": "scanner-primary", "fingerprint": "a2f6618bb200b842", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b614490bbbbdc5ff", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/healthz (extensions/telegram/src/webhook.test.ts:528)"}, "properties": {"repobilityId": "d75f635caf673b7f", "scanner": "scanner-primary", "fingerprint": "b614490bbbbdc5ff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b10d6daf114483db", "level": "error", "message": {"text": "Dangling fetch: GET https://api.telegram.org/botTOKEN/getMe (extensions/telegram/src/fetch.test.ts:531)"}, "properties": {"repobilityId": "8b4e7d687acfaa8b", "scanner": "scanner-primary", "fingerprint": "b10d6daf114483db", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c044df85c975b7b6", "level": "error", "message": {"text": "Dangling fetch: GET https://api.telegram.org/botTOKEN/getMe (extensions/telegram/src/fetch.test.ts:562)"}, "properties": {"repobilityId": "10e083fc238b9a4b", "scanner": "scanner-primary", "fingerprint": "c044df85c975b7b6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-202bdf59d1cc1224", "level": "error", "message": {"text": "Dangling fetch: GET https://api.telegram.org/botx/getMe (extensions/telegram/src/fetch.test.ts:1255)"}, "properties": {"repobilityId": "deaa805f0a21c5eb", "scanner": "scanner-primary", "fingerprint": "202bdf59d1cc1224", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f14a74b8f673d407", "level": "error", "message": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:177)"}, "properties": {"repobilityId": "d268087fd6a0dd97", "scanner": "scanner-primary", "fingerprint": "f14a74b8f673d407", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-d114ebfb5be07623", "level": "error", "message": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:207)"}, "properties": {"repobilityId": "fd7a789527959030", "scanner": "scanner-primary", "fingerprint": "d114ebfb5be07623", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-157a3008fbe9f58c", "level": "error", "message": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:256)"}, "properties": {"repobilityId": "8bb47d2b4a19dd41", "scanner": "scanner-primary", "fingerprint": "157a3008fbe9f58c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-ee0563ae45c96a9d", "level": "error", "message": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:273)"}, "properties": {"repobilityId": "9ca87cdcec82e8fd", "scanner": "scanner-primary", "fingerprint": "ee0563ae45c96a9d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-05a434c68804f796", "level": "error", "message": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:307)"}, "properties": {"repobilityId": "7363aa1a959e358f", "scanner": "scanner-primary", "fingerprint": "05a434c68804f796", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-8d784f27784215f5", "level": "error", "message": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:334)"}, "properties": {"repobilityId": "b00e04bf90121821", "scanner": "scanner-primary", "fingerprint": "8d784f27784215f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-5468216b2e55a6dd", "level": "error", "message": {"text": "Dangling fetch: GET https://discord.com/api/v10/oauth2/applications/@me (extensions/discord/src/monitor/provider.rest-proxy.test.ts:356)"}, "properties": {"repobilityId": "1cd19833b22b3e4f", "scanner": "scanner-primary", "fingerprint": "5468216b2e55a6dd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-8680d0774b109bbe", "level": "error", "message": {"text": "Dangling fetch: GET /api/me (extensions/clickclack/src/http-client.ts:48)"}, "properties": {"repobilityId": "f72cb54b8a743938", "scanner": "scanner-primary", "fingerprint": "8680d0774b109bbe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-45993f6c2e2cee5e", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspaces (extensions/clickclack/src/http-client.ts:52)"}, "properties": {"repobilityId": "a9ea4460590e142d", "scanner": "scanner-primary", "fingerprint": "45993f6c2e2cee5e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-6720fa991f3a239b", "level": "error", "message": {"text": "Dangling fetch: POST /api/channels/${encodeURIComponent(channelId)}/messages (extensions/clickclack/src/http-client.ts:88)"}, "properties": {"repobilityId": "13b1b13d5625c532", "scanner": "scanner-primary", "fingerprint": "6720fa991f3a239b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-bf2c121969e20779", "level": "error", "message": {"text": "Dangling fetch: POST /api/messages/${encodeURIComponent(messageId)}/thread/replies (extensions/clickclack/src/http-client.ts:95)"}, "properties": {"repobilityId": "5c88833322da82f7", "scanner": "scanner-primary", "fingerprint": "bf2c121969e20779", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9d2c9015a5b2a8ec", "level": "error", "message": {"text": "Dangling fetch: POST /api/dms (extensions/clickclack/src/http-client.ts:105)"}, "properties": {"repobilityId": "f4460ec3b7adc3af", "scanner": "scanner-primary", "fingerprint": "9d2c9015a5b2a8ec", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-0c9607fe927264b7", "level": "error", "message": {"text": "Dangling fetch: POST /api/dms/${encodeURIComponent(conversationId)}/messages (extensions/clickclack/src/http-client.ts:115)"}, "properties": {"repobilityId": "9f198f6d842182f1", "scanner": "scanner-primary", "fingerprint": "0c9607fe927264b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-a000b68ba97cc9fb", "level": "error", "message": {"text": "Dangling fetch: GET /posts/${payload.post_id} (extensions/mattermost/src/mattermost/interactions.ts:511)"}, "properties": {"repobilityId": "374fb7c469202ed5", "scanner": "scanner-primary", "fingerprint": "a000b68ba97cc9fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-44ed52aab7ee117e", "level": "error", "message": {"text": "Dangling fetch: POST /commands (extensions/mattermost/src/mattermost/slash-commands.ts:214)"}, "properties": {"repobilityId": "b86cc1acc64c9244", "scanner": "scanner-primary", "fingerprint": "44ed52aab7ee117e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-af6eabf42837dd0e", "level": "error", "message": {"text": "Dangling fetch: PUT /commands/${encodeURIComponent(params.id)} (extensions/mattermost/src/mattermost/slash-commands.ts:236)"}, "properties": {"repobilityId": "6c54f4946870d93b", "scanner": "scanner-primary", "fingerprint": "af6eabf42837dd0e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-55949b2b25f67b5a", "level": "error", "message": {"text": "Dangling fetch: GET /users/me (extensions/mattermost/src/mattermost/client.ts:169)"}, "properties": {"repobilityId": "0228d5205012a57f", "scanner": "scanner-primary", "fingerprint": "55949b2b25f67b5a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-9273b95bf2853b00", "level": "error", "message": {"text": "Dangling fetch: GET /users/${userId} (extensions/mattermost/src/mattermost/client.ts:176)"}, "properties": {"repobilityId": "e3018e90a47beebd", "scanner": "scanner-primary", "fingerprint": "9273b95bf2853b00", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-735941c770c4d81d", "level": "error", "message": {"text": "Dangling fetch: GET /users/username/${encodeURIComponent(username)} (extensions/mattermost/src/mattermost/client.ts:183)"}, "properties": {"repobilityId": "43088019409ce431", "scanner": "scanner-primary", "fingerprint": "735941c770c4d81d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-8a8083f8f5529c1f", "level": "error", "message": {"text": "Dangling fetch: GET /channels/${channelId} (extensions/mattermost/src/mattermost/client.ts:190)"}, "properties": {"repobilityId": "1ce281fb4fa48948", "scanner": "scanner-primary", "fingerprint": "8a8083f8f5529c1f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-539c794c38da94d4", "level": "error", "message": {"text": "Dangling fetch: POST /channels/direct (extensions/mattermost/src/mattermost/client.ts:225)"}, "properties": {"repobilityId": "3ec4693041f09014", "scanner": "scanner-primary", "fingerprint": "539c794c38da94d4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-46350aa0854d413f", "level": "error", "message": {"text": "Dangling fetch: POST /posts (extensions/mattermost/src/mattermost/client.ts:517)"}, "properties": {"repobilityId": "55c7d71ee3cf0a53", "scanner": "scanner-primary", "fingerprint": "46350aa0854d413f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-cafd3f1ea85e1838", "level": "error", "message": {"text": "Dangling fetch: GET /users/${userId}/teams (extensions/mattermost/src/mattermost/client.ts:533)"}, "properties": {"repobilityId": "a69e38adcc9efde6", "scanner": "scanner-primary", "fingerprint": "cafd3f1ea85e1838", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-4c9e833172691111", "level": "error", "message": {"text": "Dangling fetch: PUT /posts/${postId} (extensions/mattermost/src/mattermost/client.ts:551)"}, "properties": {"repobilityId": "7d206ab652238220", "scanner": "scanner-primary", "fingerprint": "4c9e833172691111", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-19ba5986556333da", "level": "error", "message": {"text": "Dangling fetch: DELETE /posts/${postId} (extensions/mattermost/src/mattermost/client.ts:561)"}, "properties": {"repobilityId": "a8135b2487401b58", "scanner": "scanner-primary", "fingerprint": "19ba5986556333da", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-11985a3d61a9a0f4", "level": "error", "message": {"text": "Dangling fetch: GET /users/me (extensions/mattermost/src/mattermost/client.test.ts:125)"}, "properties": {"repobilityId": "e79410edddbf3a8e", "scanner": "scanner-primary", "fingerprint": "11985a3d61a9a0f4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-c5b8ff1a55f98259", "level": "error", "message": {"text": "Dangling fetch: POST /posts (extensions/mattermost/src/mattermost/client.test.ts:137)"}, "properties": {"repobilityId": "a51a0bdc21bd3465", "scanner": "scanner-primary", "fingerprint": "c5b8ff1a55f98259", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-d1cadee3d2ce06ac", "level": "error", "message": {"text": "Dangling fetch: GET /missing (extensions/mattermost/src/mattermost/client.test.ts:152)"}, "properties": {"repobilityId": "0ec65dac9def7773", "scanner": "scanner-primary", "fingerprint": "d1cadee3d2ce06ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-55e378cad6827827", "level": "error", "message": {"text": "Dangling fetch: DELETE /anything (extensions/mattermost/src/mattermost/client.test.ts:164)"}, "properties": {"repobilityId": "9dbd81b420214374", "scanner": "scanner-primary", "fingerprint": "55e378cad6827827", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-e78b1a74b5fdb445", "level": "error", "message": {"text": "Dangling fetch: GET /users/me/teams (extensions/mattermost/src/mattermost/directory.ts:139)"}, "properties": {"repobilityId": "1135afbfa1ffce24", "scanner": "scanner-primary", "fingerprint": "e78b1a74b5fdb445", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-fc4b141ee8a3518d", "level": "error", "message": {"text": "Dangling fetch: POST /users/search (extensions/mattermost/src/mattermost/directory.ts:149)"}, "properties": {"repobilityId": "30567f255a12349e", "scanner": "scanner-primary", "fingerprint": "fc4b141ee8a3518d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-72a286c8a4830fd7", "level": "error", "message": {"text": "Dangling fetch: POST /users/ids (extensions/mattermost/src/mattermost/directory.ts:161)"}, "properties": {"repobilityId": "2b28bfb94b13ebf5", "scanner": "scanner-primary", "fingerprint": "72a286c8a4830fd7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:request"]}}, {"ruleId": "scanner-65101673ace96a7c", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:18789/healthz (extensions/qa-lab/src/docker-harness.test.ts:83)"}, "properties": {"repobilityId": "bbbd418c0afba527", "scanner": "scanner-primary", "fingerprint": "65101673ace96a7c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-95f30849482bfaf9", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:44080/healthz (extensions/qa-lab/src/docker-harness.ts:58)"}, "properties": {"repobilityId": "00a203e0d762a640", "scanner": "scanner-primary", "fingerprint": "95f30849482bfaf9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4cfe464d38d5994e", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${QA_LAB_INTERNAL_PORT}/healthz (extensions/qa-lab/src/docker-harness.ts:88)"}, "properties": {"repobilityId": "d872c38f0eb4d548", "scanner": "scanner-primary", "fingerprint": "4cfe464d38d5994e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8d6e02a10b6be574", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:18789/healthz (extensions/qa-lab/src/docker-harness.ts:132)"}, "properties": {"repobilityId": "f67ad01582d87c1f", "scanner": "scanner-primary", "fingerprint": "8d6e02a10b6be574", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a93e5db4ca416b2e", "level": "error", "message": {"text": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:99)"}, "properties": {"repobilityId": "701b86b9cf81b596", "scanner": "scanner-primary", "fingerprint": "a93e5db4ca416b2e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f859bdf8678d9d99", "level": "error", "message": {"text": "Dangling fetch: GET https://auth.example.com/token (src/agents/mcp-http-fetch.test.ts:100)"}, "properties": {"repobilityId": "f1c74d1d0438acdd", "scanner": "scanner-primary", "fingerprint": "f859bdf8678d9d99", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-89ac8307424717d0", "level": "error", "message": {"text": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:118)"}, "properties": {"repobilityId": "d3cf04c4eb0b633d", "scanner": "scanner-primary", "fingerprint": "89ac8307424717d0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e510a12e505dca2e", "level": "error", "message": {"text": "Dangling fetch: GET https://mcp.example.com/mcp (src/agents/mcp-http-fetch.test.ts:133)"}, "properties": {"repobilityId": "7790254fba49519e", "scanner": "scanner-primary", "fingerprint": "e510a12e505dca2e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5677239a5f4f2733", "level": "error", "message": {"text": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:146)"}, "properties": {"repobilityId": "ce2dde8ad5a2111d", "scanner": "scanner-primary", "fingerprint": "5677239a5f4f2733", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0685904952858dcc", "level": "error", "message": {"text": "Dangling fetch: GET https://auth.example.com/token (src/agents/mcp-http-fetch.test.ts:147)"}, "properties": {"repobilityId": "a2dac8cd5e4efa67", "scanner": "scanner-primary", "fingerprint": "0685904952858dcc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3602bcea6c393ad5", "level": "error", "message": {"text": "Dangling fetch: GET https://mcp.example.com/token (src/agents/mcp-http-fetch.test.ts:174)"}, "properties": {"repobilityId": "5425d7450f3d837d", "scanner": "scanner-primary", "fingerprint": "3602bcea6c393ad5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d12a4b80161d9c42", "level": "error", "message": {"text": "Dangling fetch: GET https://mcp.example.com/.well-known/oauth-protected-resource (src/agents/mcp-http-fetch.test.ts:205)"}, "properties": {"repobilityId": "c091f4fd693906ef", "scanner": "scanner-primary", "fingerprint": "d12a4b80161d9c42", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5715c40a021a265d", "level": "error", "message": {"text": "Dangling fetch: GET https://auth.example.com/token (src/agents/mcp-http-fetch.test.ts:208)"}, "properties": {"repobilityId": "ce16e5b0224ca193", "scanner": "scanner-primary", "fingerprint": "5715c40a021a265d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b41e0a5423abd634", "level": "error", "message": {"text": "Dangling fetch: POST https://auth.example.com/oauth/register (src/agents/mcp-http-fetch.test.ts:242)"}, "properties": {"repobilityId": "c073bdedb60a9025", "scanner": "scanner-primary", "fingerprint": "b41e0a5423abd634", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d9ee75854cd1457c", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:189)"}, "properties": {"repobilityId": "07177f4137ed2940", "scanner": "scanner-primary", "fingerprint": "d9ee75854cd1457c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-2a8c67e360e1bd70", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:414)"}, "properties": {"repobilityId": "873f8c37a93a6ea7", "scanner": "scanner-primary", "fingerprint": "2a8c67e360e1bd70", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-8d36224ac14967eb", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/agents/provider-transport-fetch.test.ts:448)"}, "properties": {"repobilityId": "ea7f1fd57cb996ba", "scanner": "scanner-primary", "fingerprint": "8d36224ac14967eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-26ce4475c6db7358", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:478)"}, "properties": {"repobilityId": "59769ad33774d38f", "scanner": "scanner-primary", "fingerprint": "26ce4475c6db7358", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-2473d5d7cc96ecb6", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:497)"}, "properties": {"repobilityId": "77ae3696579ca865", "scanner": "scanner-primary", "fingerprint": "2473d5d7cc96ecb6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-d9082989735dadf1", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:522)"}, "properties": {"repobilityId": "f2b51ae6eec55bd1", "scanner": "scanner-primary", "fingerprint": "d9082989735dadf1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-c57e79b004e2d840", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:554)"}, "properties": {"repobilityId": "d82b18b716bd92b3", "scanner": "scanner-primary", "fingerprint": "c57e79b004e2d840", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-bcc66c834c1ca452", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:583)"}, "properties": {"repobilityId": "112563baa843c572", "scanner": "scanner-primary", "fingerprint": "bcc66c834c1ca452", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-1799da582f105ca3", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:611)"}, "properties": {"repobilityId": "ef549ca78af0e487", "scanner": "scanner-primary", "fingerprint": "1799da582f105ca3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-ec1a4e10dc099c10", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:18000/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:647)"}, "properties": {"repobilityId": "4e4717ab8dcde8ad", "scanner": "scanner-primary", "fingerprint": "ec1a4e10dc099c10", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-2961264390b56ea7", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:661)"}, "properties": {"repobilityId": "7c6f0d98b3a39b2c", "scanner": "scanner-primary", "fingerprint": "2961264390b56ea7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-971314536009a811", "level": "error", "message": {"text": "Dangling fetch: POST https://uploads.openai.com/v1/files (src/agents/provider-transport-fetch.test.ts:683)"}, "properties": {"repobilityId": "1c72a3c1e5d34d04", "scanner": "scanner-primary", "fingerprint": "971314536009a811", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-24ff3ddabc31bc5b", "level": "error", "message": {"text": "Dangling fetch: POST http://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:702)"}, "properties": {"repobilityId": "0857319abb0b2ab8", "scanner": "scanner-primary", "fingerprint": "24ff3ddabc31bc5b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-cb12485e0864c0ff", "level": "error", "message": {"text": "Dangling fetch: POST https://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:725)"}, "properties": {"repobilityId": "325e2b9ab900dea2", "scanner": "scanner-primary", "fingerprint": "cb12485e0864c0ff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-fb4ba048c3a89798", "level": "error", "message": {"text": "Dangling fetch: POST http://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:747)"}, "properties": {"repobilityId": "9e8e1b5487365b13", "scanner": "scanner-primary", "fingerprint": "fb4ba048c3a89798", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-3f22192f07ea0be3", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:766)"}, "properties": {"repobilityId": "23b17f3872095e24", "scanner": "scanner-primary", "fingerprint": "3f22192f07ea0be3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-93beaf1c109f0773", "level": "error", "message": {"text": "Dangling fetch: POST http://10.0.0.5:4321/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:787)"}, "properties": {"repobilityId": "e1e118e9929e6da3", "scanner": "scanner-primary", "fingerprint": "93beaf1c109f0773", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-30ec6f122b153e48", "level": "error", "message": {"text": "Dangling fetch: POST http://10.0.0.5:1234/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:806)"}, "properties": {"repobilityId": "a7631453dccd9849", "scanner": "scanner-primary", "fingerprint": "30ec6f122b153e48", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-37f818c180e61a8e", "level": "error", "message": {"text": "Dangling fetch: POST http://10.0.0.5:11434/api/chat (src/agents/provider-transport-fetch.test.ts:895)"}, "properties": {"repobilityId": "a8bc66cfbd741359", "scanner": "scanner-primary", "fingerprint": "37f818c180e61a8e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-76488ec4dcfb3b36", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:914)"}, "properties": {"repobilityId": "0bbfd68af74da13d", "scanner": "scanner-primary", "fingerprint": "76488ec4dcfb3b36", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-3e51373056aebc1b", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:944)"}, "properties": {"repobilityId": "663ea3a877e84f9d", "scanner": "scanner-primary", "fingerprint": "3e51373056aebc1b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-6874d8e3522a352a", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-transport-fetch.test.ts:959)"}, "properties": {"repobilityId": "373a90410bc21fe2", "scanner": "scanner-primary", "fingerprint": "6874d8e3522a352a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-c87e277204713eaf", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:11434/api/chat (src/agents/provider-transport-fetch.test.ts:974)"}, "properties": {"repobilityId": "084e8121620550ed", "scanner": "scanner-primary", "fingerprint": "c87e277204713eaf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-f9c6b84c0223a02e", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:11434/v1/chat/completions (src/agents/provider-transport-fetch.test.ts:990)"}, "properties": {"repobilityId": "09c628e30f8cf9c3", "scanner": "scanner-primary", "fingerprint": "f9c6b84c0223a02e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "helper:fetcher"]}}, {"ruleId": "scanner-3987e8482db60db5", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/provider-headers.live.test.ts:28)"}, "properties": {"repobilityId": "fcc87187209f0c04", "scanner": "scanner-primary", "fingerprint": "3987e8482db60db5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-029b8965510c54fc", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/agents/provider-headers.live.test.ts:73)"}, "properties": {"repobilityId": "7cfb0cc65e2b853d", "scanner": "scanner-primary", "fingerprint": "029b8965510c54fc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-86c4e6d8c1dcdc2a", "level": "error", "message": {"text": "Dangling fetch: POST https://api.openai.com/v1/responses (src/agents/embedded-agent-runner-extraparams.live.test.ts:92)"}, "properties": {"repobilityId": "ae8a6cc60d87e872", "scanner": "scanner-primary", "fingerprint": "86c4e6d8c1dcdc2a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bfcafad383112d77", "level": "error", "message": {"text": "Dangling fetch: POST https://api.anthropic.com/v1/messages (src/agents/embedded-agent-runner-extraparams.live.test.ts:130)"}, "properties": {"repobilityId": "141d9068948edac1", "scanner": "scanner-primary", "fingerprint": "bfcafad383112d77", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7fc107ffe526cac3", "level": "error", "message": {"text": "Dangling fetch: POST https://example.invalid/media-image (src/agents/tools/image-tool.test.ts:570)"}, "properties": {"repobilityId": "a6389b8666242b36", "scanner": "scanner-primary", "fingerprint": "7fc107ffe526cac3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e6976ae327962a1e", "level": "error", "message": {"text": "Dangling fetch: POST https://example.invalid/media-images (src/agents/tools/image-tool.test.ts:586)"}, "properties": {"repobilityId": "a829a0991cc2f968", "scanner": "scanner-primary", "fingerprint": "e6976ae327962a1e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2cb29a3474993afd", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}${pathLocal} (src/gateway/server.hooks.test.ts:61)"}, "properties": {"repobilityId": "da5b3d3ef0ca2343", "scanner": "scanner-primary", "fingerprint": "2cb29a3474993afd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-26e6387c03b5c8eb", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/hooks/wake (src/gateway/server.hooks.test.ts:278)"}, "properties": {"repobilityId": "0f68852b05aee0f2", "scanner": "scanner-primary", "fingerprint": "26e6387c03b5c8eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d3aad35ab48e0ab7", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/hooks/agent (src/gateway/server.hooks.test.ts:499)"}, "properties": {"repobilityId": "42280debef349e72", "scanner": "scanner-primary", "fingerprint": "d3aad35ab48e0ab7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9b496677f92ab0a9", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/hooks/mapped-ok (src/gateway/server.hooks.test.ts:515)"}, "properties": {"repobilityId": "da03a246f82d97ca", "scanner": "scanner-primary", "fingerprint": "9b496677f92ab0a9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c790f45109825a5b", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/hooks/wake (src/gateway/server.hooks.test.ts:1007)"}, "properties": {"repobilityId": "fc1a9835acabf407", "scanner": "scanner-primary", "fingerprint": "c790f45109825a5b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-824f7189bb3e9044", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/tools/invoke (src/gateway/gateway.test.ts:310)"}, "properties": {"repobilityId": "e164aa7d8740bcc4", "scanner": "scanner-primary", "fingerprint": "824f7189bb3e9044", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7d8012eb53307b77", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:104)"}, "properties": {"repobilityId": "270181e45bfc2027", "scanner": "scanner-primary", "fingerprint": "7d8012eb53307b77", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2f4d4c18a9882b17", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:266)"}, "properties": {"repobilityId": "b7f43c56783e66ed", "scanner": "scanner-primary", "fingerprint": "2f4d4c18a9882b17", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d60c942c590ca1ba", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:273)"}, "properties": {"repobilityId": "dd10676351a65881", "scanner": "scanner-primary", "fingerprint": "d60c942c590ca1ba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-82cef028f48ba858", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/responses (src/gateway/openresponses-http.test.ts:978)"}, "properties": {"repobilityId": "882fdec438380855", "scanner": "scanner-primary", "fingerprint": "82cef028f48ba858", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-812b2af1e05f9a1a", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:80)"}, "properties": {"repobilityId": "73ff3813bdc09ed8", "scanner": "scanner-primary", "fingerprint": "812b2af1e05f9a1a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-03d5eb84c8798d65", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:191)"}, "properties": {"repobilityId": "25f05eddccf34866", "scanner": "scanner-primary", "fingerprint": "03d5eb84c8798d65", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ff6bd844a4e736ff", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:201)"}, "properties": {"repobilityId": "641ff909de9d8478", "scanner": "scanner-primary", "fingerprint": "ff6bd844a4e736ff", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bfdeb9464938dc31", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:1757)"}, "properties": {"repobilityId": "00596e21ccb4c514", "scanner": "scanner-primary", "fingerprint": "bfdeb9464938dc31", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-544e8a4c5a0c0acb", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:1764)"}, "properties": {"repobilityId": "c2d88e2656aee0b5", "scanner": "scanner-primary", "fingerprint": "544e8a4c5a0c0acb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-18b0623478e3a6ef", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/v1/chat/completions (src/gateway/openai-http.test.ts:2476)"}, "properties": {"repobilityId": "55634f4ceffd53d5", "scanner": "scanner-primary", "fingerprint": "18b0623478e3a6ef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-be147fe9b1ee03c6", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${runtime.port}/mcp (src/gateway/gateway-cli-backend.live-probe-helpers.ts:223)"}, "properties": {"repobilityId": "628497fa9aa2fa9a", "scanner": "scanner-primary", "fingerprint": "be147fe9b1ee03c6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6144b5f8f4dce373", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/hook (src/gateway/server-http.request-trace.test.ts:78)"}, "properties": {"repobilityId": "f91ec6ad0765175d", "scanner": "scanner-primary", "fingerprint": "6144b5f8f4dce373", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ac46ceb945f43437", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${enabledPort}${pathname} (src/gateway/models-http.test.ts:31)"}, "properties": {"repobilityId": "bc1f69fdd71c6c82", "scanner": "scanner-primary", "fingerprint": "ac46ceb945f43437", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dcb8b5572ebc0382", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/v1/models (src/gateway/models-http.test.ts:120)"}, "properties": {"repobilityId": "f041a83264e610ca", "scanner": "scanner-primary", "fingerprint": "dcb8b5572ebc0382", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2cbf1e00f4da360a", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/v1/models (src/gateway/models-http.test.ts:138)"}, "properties": {"repobilityId": "1d24a8c50d9c7bb7", "scanner": "scanner-primary", "fingerprint": "2cbf1e00f4da360a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e3542149b4444d8a", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${enabledPort}/v1/embeddings (src/gateway/embeddings-http.test.ts:156)"}, "properties": {"repobilityId": "9fff7a9a98248452", "scanner": "scanner-primary", "fingerprint": "e3542149b4444d8a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7f420dc69fc9fdef", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${enabledPort}/v1/embeddings (src/gateway/embeddings-http.test.ts:329)"}, "properties": {"repobilityId": "b91447ade610ae80", "scanner": "scanner-primary", "fingerprint": "7f420dc69fc9fdef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-37100dbe1d03b1e4", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${params.port}/tools/invoke (src/gateway/tools-invoke-http.test.ts:319)"}, "properties": {"repobilityId": "b4e6c8758b8e7641", "scanner": "scanner-primary", "fingerprint": "37100dbe1d03b1e4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2b38cc5b0eb31c26", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}/tools/invoke (src/gateway/tools-invoke-http.cron-regression.test.ts:124)"}, "properties": {"repobilityId": "b0f78b6361d56b1c", "scanner": "scanner-primary", "fingerprint": "2b38cc5b0eb31c26", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-10c4790159e7c3b9", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/ (src/gateway/server.control-ui-root.test.ts:40)"}, "properties": {"repobilityId": "735f126ca77b17fe", "scanner": "scanner-primary", "fingerprint": "10c4790159e7c3b9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bef99cca1870411c", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${port}${pathname} (src/gateway/session-kill-http.test.ts:116)"}, "properties": {"repobilityId": "9f9466d085450e6d", "scanner": "scanner-primary", "fingerprint": "bef99cca1870411c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0ac62a74861fde2e", "level": "error", "message": {"text": "Dangling fetch: POST http://127.0.0.1:${params.port}/mcp (src/gateway/mcp-http.test.ts:122)"}, "properties": {"repobilityId": "9beca5b9304e262d", "scanner": "scanner-primary", "fingerprint": "0ac62a74861fde2e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f24a9ae686c0868a", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1286)"}, "properties": {"repobilityId": "68ce5e7284098d5c", "scanner": "scanner-primary", "fingerprint": "f24a9ae686c0868a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-35283dacb278a4aa", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1298)"}, "properties": {"repobilityId": "4f61cbd79b16fbdd", "scanner": "scanner-primary", "fingerprint": "35283dacb278a4aa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-94a9c858403f2803", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1323)"}, "properties": {"repobilityId": "61563bacf8778e82", "scanner": "scanner-primary", "fingerprint": "94a9c858403f2803", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-703f87705c99e70d", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1331)"}, "properties": {"repobilityId": "0fe1492a84d7f0b7", "scanner": "scanner-primary", "fingerprint": "703f87705c99e70d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4184f2ee24548d89", "level": "error", "message": {"text": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1345)"}, "properties": {"repobilityId": "937930278401537f", "scanner": "scanner-primary", "fingerprint": "4184f2ee24548d89", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a595de8eca2f6465", "level": "error", "message": {"text": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1355)"}, "properties": {"repobilityId": "694a3c88d87bee45", "scanner": "scanner-primary", "fingerprint": "a595de8eca2f6465", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6f0e223e3366ce11", "level": "error", "message": {"text": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1366)"}, "properties": {"repobilityId": "9f3ee7ea8b8ce1ba", "scanner": "scanner-primary", "fingerprint": "6f0e223e3366ce11", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c978ff620d52311b", "level": "error", "message": {"text": "Dangling fetch: PUT http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1372)"}, "properties": {"repobilityId": "2c7deaaf65a1a180", "scanner": "scanner-primary", "fingerprint": "c978ff620d52311b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eb442218e19ee6df", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1391)"}, "properties": {"repobilityId": "e6e969c6ed92911e", "scanner": "scanner-primary", "fingerprint": "eb442218e19ee6df", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2b968befedfb3972", "level": "error", "message": {"text": "Dangling fetch: DELETE http://127.0.0.1:${server.port}/mcp (src/gateway/mcp-http.test.ts:1401)"}, "properties": {"repobilityId": "ae60557f399e39f9", "scanner": "scanner-primary", "fingerprint": "2b968befedfb3972", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9c372f9b4af7595b", "level": "error", "message": {"text": "Dangling fetch: POST https://evil.com/collect (src/skills/security/scanner.test.ts:209)"}, "properties": {"repobilityId": "d9e78cd4ef14dc50", "scanner": "scanner-primary", "fingerprint": "9c372f9b4af7595b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1c3fb42e9d6eaad6", "level": "error", "message": {"text": "Dangling fetch: POST https://evil.com/harvest (src/skills/security/scanner.test.ts:245)"}, "properties": {"repobilityId": "cedb9ff8de374c51", "scanner": "scanner-primary", "fingerprint": "1c3fb42e9d6eaad6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2da0bb2c42d25e81", "level": "error", "message": {"text": "Dangling fetch: GET https://example.invalid (src/skills/security/scanner.test.ts:290)"}, "properties": {"repobilityId": "c2c980a579e52d1c", "scanner": "scanner-primary", "fingerprint": "2da0bb2c42d25e81", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-04be4b1676047a09", "level": "error", "message": {"text": "Dangling fetch: GET https://api.example.com/data (src/skills/security/scanner.test.ts:312)"}, "properties": {"repobilityId": "1d6b82022bec9387", "scanner": "scanner-primary", "fingerprint": "04be4b1676047a09", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-91371df6d4ec839e", "level": "error", "message": {"text": "Dangling fetch: POST https://evil.example/harvest (src/skills/security/scanner.test.ts:350)"}, "properties": {"repobilityId": "8122d096b327c2d5", "scanner": "scanner-primary", "fingerprint": "91371df6d4ec839e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c51c42cb9edcf2d1", "level": "error", "message": {"text": "Dangling fetch: POST https://evil.example/harvest (src/skills/security/scanner.test.ts:436)"}, "properties": {"repobilityId": "b7efcc64af8d3146", "scanner": "scanner-primary", "fingerprint": "c51c42cb9edcf2d1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a96b8cbe003505bb", "level": "error", "message": {"text": "Dangling fetch: POST https://api.minimax.io/anthropic/messages (src/proxy-capture/runtime.test.ts:68)"}, "properties": {"repobilityId": "0128bd32f48b7d21", "scanner": "scanner-primary", "fingerprint": "a96b8cbe003505bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7ffd2d2e83f4ac69", "level": "error", "message": {"text": "Dangling fetch: POST https://api.example.com/messages (src/proxy-capture/runtime.test.ts:103)"}, "properties": {"repobilityId": "c27f58e7016a81c1", "scanner": "scanner-primary", "fingerprint": "7ffd2d2e83f4ac69", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5c17a31e7e016ad9", "level": "error", "message": {"text": "Dangling fetch: OPTIONS http://127.0.0.1:${port}/callback (src/plugin-sdk/provider-auth-runtime.test.ts:97)"}, "properties": {"repobilityId": "6ec3e2e5cb0b99fb", "scanner": "scanner-primary", "fingerprint": "5c17a31e7e016ad9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-47837d6da5186fb7", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.test.ts:112)"}, "properties": {"repobilityId": "23a2ae90253db216", "scanner": "scanner-primary", "fingerprint": "47837d6da5186fb7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ab6f4cd2defccffd", "level": "error", "message": {"text": "Dangling fetch: OPTIONS http://127.0.0.1:${port}/callback (src/plugin-sdk/provider-auth-runtime.test.ts:136)"}, "properties": {"repobilityId": "8670699ded8676fa", "scanner": "scanner-primary", "fingerprint": "ab6f4cd2defccffd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-559c6a6058a4e09b", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.test.ts:152)"}, "properties": {"repobilityId": "495eb634a440ee9a", "scanner": "scanner-primary", "fingerprint": "559c6a6058a4e09b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4aad3ac53e9471ed", "level": "error", "message": {"text": "Dangling fetch: OPTIONS http://127.0.0.1:${port}/callback (src/plugin-sdk/provider-auth-runtime.test.ts:175)"}, "properties": {"repobilityId": "ffd1ae8ff09fbd4b", "scanner": "scanner-primary", "fingerprint": "4aad3ac53e9471ed", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-afeee191390acbb3", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.test.ts:187)"}, "properties": {"repobilityId": "3bd996085e65311b", "scanner": "scanner-primary", "fingerprint": "afeee191390acbb3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-28276d4d6b936940", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/callback?code=code-1&state=state-1 (src/plugin-sdk/provider-auth-runtime.test.ts:211)"}, "properties": {"repobilityId": "c582db640a20ec47", "scanner": "scanner-primary", "fingerprint": "28276d4d6b936940", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3ab1f39c8832f38d", "level": "error", "message": {"text": "Dangling fetch: POST https://evil.example/harvest (src/plugins/install.test.ts:1689)"}, "properties": {"repobilityId": "afd3db1fcf62c2b8", "scanner": "scanner-primary", "fingerprint": "3ab1f39c8832f38d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-01dc2027d38f71af", "level": "error", "message": {"text": "Dangling fetch: POST https://example.invalid (src/plugins/install.test.ts:1714)"}, "properties": {"repobilityId": "2546f836e7eb05e8", "scanner": "scanner-primary", "fingerprint": "01dc2027d38f71af", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-071a9cb00620d9e6", "level": "error", "message": {"text": "Dangling fetch: POST https://evil.example/harvest (src/plugins/install.test.ts:1894)"}, "properties": {"repobilityId": "395c4d48eb77129c", "scanner": "scanner-primary", "fingerprint": "071a9cb00620d9e6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5a9e0e70092ffa24", "level": "note", "message": {"text": "Unused endpoint: POST /api/messages"}, "properties": {"repobilityId": "f833807be22b4952", "scanner": "scanner-primary", "fingerprint": "5a9e0e70092ffa24", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b135adf8b2ac4da2", "level": "note", "message": {"text": "Unused endpoint: GET /sandbox/novnc"}, "properties": {"repobilityId": "4bb72e412358c326", "scanner": "scanner-primary", "fingerprint": "b135adf8b2ac4da2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "e5b696316d57034a", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-363143a2ad990255", "level": "note", "message": {"text": "Unused endpoint: POST /navigate"}, "properties": {"repobilityId": "cfd55b0f16f2b3ad", "scanner": "scanner-primary", "fingerprint": "363143a2ad990255", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ba67ceae243e6e30", "level": "note", "message": {"text": "Unused endpoint: POST /pdf"}, "properties": {"repobilityId": "e91161dc6576f254", "scanner": "scanner-primary", "fingerprint": "ba67ceae243e6e30", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9d8250d23ca2ab67", "level": "note", "message": {"text": "Unused endpoint: POST /screenshot"}, "properties": {"repobilityId": "26c436ecd54cebc3", "scanner": "scanner-primary", "fingerprint": "9d8250d23ca2ab67", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2c085d1b690941f8", "level": "note", "message": {"text": "Unused endpoint: GET /snapshot"}, "properties": {"repobilityId": "6a54e016628b9265", "scanner": "scanner-primary", "fingerprint": "2c085d1b690941f8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-39866e2e69fe467c", "level": "note", "message": {"text": "Unused endpoint: GET /console"}, "properties": {"repobilityId": "8742f727c5f60c0d", "scanner": "scanner-primary", "fingerprint": "39866e2e69fe467c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1515654f1d0fdbfe", "level": "note", "message": {"text": "Unused endpoint: GET /errors"}, "properties": {"repobilityId": "e7a01a47d8b440e5", "scanner": "scanner-primary", "fingerprint": "1515654f1d0fdbfe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-42719ea76f9ecae3", "level": "note", "message": {"text": "Unused endpoint: GET /requests"}, "properties": {"repobilityId": "1d59ddced44775a8", "scanner": "scanner-primary", "fingerprint": "42719ea76f9ecae3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a9c4e55608191ace", "level": "note", "message": {"text": "Unused endpoint: GET /dialogs"}, "properties": {"repobilityId": "f4626653755ff792", "scanner": "scanner-primary", "fingerprint": "a9c4e55608191ace", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8552926a7000e0c2", "level": "note", "message": {"text": "Unused endpoint: POST /trace/start"}, "properties": {"repobilityId": "a7129ce183c07f52", "scanner": "scanner-primary", "fingerprint": "8552926a7000e0c2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1515aed1e420aef2", "level": "note", "message": {"text": "Unused endpoint: POST /trace/stop"}, "properties": {"repobilityId": "8c5fce7c56a48b18", "scanner": "scanner-primary", "fingerprint": "1515aed1e420aef2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8e8ab2b0b0c864f4", "level": "note", "message": {"text": "Unused endpoint: POST /permissions/grant"}, "properties": {"repobilityId": "17919c161e5101f9", "scanner": "scanner-primary", "fingerprint": "8e8ab2b0b0c864f4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-71ca89ab38d002bb", "level": "note", "message": {"text": "Unused endpoint: GET /cookies"}, "properties": {"repobilityId": "4cc4b7984978cb82", "scanner": "scanner-primary", "fingerprint": "71ca89ab38d002bb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1628c6443b505b6d", "level": "note", "message": {"text": "Unused endpoint: POST /cookies/set"}, "properties": {"repobilityId": "f138cbe2d575dd2c", "scanner": "scanner-primary", "fingerprint": "1628c6443b505b6d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-237901e45540c4e7", "level": "note", "message": {"text": "Unused endpoint: POST /cookies/clear"}, "properties": {"repobilityId": "d52a3856c86b037e", "scanner": "scanner-primary", "fingerprint": "237901e45540c4e7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ca0d2167d64b7fb8", "level": "note", "message": {"text": "Unused endpoint: GET /storage/:kind"}, "properties": {"repobilityId": "9f0eef3e5af43993", "scanner": "scanner-primary", "fingerprint": "ca0d2167d64b7fb8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-886bb4800c4fa182", "level": "note", "message": {"text": "Unused endpoint: POST /storage/:kind/set"}, "properties": {"repobilityId": "bdd1fbddd25c07b5", "scanner": "scanner-primary", "fingerprint": "886bb4800c4fa182", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8ce49ae34674623a", "level": "note", "message": {"text": "Unused endpoint: POST /storage/:kind/clear"}, "properties": {"repobilityId": "ed5dae4c47bccb42", "scanner": "scanner-primary", "fingerprint": "8ce49ae34674623a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bb8279751c25c50a", "level": "note", "message": {"text": "Unused endpoint: POST /set/offline"}, "properties": {"repobilityId": "6250aa9994b4b42d", "scanner": "scanner-primary", "fingerprint": "bb8279751c25c50a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e23b5a4d96c66536", "level": "note", "message": {"text": "Unused endpoint: POST /set/headers"}, "properties": {"repobilityId": "3db1afcc1ed02d67", "scanner": "scanner-primary", "fingerprint": "e23b5a4d96c66536", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d36a6a0de154d387", "level": "note", "message": {"text": "Unused endpoint: POST /set/credentials"}, "properties": {"repobilityId": "d68942321c1d70e8", "scanner": "scanner-primary", "fingerprint": "d36a6a0de154d387", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6801264f67cae589", "level": "note", "message": {"text": "Unused endpoint: POST /set/geolocation"}, "properties": {"repobilityId": "9bccec4f209a83d1", "scanner": "scanner-primary", "fingerprint": "6801264f67cae589", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9dda5dc77dc2f670", "level": "note", "message": {"text": "Unused endpoint: POST /set/media"}, "properties": {"repobilityId": "2413aca7814b9763", "scanner": "scanner-primary", "fingerprint": "9dda5dc77dc2f670", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-aa5e853ad1f982d8", "level": "note", "message": {"text": "Unused endpoint: POST /set/timezone"}, "properties": {"repobilityId": "7bf606515c663275", "scanner": "scanner-primary", "fingerprint": "aa5e853ad1f982d8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d3170392513a4b27", "level": "note", "message": {"text": "Unused endpoint: POST /set/locale"}, "properties": {"repobilityId": "a54d9c3a428e4d88", "scanner": "scanner-primary", "fingerprint": "d3170392513a4b27", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8a48f14cae5ea716", "level": "note", "message": {"text": "Unused endpoint: POST /set/device"}, "properties": {"repobilityId": "2a1cdf0ccce80c08", "scanner": "scanner-primary", "fingerprint": "8a48f14cae5ea716", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bde561e2a674d825", "level": "note", "message": {"text": "Unused endpoint: GET /tabs"}, "properties": {"repobilityId": "ae09439fa29c7aa4", "scanner": "scanner-primary", "fingerprint": "bde561e2a674d825", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f0ffb7387c18400e", "level": "note", "message": {"text": "Unused endpoint: POST /tabs/open"}, "properties": {"repobilityId": "c6ac3de7a55b791e", "scanner": "scanner-primary", "fingerprint": "f0ffb7387c18400e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-07662a7a501fa8d7", "level": "note", "message": {"text": "Unused endpoint: POST /tabs/focus"}, "properties": {"repobilityId": "dbc437b849959709", "scanner": "scanner-primary", "fingerprint": "07662a7a501fa8d7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-03fcf605501f155f", "level": "note", "message": {"text": "Unused endpoint: DELETE /tabs/:targetId"}, "properties": {"repobilityId": "2fb8c930bb22a933", "scanner": "scanner-primary", "fingerprint": "03fcf605501f155f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9ada56d2bb91bfa2", "level": "note", "message": {"text": "Unused endpoint: POST /tabs/action"}, "properties": {"repobilityId": "ed616f5ed02b3727", "scanner": "scanner-primary", "fingerprint": "9ada56d2bb91bfa2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6d9534131ed7ca41", "level": "note", "message": {"text": "Unused endpoint: GET /profiles"}, "properties": {"repobilityId": "732da623aafcc0ac", "scanner": "scanner-primary", "fingerprint": "6d9534131ed7ca41", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7d5259467da945a9", "level": "note", "message": {"text": "Unused endpoint: GET /doctor"}, "properties": {"repobilityId": "da45ae0c1e3d34a7", "scanner": "scanner-primary", "fingerprint": "7d5259467da945a9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a9868b51ab240c13", "level": "note", "message": {"text": "Unused endpoint: POST /profiles/create"}, "properties": {"repobilityId": "1bcfe7c60a1f831a", "scanner": "scanner-primary", "fingerprint": "a9868b51ab240c13", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1cae007d4527ae69", "level": "note", "message": {"text": "Unused endpoint: DELETE /profiles/:name"}, "properties": {"repobilityId": "51c42396fe77754b", "scanner": "scanner-primary", "fingerprint": "1cae007d4527ae69", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-316f5d26daffa7f4", "level": "note", "message": {"text": "Unused endpoint: POST /hooks/file-chooser"}, "properties": {"repobilityId": "2364df49cc488cd3", "scanner": "scanner-primary", "fingerprint": "316f5d26daffa7f4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d9b83795af3b3c18", "level": "note", "message": {"text": "Unused endpoint: POST /hooks/dialog"}, "properties": {"repobilityId": "c0163bdf2c541f37", "scanner": "scanner-primary", "fingerprint": "d9b83795af3b3c18", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-07c8058844c53ae8", "level": "note", "message": {"text": "Unused endpoint: POST /act"}, "properties": {"repobilityId": "34bca6f64d88aab2", "scanner": "scanner-primary", "fingerprint": "07c8058844c53ae8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-25bcc9202d9a9856", "level": "note", "message": {"text": "Unused endpoint: POST /response/body"}, "properties": {"repobilityId": "f61c1a17b30d3799", "scanner": "scanner-primary", "fingerprint": "25bcc9202d9a9856", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b8add6a11c26b02c", "level": "note", "message": {"text": "Unused endpoint: POST /highlight"}, "properties": {"repobilityId": "6387094a824acf83", "scanner": "scanner-primary", "fingerprint": "b8add6a11c26b02c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e37e11fb10067f11", "level": "note", "message": {"text": "Unused endpoint: POST /wait/download"}, "properties": {"repobilityId": "8283f5e1b8dce98d", "scanner": "scanner-primary", "fingerprint": "e37e11fb10067f11", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5654b898499633a4", "level": "note", "message": {"text": "Unused endpoint: POST /download"}, "properties": {"repobilityId": "59592b6b9a9229a1", "scanner": "scanner-primary", "fingerprint": "5654b898499633a4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}