{"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-98e7d9ea02ac669f", "name": "Possibly dead Python function: cmd_combine", "shortDescription": {"text": "Possibly dead Python function: cmd_combine"}, "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-3f5b648b96651b35", "name": "Possibly dead Python function: cmd_report", "shortDescription": {"text": "Possibly dead Python function: cmd_report"}, "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-350eea565cc30495", "name": "Possibly dead Python function: cmd_compare", "shortDescription": {"text": "Possibly dead Python function: cmd_compare"}, "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-9aa67d9eef5071a9", "name": "Possibly dead Python function: register_subcommand", "shortDescription": {"text": "Possibly dead Python function: register_subcommand"}, "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-3f60eed7f2e2fe81", "name": "Possibly dead Python function: register_subcommand", "shortDescription": {"text": "Possibly dead Python function: register_subcommand"}, "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-76af7705a179b590", "name": "Possibly dead Python function: register_subcommand", "shortDescription": {"text": "Possibly dead Python function: register_subcommand"}, "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-c8cc307b4445190e", "name": "Possibly dead Python function: ignore_patterns", "shortDescription": {"text": "Possibly dead Python function: ignore_patterns"}, "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-f608c02043815bc2", "name": "Possibly dead Python function: register_subcommand", "shortDescription": {"text": "Possibly dead Python function: register_subcommand"}, "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-c5ae2b60d43f361e", "name": "Possibly dead Python function: register_subcommand", "shortDescription": {"text": "Possibly dead Python function: register_subcommand"}, "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-1b2f0f14ee17013f", "name": "Possibly dead Python function: register_subcommand", "shortDescription": {"text": "Possibly dead Python function: register_subcommand"}, "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-3f9d9d04402ba043", "name": "Possibly dead Python function: register_subcommand", "shortDescription": {"text": "Possibly dead Python function: register_subcommand"}, "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-f7eb6d0a1cc74f53", "name": "Possibly dead Python function: resolve_and_materialize", "shortDescription": {"text": "Possibly dead Python function: resolve_and_materialize"}, "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-7e4ed0a28d7249f9", "name": "Possibly dead Python function: workspace_runs_dir", "shortDescription": {"text": "Possibly dead Python function: workspace_runs_dir"}, "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-c89988dc4f32c00b", "name": "Stray `console.log` in TS/JS \u2014 videos/scripts/generate-voiceover.ts:317", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/generate-voiceover.ts:317"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b41bfe9f191395b", "name": "Stray `console.log` in TS/JS \u2014 videos/scripts/generate-srt.ts:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/generate-srt.ts:73"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9494ca724d4a8825", "name": "Stray `console.log` in TS/JS \u2014 videos/scripts/generate-posters.ts:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/generate-posters.ts:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07b58e1b2eaa1b34", "name": "Stray `console.log` in TS/JS \u2014 videos/scripts/render-all.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/render-all.ts:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ead9833ecc99877", "name": "Stray `console.log` in TS/JS \u2014 videos/scripts/publish-to-docs.ts:55", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/publish-to-docs.ts:55"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc2556792db008c5", "name": "Stray `console.log` in TS/JS \u2014 worca-ui/scripts/build-frontend.js:48", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/scripts/build-frontend.js: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-a5f6b4d4785b18ed", "name": "Stray `console.log` in TS/JS \u2014 worca-ui/app/utils/logging.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/app/utils/logging.js:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-baaa378837b18651", "name": "TODO/FIXME marker in shipping code \u2014 worca-ui/app/views/pipelines-editor-save.test.js:42", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 worca-ui/app/views/pipelines-editor-save.test.js:42"}, "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-09e1939688243854", "name": "Stray `console.log` in TS/JS \u2014 worca-ui/app/views/pipelines-editor.js:1310", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/app/views/pipelines-editor.js:1310"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c9de5a14f53b15da", "name": "Stray `console.log` in TS/JS \u2014 worca-ui/server/ws-message-router.js:697", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/server/ws-message-router.js:697"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b25661138249c82", "name": "Stray `console.log` in TS/JS \u2014 worca-ui/server/index.js:125", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/server/index.js:125"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9c5b8f1ff4fbb228", "name": "Stray `console.log` in TS/JS \u2014 worca-ui/server/test/strip-shebang-plugin.test.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/server/test/strip-shebang-plugin.test.js:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a35a3a3a239816d4", "name": "Stray `console.log` in TS/JS \u2014 worca-ui/e2e/test-fixture-templates.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/e2e/test-fixture-templates.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6ae80cd3ef04c06", "name": "Insecure pattern 'node_child_process' in videos/scripts/generate-posters.ts:14", "shortDescription": {"text": "Insecure pattern 'node_child_process' in videos/scripts/generate-posters.ts:14"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-490b7ec1803ed68a", "name": "Insecure pattern 'node_child_process' in videos/scripts/render-all.ts:14", "shortDescription": {"text": "Insecure pattern 'node_child_process' in videos/scripts/render-all.ts:14"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e6a782d2f19733fb", "name": "Insecure pattern 'subprocess_shell_true' in src/worca/workspace/integration_test.py:128", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in src/worca/workspace/integration_test.py:128"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-00865424fcbc13dd", "name": "Insecure pattern 'subprocess_shell_true' in src/worca/orchestrator/events.py:66", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in src/worca/orchestrator/events.py:66"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a3ac0ad4489914bb", "name": "Insecure pattern 'node_child_process' in worca-ui/scripts/build-frontend.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/scripts/build-frontend.js:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-77b62ee5b84d7a93", "name": "Insecure pattern 'direct_innerhtml_assignment' in worca-ui/app/views/run-timeline.js:238", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in worca-ui/app/views/run-timeline.js:238"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-79cafae31b78fe75", "name": "Insecure pattern 'direct_innerhtml_assignment' in worca-ui/app/views/project-setup-wizard.test.js:90", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in worca-ui/app/views/project-setup-wizard.test.js:90"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2689076991d15eac", "name": "Insecure pattern 'direct_innerhtml_assignment' in worca-ui/app/views/settings-pipeline-deep-link.test.js:34", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in worca-ui/app/views/settings-pipeline-deep-link.test.js:34"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2ff569801238ffc6", "name": "Insecure pattern 'node_child_process' in worca-ui/server/worktree-ops.js:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/worktree-ops.js:5"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3ffa43b25a06a48f", "name": "Insecure pattern 'node_child_process' in worca-ui/server/git-helpers.test.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/git-helpers.test.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a7f6848aa3acc889", "name": "Insecure pattern 'node_child_process' in worca-ui/server/git-helpers.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/git-helpers.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1f0508860da62eef", "name": "Insecure pattern 'node_child_process' in worca-ui/server/project-routes.js:9", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/project-routes.js:9"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0b651f4cca533db", "name": "Insecure pattern 'node_child_process' in worca-ui/server/graphify-status.test.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/graphify-status.test.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-301df6866417c423", "name": "Insecure pattern 'node_child_process' in worca-ui/server/bd-daemon.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/bd-daemon.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-14cdfbdfc3f4d7a3", "name": "Insecure pattern 'node_child_process' in worca-ui/server/worca-setup.js:11", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/worca-setup.js:11"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e09676fa0d236afb", "name": "Insecure pattern 'node_child_process' in worca-ui/server/code-review-graph-status.test.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/code-review-graph-status.test.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3727afc80c1829f4", "name": "Insecure pattern 'node_child_process' in worca-ui/server/app.js:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/app.js:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b2c6653c700713df", "name": "Insecure pattern 'node_child_process' in worca-ui/server/graphify-status.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/graphify-status.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9995b5777909fff4", "name": "Insecure pattern 'node_child_process' in worca-ui/server/project-routes.test.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/project-routes.test.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-52aff4dc59c52fac", "name": "Insecure pattern 'node_child_process' in worca-ui/server/process-manager.js:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/process-manager.js:6"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-71c92fa3d08d93b2", "name": "Insecure pattern 'node_child_process' in worca-ui/server/dispatch-external.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/dispatch-external.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aeb8f5a935e37057", "name": "Insecure pattern 'node_child_process' in worca-ui/server/beads-reader.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/beads-reader.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-294b7ab294eba38a", "name": "Insecure pattern 'node_child_process' in worca-ui/server/project-routes-worktree-control.test.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/project-routes-worktree-control.test.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c49729a7473bf93b", "name": "Insecure pattern 'node_child_process' in worca-ui/server/code-review-graph-status.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/code-review-graph-status.js:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aa1300a1fd2ed805", "name": "Insecure pattern 'node_child_process' in worca-ui/server/version-check.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/version-check.js:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2c5db6769fc0d025", "name": "Insecure pattern 'node_child_process' in worca-ui/server/workspace-routes.js:12", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/workspace-routes.js:12"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-06e153ce89063f15", "name": "Insecure pattern 'node_child_process' in worca-ui/server/fleet-routes.js:8", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/fleet-routes.js:8"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d8e3e4f1b5f50feb", "name": "Insecure pattern 'node_child_process' in worca-ui/server/versions.js:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/versions.js:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8c1d4fa39fde0929", "name": "Insecure pattern 'node_child_process' in worca-ui/e2e/markdown-rendering.spec.js:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in worca-ui/e2e/markdown-rendering.spec.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7efbda965f283c17", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-python@v6 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-14cdfa58eeacdd43", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v6 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-8f52ce1bb047ea6d", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v6 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-88b688b5b8494760", "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-f9f974bb8fb136e5", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-python@v6 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-b126c22a1b9b8a46", "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-279a6b5ff505fe07", "name": "Very large file: tests/test_guard.py (1402 lines)", "shortDescription": {"text": "Very large file: tests/test_guard.py (1402 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0034ee09f2f0cbfb", "name": "Very large file: tests/test_runner.py (5116 lines)", "shortDescription": {"text": "Very large file: tests/test_runner.py (5116 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb3aba65c35d078a", "name": "Very large file: tests/test_event_types.py (1426 lines)", "shortDescription": {"text": "Very large file: tests/test_event_types.py (1426 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0bfa19c315b07c67", "name": "Very large file: tests/test_run_pipeline.py (1496 lines)", "shortDescription": {"text": "Very large file: tests/test_run_pipeline.py (1496 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-60720472aed0c402", "name": "Very large file: tests/test_cli_templates.py (3133 lines)", "shortDescription": {"text": "Very large file: tests/test_cli_templates.py (3133 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f2d33457eeb656b", "name": "Very large file: tests/test_runner_plan_review.py (1269 lines)", "shortDescription": {"text": "Very large file: tests/test_runner_plan_review.py (1269 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-288521d184e3fd26", "name": "Very large file: tests/test_cli_cleanup.py (1469 lines)", "shortDescription": {"text": "Very large file: tests/test_cli_cleanup.py (1469 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-92b843e74f55dfc2", "name": "Very large file: tests/test_work_request.py (1450 lines)", "shortDescription": {"text": "Very large file: tests/test_work_request.py (1450 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42adac6bdc2c42fb", "name": "Very large file: tests/test_runner_plan_review_routing.py (1113 lines)", "shortDescription": {"text": "Very large file: tests/test_runner_plan_review_routing.py (1113 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-25a00ba1a33dc9f4", "name": "Very large file: tests/test_dag_executor.py (1677 lines)", "shortDescription": {"text": "Very large file: tests/test_dag_executor.py (1677 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d453aacae97767ae", "name": "Very large file: tests/test_run_workspace.py (1389 lines)", "shortDescription": {"text": "Very large file: tests/test_run_workspace.py (1389 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f73eac213581c349", "name": "Very large file: tests/test_claude_cli.py (2084 lines)", "shortDescription": {"text": "Very large file: tests/test_claude_cli.py (2084 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd692efb2bf33473", "name": "Very large file: tests/integration/test_fleet_lifecycle_e2e.py (1295 lines)", "shortDescription": {"text": "Very large file: tests/integration/test_fleet_lifecycle_e2e.py (1295 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6507c8e033d053e", "name": "Very large file: src/worca/scripts/run_workspace.py (1629 lines)", "shortDescription": {"text": "Very large file: src/worca/scripts/run_workspace.py (1629 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a587c603cbf34fde", "name": "Very large file: src/worca/cli/templates.py (2222 lines)", "shortDescription": {"text": "Very large file: src/worca/cli/templates.py (2222 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e025c145da3ea7db", "name": "Very large file: src/worca/cli/init.py (1310 lines)", "shortDescription": {"text": "Very large file: src/worca/cli/init.py (1310 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-85451fe0eac92ad1", "name": "Very large file: src/worca/orchestrator/executor.py (1697 lines)", "shortDescription": {"text": "Very large file: src/worca/orchestrator/executor.py (1697 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29aeabb30fcbf54b", "name": "Very large file: src/worca/orchestrator/runner.py (4161 lines)", "shortDescription": {"text": "Very large file: src/worca/orchestrator/runner.py (4161 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f388f9b8b353468", "name": "Very large file: worca-ui/app/main.js (6223 lines)", "shortDescription": {"text": "Very large file: worca-ui/app/main.js (6223 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c00c4579c5d60a0", "name": "Very large file: worca-ui/app/views/settings.js (3496 lines)", "shortDescription": {"text": "Very large file: worca-ui/app/views/settings.js (3496 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-208207ad013d4680", "name": "Very large file: worca-ui/app/views/run-file-access.test.js (1913 lines)", "shortDescription": {"text": "Very large file: worca-ui/app/views/run-file-access.test.js (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-b5f5ce06e3904568", "name": "Very large file: worca-ui/app/views/pipelines-editor.js (2778 lines)", "shortDescription": {"text": "Very large file: worca-ui/app/views/pipelines-editor.js (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-919b95ea08f57a79", "name": "Very large file: worca-ui/app/views/run-detail.js (2465 lines)", "shortDescription": {"text": "Very large file: worca-ui/app/views/run-detail.js (2465 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24fe67fd8ad17a43", "name": "Very large file: worca-ui/server/project-routes.js (1929 lines)", "shortDescription": {"text": "Very large file: worca-ui/server/project-routes.js (1929 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0e9a20be1e57550f", "name": "Very large file: worca-ui/server/app.js (1517 lines)", "shortDescription": {"text": "Very large file: worca-ui/server/app.js (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-c6fd36eb2ea6f439", "name": "Very large file: worca-ui/server/workspace-routes.js (1835 lines)", "shortDescription": {"text": "Very large file: worca-ui/server/workspace-routes.js (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-5b99d1a3a09b1419", "name": "32 TODO/FIXME markers", "shortDescription": {"text": "32 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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 597 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 139 placeholder/mock markers across 47 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-7be767240fc6c5d4", "name": "Agent instruction/config may expose a secret: .claude/skills/worca-webhook-test/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/skills/worca-webhook-test/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-d2a26d766bd0e208", "name": "Agent authority lacks a verifier contract: .claude/skills/worca-rc/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/worca-rc/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-24225a77e31b1dc2", "name": "Agent instruction contains unpinned remote install: .claude/skills/worca-rc/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: .claude/skills/worca-rc/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-fabeaeb3da16a951", "name": "Agent instruction contains unpinned remote install: .claude/skills/worca-release/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: .claude/skills/worca-release/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-0cf7d57ef3d7e288", "name": "Commented-code block (6 lines) in tests/test_effort.py:587", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_effort.py:587"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-584cab4ad1341a7c", "name": "Legacy-named symbol `_dispatch_legacy` in tests/test_init_migration.py:168", "shortDescription": {"text": "Legacy-named symbol `_dispatch_legacy` in tests/test_init_migration.py: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-99a33cb58988e155", "name": "Legacy-named symbol `base_copy` in tests/test_settings.py:60", "shortDescription": {"text": "Legacy-named symbol `base_copy` in tests/test_settings.py:60"}, "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-4c2ccd19833d53a7", "name": "Legacy-named symbol `fake_copy` in tests/test_run_parallel.py:167", "shortDescription": {"text": "Legacy-named symbol `fake_copy` in tests/test_run_parallel.py:167"}, "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-76a6b8c5c453c158", "name": "Commented-code block (7 lines) in tests/conftest.py:22", "shortDescription": {"text": "Commented-code block (7 lines) in tests/conftest.py: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-160eab95b42b0557", "name": "Commented-code block (5 lines) in tests/test_template_advisor.py:302", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_template_advisor.py: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-c45f6b9cb6a47c54", "name": "Legacy-named symbol `_dispatch_legacy` in tests/test_denylist_sync.py:140", "shortDescription": {"text": "Legacy-named symbol `_dispatch_legacy` in tests/test_denylist_sync.py:140"}, "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-0e851f0c59fd2e33", "name": "Commented-code block (7 lines) in tests/test_denylist_sync.py:122", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_denylist_sync.py: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-42d34ec8f7084a42", "name": "Commented-code block (7 lines) in tests/test_fleet_manifest.py:495", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_fleet_manifest.py: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-c0a47d3bfa261557", "name": "Legacy-named symbol `test_older_than_filter_includes_old` in tests/test_cli_cleanup.py:177", "shortDescription": {"text": "Legacy-named symbol `test_older_than_filter_includes_old` in tests/test_cli_cleanup.py:177"}, "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-182fae7a1f3905b3", "name": "Legacy-named symbol `test_wal_checkpoint_runs_before_copy` in tests/test_crg_preflight.py:181", "shortDescription": {"text": "Legacy-named symbol `test_wal_checkpoint_runs_before_copy` in tests/test_crg_preflight.py:181"}, "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-d3e462f647b3039c", "name": "Legacy-named symbol `test_detect_crg_fastmcp_too_old` in tests/test_crg_detect.py:50", "shortDescription": {"text": "Legacy-named symbol `test_detect_crg_fastmcp_too_old` in tests/test_crg_detect.py: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-8d34d4ff3c761c8d", "name": "Legacy-named symbol `test_zip_without_models_json_synthesizes_v2` in tests/test_bundle.py:1160", "shortDescription": {"text": "Legacy-named symbol `test_zip_without_models_json_synthesizes_v2` in tests/test_bundle.py:1160"}, "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-a5d8f586fc1087c4", "name": "Legacy-named symbol `test_cli_present_incompatible_version_too_old` in tests/test_graphify_detect.py:45", "shortDescription": {"text": "Legacy-named symbol `test_cli_present_incompatible_version_too_old` in tests/test_graphify_detect.py: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-6b4eeced80f4aef3", "name": "Legacy-named symbol `test_restore_loop_counters_returns_copy` in tests/test_iteration_resume.py:139", "shortDescription": {"text": "Legacy-named symbol `test_restore_loop_counters_returns_copy` in tests/test_iteration_resume.py:139"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf9d3b0851b65a2d", "name": "Legacy-named symbol `test_no_profile_returns_base_copy` in tests/test_graphify_settings.py:343", "shortDescription": {"text": "Legacy-named symbol `test_no_profile_returns_base_copy` in tests/test_graphify_settings.py:343"}, "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-748292003d8f0a2e", "name": "Commented-code block (8 lines) in tests/test_fleet_circuit_breaker.py:112", "shortDescription": {"text": "Commented-code block (8 lines) in tests/test_fleet_circuit_breaker.py: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-e9f03a46253759b7", "name": "Commented-code block (5 lines) in tests/test_filter_model_env.py:102", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_filter_model_env.py:102"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1e90ead14e692695", "name": "Legacy-named symbol `current_copy` in tests/test_templates.py:330", "shortDescription": {"text": "Legacy-named symbol `current_copy` in tests/test_templates.py:330"}, "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-cfe9f50304979233", "name": "Commented-code block (8 lines) in tests/test_claude_cli.py:30", "shortDescription": {"text": "Commented-code block (8 lines) in tests/test_claude_cli.py:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b000c94c0e4afd82", "name": "Commented-code block (6 lines) in tests/integration/conftest.py:636", "shortDescription": {"text": "Commented-code block (6 lines) in tests/integration/conftest.py:636"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-beb742789ad9c468", "name": "Commented-code block (5 lines) in tests/integration/test_workspace_e2e.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/test_workspace_e2e.py: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-2087b54edb142f70", "name": "Commented-code block (5 lines) in tests/integration/test_ui_server_against_live_run.py:191", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/test_ui_server_against_live_run.py: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-d3cddaad223d4a50", "name": "Commented-code block (7 lines) in tests/integration/test_fleet_lifecycle_e2e.py:485", "shortDescription": {"text": "Commented-code block (7 lines) in tests/integration/test_fleet_lifecycle_e2e.py:485"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4ba9989a0d5a20c9", "name": "Commented-code block (5 lines) in tests/integration/test_graphify_pipeline.py:23", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/test_graphify_pipeline.py:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-933ba8ce91008ee7", "name": "Commented-code block (5 lines) in tests/integration/test_beads_integration.py:266", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/test_beads_integration.py:266"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ec5eb364392df76", "name": "Legacy-named symbol `test_crg_preflight_builds_and_seeds_run_copy` in tests/integration/test_crg_pipeline.py:110", "shortDescription": {"text": "Legacy-named symbol `test_crg_preflight_builds_and_seeds_run_copy` in tests/integration/test_crg_pipeline.py:110"}, "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-ec481d8af0391b7f", "name": "Commented-code block (7 lines) in tests/integration/test_orphan_cleanup.py:121", "shortDescription": {"text": "Commented-code block (7 lines) in tests/integration/test_orphan_cleanup.py:121"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4ffcbddc38a6bc53", "name": "Commented-code block (6 lines) in tests/integration/test_fixture_reap.py:16", "shortDescription": {"text": "Commented-code block (6 lines) in tests/integration/test_fixture_reap.py: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-81a8db6a79552ff2", "name": "Commented-code block (7 lines) in tests/integration/test_fixture_smoke.py:21", "shortDescription": {"text": "Commented-code block (7 lines) in tests/integration/test_fixture_smoke.py: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-14355544a5dedb0b", "name": "Commented-code block (7 lines) in tests/integration/stubs/_stub_lib.py:118", "shortDescription": {"text": "Commented-code block (7 lines) in tests/integration/stubs/_stub_lib.py:118"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-79c5e780140962a5", "name": "Commented-code block (7 lines) in tests/mock_claude/mock_claude.py:161", "shortDescription": {"text": "Commented-code block (7 lines) in tests/mock_claude/mock_claude.py:161"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e971d9717e385674", "name": "`fetch()` without try/.catch or AbortSignal \u2014 docs-site/worker/index.ts:15", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs-site/worker/index.ts:15"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d20b2a7a635d6a78", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/coverage.py:109", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/coverage.py:109"}, "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-39229ec5a21e293a", "name": "Commented-code block (6 lines) in scripts/check-help-links-live.py:68", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/check-help-links-live.py: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-e1a96d18d6169358", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/pr_stage_harness.py:48", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/pr_stage_harness.py:48"}, "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-d2c995af3996a3f1", "name": "Legacy-named symbol `eleven_multilingual_v2` in videos/scripts/generate-voiceover.ts:50", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in videos/scripts/generate-voiceover.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-980d0e39a8f866f1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 videos/scripts/generate-voiceover.ts:201", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 videos/scripts/generate-voiceover.ts:201"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5d1d44db89679164", "name": "Commented-code block (5 lines) in videos/src/theme.ts:53", "shortDescription": {"text": "Commented-code block (5 lines) in videos/src/theme.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-f6b758eda529c633", "name": "Commented-code block (6 lines) in videos/src/diagrams/Diagram04Inputs.tsx:55", "shortDescription": {"text": "Commented-code block (6 lines) in videos/src/diagrams/Diagram04Inputs.tsx:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb98f2ef9ae9a1a0", "name": "Commented-code block (5 lines) in src/worca/template_advisor.py:381", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/template_advisor.py:381"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bc072281f371b379", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/sync_pr.py:50", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/sync_pr.py:50"}, "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-e38833b2fcdb62d3", "name": "Commented-code block (5 lines) in src/worca/scripts/run_pipeline.py:306", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/scripts/run_pipeline.py:306"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-26611efef326f0a1", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/sync_commit.py:32", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/sync_commit.py:32"}, "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-18a5239ec8543ef1", "name": "Commented-code block (6 lines) in src/worca/scripts/run_workspace.py:640", "shortDescription": {"text": "Commented-code block (6 lines) in src/worca/scripts/run_workspace.py:640"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ff705ab9733f27a", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_workspace.py:764", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_workspace.py:764"}, "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-4c5fbbf56191dd4c", "name": "Commented-code block (6 lines) in src/worca/scripts/run_worktree.py:330", "shortDescription": {"text": "Commented-code block (6 lines) in src/worca/scripts/run_worktree.py:330"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05560cd3b88d2967", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_worktree.py:414", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_worktree.py:414"}, "fullDescription": {"text": "`subprocess.Popen(...)` 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-90f146b438587d6a", "name": "Commented-code block (5 lines) in src/worca/scripts/run_fleet.py:32", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/scripts/run_fleet.py:32"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-387dd3704ee9b258", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_fleet.py:68", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_fleet.py:68"}, "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-066c009c182e4e84", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_parallel.py:41", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_parallel.py:41"}, "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-cf3e0407de647892", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/cli/run_pipeline.py:100", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/cli/run_pipeline.py:100"}, "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-831a3cb2bc8add2b", "name": "Commented-code block (5 lines) in src/worca/cli/templates.py:772", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/cli/templates.py:772"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c786f97fe764ee4e", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/cli/templates.py:1017", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/cli/templates.py:1017"}, "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-530e3f6fcfbcc3d1", "name": "Legacy-named symbol `_dispatch_legacy` in src/worca/cli/init.py:246", "shortDescription": {"text": "Legacy-named symbol `_dispatch_legacy` in src/worca/cli/init.py:246"}, "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-cdcd63e9e475d05b", "name": "Commented-code block (6 lines) in src/worca/cli/init.py:158", "shortDescription": {"text": "Commented-code block (6 lines) in src/worca/cli/init.py: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-f208af0da1a1657d", "name": "Commented-code block (5 lines) in src/worca/cli/pr.py:239", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/cli/pr.py:239"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10dcab08d1d65734", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/cli/pr.py:186", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/cli/pr.py:186"}, "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-56ae0923211a24d2", "name": "Commented-code block (7 lines) in src/worca/utils/proc_registry.py:153", "shortDescription": {"text": "Commented-code block (7 lines) in src/worca/utils/proc_registry.py: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-237809274abb2d46", "name": "Commented-code block (11 lines) in src/worca/utils/claude_cli.py:62", "shortDescription": {"text": "Commented-code block (11 lines) in src/worca/utils/claude_cli.py:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5affd54b318cfd6a", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/utils/beads.py:59", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/utils/beads.py:59"}, "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-c6d2e45d20124351", "name": "Commented-code block (5 lines) in src/worca/utils/token_usage.py:57", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/utils/token_usage.py: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-52e636f3a0507594", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/utils/git.py:14", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/utils/git.py:14"}, "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-89426e394e91fa15", "name": "Commented-code block (5 lines) in src/worca/utils/gh_pr.py:29", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/utils/gh_pr.py: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-248a985a0fec5084", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/utils/gh_pr.py:135", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/utils/gh_pr.py:135"}, "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-6fa999dc62f0de41", "name": "Commented-code block (5 lines) in src/worca/utils/settings.py:39", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/utils/settings.py:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-79491fe8231aebd9", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/workspace/pr_linker.py:49", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/workspace/pr_linker.py:49"}, "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-98e2b3f643d7b31b", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/workspace/integration_test.py:39", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/workspace/integration_test.py:39"}, "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-d2210f40614e1c69", "name": "Commented-code block (5 lines) in src/worca/workspace/dag_executor.py:84", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/workspace/dag_executor.py: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-207ade2f33d50309", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/workspace/dag_executor.py:153", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/workspace/dag_executor.py:153"}, "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-3157647f2e020152", "name": "Commented-code block (7 lines) in src/worca/orchestrator/fleet_manifest.py:24", "shortDescription": {"text": "Commented-code block (7 lines) in src/worca/orchestrator/fleet_manifest.py:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b1cbb82f28c29f19", "name": "Commented-code block (5 lines) in src/worca/orchestrator/path_canon.py:97", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/path_canon.py:97"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee81bcdd54b5de19", "name": "Legacy-named symbol `redacted_manifest_copy` in src/worca/orchestrator/bundle.py:293", "shortDescription": {"text": "Legacy-named symbol `redacted_manifest_copy` in src/worca/orchestrator/bundle.py:293"}, "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-e915c7213cc996ca", "name": "Commented-code block (5 lines) in src/worca/orchestrator/bundle.py:80", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/bundle.py: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-e9d7ff4b8866c3ab", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/bundle.py:708", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/bundle.py:708"}, "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-904c2a5d17e90bb7", "name": "Commented-code block (10 lines) in src/worca/orchestrator/file_access_aggregation.py:149", "shortDescription": {"text": "Commented-code block (10 lines) in src/worca/orchestrator/file_access_aggregation.py:149"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b3a0768bd8e356b7", "name": "Commented-code block (5 lines) in src/worca/orchestrator/stages.py:55", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/stages.py:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-25a4c199ab2f54e7", "name": "Commented-code block (5 lines) in src/worca/orchestrator/templates.py:13", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/templates.py:13"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a2b371a4da3fff7", "name": "Commented-code block (5 lines) in src/worca/orchestrator/work_request.py:459", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/work_request.py:459"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9fe8e468702c305d", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/work_request.py:231", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/work_request.py:231"}, "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-18b2a87795183573", "name": "Commented-code block (8 lines) in src/worca/orchestrator/executor.py:477", "shortDescription": {"text": "Commented-code block (8 lines) in src/worca/orchestrator/executor.py:477"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d4d9f997110e1463", "name": "Commented-code block (5 lines) in src/worca/orchestrator/runner.py:129", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/runner.py: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-e0745e5a94144ead", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/runner.py:2197", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/runner.py:2197"}, "fullDescription": {"text": "`subprocess.Popen(...)` 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-a008a142b594b19a", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/fleet_lifecycle.py:228", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/fleet_lifecycle.py:228"}, "fullDescription": {"text": "`subprocess.Popen(...)` 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-ef14f6879febf371", "name": "Commented-code block (5 lines) in src/worca/orchestrator/flow.py:75", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/flow.py: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-93df9fe348328757", "name": "Legacy-named symbol `context_copy` in src/worca/orchestrator/prompt_builder.py:215", "shortDescription": {"text": "Legacy-named symbol `context_copy` in src/worca/orchestrator/prompt_builder.py:215"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-761bf280e62c9e86", "name": "Commented-code block (5 lines) in src/worca/orchestrator/prompt_builder.py:330", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/prompt_builder.py:330"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d435a058ba2011c0", "name": "Commented-code block (6 lines) in src/worca/hooks/guard.py:30", "shortDescription": {"text": "Commented-code block (6 lines) in src/worca/hooks/guard.py:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a228fc8cfc7d5286", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/hooks/session.py:26", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/hooks/session.py:26"}, "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-21dd52fa46bcf986", "name": "Stub function `get_env` (body is just `pass`/`return`) \u2014 src/worca/hooks/session.py:18", "shortDescription": {"text": "Stub function `get_env` (body is just `pass`/`return`) \u2014 src/worca/hooks/session.py:18"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79c6d898e0660ba7", "name": "Commented-code block (6 lines) in src/worca/hooks/tracking.py:43", "shortDescription": {"text": "Commented-code block (6 lines) in src/worca/hooks/tracking.py: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-e137830d4dc66561", "name": "Network/subprocess call without timeout or try/except \u2014 src/worca/hooks/tracking.py:338", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/hooks/tracking.py:338"}, "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-8782f02e88ef3eb8", "name": "Commented-code block (5 lines) in src/worca/claude_hooks/post_tool_use.py:136", "shortDescription": {"text": "Commented-code block (5 lines) in src/worca/claude_hooks/post_tool_use.py: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-daa30bfc696b4fbe", "name": "Commented-code block (6 lines) in src/worca/claude_hooks/skill_use.py:49", "shortDescription": {"text": "Commented-code block (6 lines) in src/worca/claude_hooks/skill_use.py: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-bc974e8dcd3ebef0", "name": "Commented-code block (6 lines) in worca-ui/test/server-e2e.test.js:29", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/test/server-e2e.test.js: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-7d56e9447d172718", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/test/server-e2e.test.js:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/test/server-e2e.test.js:11"}, "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-32c95c4a4c642a21", "name": "Commented-code block (7 lines) in worca-ui/scripts/build-frontend.js:158", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/scripts/build-frontend.js: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-dcc1e6295a3c05a8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/main-default-branch.test.js:169", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/main-default-branch.test.js:169"}, "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-4c7970ea9d309250", "name": "Commented-code block (5 lines) in worca-ui/app/state.js:62", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/state.js:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d34a87bc14a08fb6", "name": "Commented-code block (6 lines) in worca-ui/app/main.bulk-cleanup.test.js:77", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/app/main.bulk-cleanup.test.js:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0358431625c970bd", "name": "Commented-code block (7 lines) in worca-ui/app/main.js:212", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/app/main.js:212"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc841e4ef2da9250", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/main.js:825", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/main.js:825"}, "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-89aff7e58156e451", "name": "Commented-code block (9 lines) in worca-ui/app/router.js:6", "shortDescription": {"text": "Commented-code block (9 lines) in worca-ui/app/router.js: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-dbf2818eec88a40e", "name": "Commented-code block (5 lines) in worca-ui/app/utils/help-links.js:215", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/utils/help-links.js: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-fbd474752b26f8d4", "name": "Commented-code block (5 lines) in worca-ui/app/views/workspace-css.test.js:166", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/workspace-css.test.js: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-079b001b12b32e93", "name": "Commented-code block (5 lines) in worca-ui/app/views/settings.js:81", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/settings.js: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-cd2dc941f6b518b4", "name": "Commented-code block (5 lines) in worca-ui/app/views/pipelines.js:349", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/pipelines.js:349"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d7784cd49d6a10c7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/pipelines.js:112", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/pipelines.js:112"}, "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-c6c554e1d559526f", "name": "Commented-code block (7 lines) in worca-ui/app/views/sidebar.test.js:275", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/app/views/sidebar.test.js:275"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e9a4fce19df2798e", "name": "Commented-code block (5 lines) in worca-ui/app/views/run-template-styles.test.js:7", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/run-template-styles.test.js: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-2df2c2d20a05de65", "name": "Commented-code block (5 lines) in worca-ui/app/views/fleet-detail.test.js:158", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/fleet-detail.test.js: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-f4c5cf629199148d", "name": "Commented-code block (5 lines) in worca-ui/app/views/workspace-create.js:185", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/workspace-create.js:185"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6af206ca8736ad89", "name": "Commented-code block (7 lines) in worca-ui/app/views/pipelines-editor-models.test.js:91", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/app/views/pipelines-editor-models.test.js:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-755bd698350d6e8a", "name": "Commented-code block (6 lines) in worca-ui/app/views/run-timeline.js:354", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/app/views/run-timeline.js:354"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a39131d612e543cc", "name": "Commented-code block (5 lines) in worca-ui/app/views/dashboard-fleet.test.js:22", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/dashboard-fleet.test.js: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-c5584e8320ebabc5", "name": "Commented-code block (5 lines) in worca-ui/app/views/fleet-detail.js:83", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/fleet-detail.js:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87b628d6948f6f14", "name": "Commented-code block (7 lines) in worca-ui/app/views/new-run.js:435", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/app/views/new-run.js:435"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd9479209af09bac", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/new-run.js:66", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/new-run.js:66"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f6d07b3dcea8298c", "name": "Commented-code block (5 lines) in worca-ui/app/views/run-detail-plan-review-mode-badge.test.js:48", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/run-detail-plan-review-mode-badge.test.js: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-b3c12f4e2dfd9b85", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/project-setup-wizard.js:424", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/project-setup-wizard.js:424"}, "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-a9b048da65589530", "name": "Commented-code block (5 lines) in worca-ui/app/views/pipelines-editor.js:195", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/pipelines-editor.js: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-c0a84306834c6a09", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/pipelines-editor.js:736", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/pipelines-editor.js:736"}, "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-c5191c064c745337", "name": "Commented-code block (6 lines) in worca-ui/app/views/dashboard.js:23", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/app/views/dashboard.js:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8dba9c5193ecd6c8", "name": "Commented-code block (5 lines) in worca-ui/app/views/sidebar.js:240", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/sidebar.js: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-4b6dd1ee54a3b3df", "name": "Commented-code block (5 lines) in worca-ui/app/views/workspace-detail.test.js:261", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/workspace-detail.test.js: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-c6d6d3f540bfc6cf", "name": "Commented-code block (5 lines) in worca-ui/app/views/run-file-access.js:112", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/run-file-access.js: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-40243a306d6ef477", "name": "Commented-code block (6 lines) in worca-ui/app/views/pipelines-degraded.test.js:131", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/app/views/pipelines-degraded.test.js:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-18614e08d58148cb", "name": "Legacy-named symbol `posActiveOld` in worca-ui/app/views/beads-panel.test.js:171", "shortDescription": {"text": "Legacy-named symbol `posActiveOld` in worca-ui/app/views/beads-panel.test.js: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-c8a692dc1bf23070", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/add-project-dialog.js:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/add-project-dialog.js: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-68edd511e6593cb2", "name": "Commented-code block (5 lines) in worca-ui/app/views/dispatch-section.js:164", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/dispatch-section.js:164"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a7bea60001281a5a", "name": "Commented-code block (5 lines) in worca-ui/app/views/group-rendering.js:193", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/group-rendering.js: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-d1ba8fdb863331fa", "name": "Commented-code block (9 lines) in worca-ui/app/views/run-detail.js:46", "shortDescription": {"text": "Commented-code block (9 lines) in worca-ui/app/views/run-detail.js: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-ee22b8e62d391b93", "name": "Commented-code block (5 lines) in worca-ui/app/views/workspace-detail.js:171", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/workspace-detail.js:171"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-328a42e50e48eac9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/workspace-detail.js:607", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/workspace-detail.js:607"}, "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-16a1d2fd75649829", "name": "Commented-code block (5 lines) in worca-ui/app/views/settings-pipeline-deep-link.test.js:42", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/settings-pipeline-deep-link.test.js: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-e0ac89c4089f7a4f", "name": "Commented-code block (6 lines) in worca-ui/app/views/dispatch-tag-state.js:6", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/app/views/dispatch-tag-state.js: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-fd0a782d6a62aad8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/add-project-dialog-worca-setup.test.js:388", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/add-project-dialog-worca-setup.test.js:388"}, "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-368783d903d0621c", "name": "Commented-code block (5 lines) in worca-ui/app/views/settings-plan-review.test.js:108", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/settings-plan-review.test.js: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-cf41c3c52744d599", "name": "Commented-code block (5 lines) in worca-ui/app/views/settings-graphify.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/settings-graphify.js: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-ff174dd77474d20e", "name": "Commented-code block (5 lines) in worca-ui/app/views/run-card.js:40", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/run-card.js: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-bbc4a3072b22990a", "name": "Commented-code block (5 lines) in worca-ui/app/views/fleet-launcher.js:21", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/app/views/fleet-launcher.js: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-6453835213580c45", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/fleet-launcher.js:207", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/fleet-launcher.js:207"}, "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-dfd35603a5c3a8ef", "name": "Commented-code block (7 lines) in worca-ui/app/views/model-editor.js:665", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/app/views/model-editor.js:665"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e1dfaaf80e1e20d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/models-routes.test.js:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/models-routes.test.js: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-5b5ad821a262e3b5", "name": "Commented-code block (6 lines) in worca-ui/server/worktrees-routes.js:305", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/server/worktrees-routes.js: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-17e97ee54a96f3ea", "name": "Commented-code block (5 lines) in worca-ui/server/watcher-set.js:169", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/watcher-set.js: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-a305ddc10773e3fc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes-guide-upload.test.js:124", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes-guide-upload.test.js: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-480fa7e9c136e8bc", "name": "Commented-code block (6 lines) in worca-ui/server/worktree-ops.js:62", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/server/worktree-ops.js:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e8fe576bc3dd9888", "name": "Legacy-named symbol `_dispatch_legacy` in worca-ui/server/dispatch-migration.js:261", "shortDescription": {"text": "Legacy-named symbol `_dispatch_legacy` in worca-ui/server/dispatch-migration.js:261"}, "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-714f4229e0e7ba01", "name": "Commented-code block (8 lines) in worca-ui/server/dispatch-migration.js:60", "shortDescription": {"text": "Commented-code block (8 lines) in worca-ui/server/dispatch-migration.js:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-39e01086b85c9a5b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-inbox-strict.test.js:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-inbox-strict.test.js: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-9f719c29e9eca836", "name": "Commented-code block (5 lines) in worca-ui/server/app-integrations-send.test.js:181", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/app-integrations-send.test.js: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-c1b4303f007dbc44", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-integrations-send.test.js:59", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-integrations-send.test.js:59"}, "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-490e8734badc124c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-inbox-unchanged.test.js:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-inbox-unchanged.test.js: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-007c34e9b99d1d0b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-tools-skills.test.js:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-tools-skills.test.js: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-0af77536ca6e094e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-template.test.js:66", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-template.test.js:66"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-980a0c06834f7e76", "name": "Commented-code block (7 lines) in worca-ui/server/ws-beads-watcher.js:42", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/server/ws-beads-watcher.js: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-19467ac70baa2823", "name": "Commented-code block (5 lines) in worca-ui/server/watcher.js:157", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/watcher.js: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-8ae5f3e200fc7ecd", "name": "Commented-code block (5 lines) in worca-ui/server/project-routes.js:550", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/project-routes.js: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-d47430069995cba2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-inbox-control-strict.test.js:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-inbox-control-strict.test.js: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-3f5c9d0bd1c959d9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app.test.js:39", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app.test.js:39"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e0ebed6618c8d865", "name": "Commented-code block (5 lines) in worca-ui/server/settings-merge.js:85", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/settings-merge.js:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-495bd71b9758bc9b", "name": "Commented-code block (8 lines) in worca-ui/server/ws-message-router.js:85", "shortDescription": {"text": "Commented-code block (8 lines) in worca-ui/server/ws-message-router.js:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b6e31dcd498b7726", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/graphify-status.test.js:360", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/graphify-status.test.js:360"}, "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-5b7124b7d2c3d762", "name": "Commented-code block (5 lines) in worca-ui/server/worktrees-routes.test.js:275", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/worktrees-routes.test.js:275"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dfcf5bfe4b14bf3b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/worktrees-routes.test.js:126", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/worktrees-routes.test.js: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-9dbd2b43c624f72e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/status-routes.test.js:51", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/status-routes.test.js:51"}, "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-70decd4b06b4e332", "name": "Commented-code block (6 lines) in worca-ui/server/dispatch-defaults.js:21", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/server/dispatch-defaults.js: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-7f69662d1217291b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-integrations-config.test.js:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-integrations-config.test.js:32"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0e3f9e313f0111de", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/preferences-routes.test.js:38", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/preferences-routes.test.js: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-2968be72c2771880", "name": "Commented-code block (6 lines) in worca-ui/server/file-access-aggregator.js:184", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/server/file-access-aggregator.js:184"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0cf3f7111479259c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/code-review-graph-status.test.js:465", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/code-review-graph-status.test.js:465"}, "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-1987f0ac91a8eeb0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/fleet-routes.test.js:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/fleet-routes.test.js: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-90c1af3d83125dae", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/fleet-routes-guide-upload.test.js:56", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/fleet-routes-guide-upload.test.js: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-7a7dd407d96d5571", "name": "Commented-code block (5 lines) in worca-ui/server/app.js:719", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/app.js:719"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea068f8a4c4794b6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app.js:951", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app.js:951"}, "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-c28a151210182acf", "name": "Commented-code block (6 lines) in worca-ui/server/graphify-status.js:21", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/server/graphify-status.js: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-f380040935c219a0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes.test.js:81", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes.test.js:81"}, "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-47266a2d047eaae9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-webhook-hints.test.js:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-webhook-hints.test.js: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-51623762c32b90fc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-settings-split.test.js:36", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-settings-split.test.js: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-4ebc4711379e5ca2", "name": "Commented-code block (7 lines) in worca-ui/server/process-manager.js:414", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/server/process-manager.js: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-ef22e430aea96729", "name": "Legacy-named symbol `_dispatch_legacy` in worca-ui/server/dispatch-migration.test.js:92", "shortDescription": {"text": "Legacy-named symbol `_dispatch_legacy` in worca-ui/server/dispatch-migration.test.js:92"}, "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-e2fab0990e75da2a", "name": "Commented-code block (5 lines) in worca-ui/server/model-env-routes.test.js:238", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/model-env-routes.test.js:238"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-734357b5ea6129f7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/model-env-routes.test.js:58", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/model-env-routes.test.js:58"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f77b7aa4fd1dfcf2", "name": "Commented-code block (5 lines) in worca-ui/server/model-env-routes.js:84", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/model-env-routes.js: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-e2bd7377cc0b8e5d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-worktree-control.test.js:37", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-worktree-control.test.js: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-2c18a1e503fa3748", "name": "Commented-code block (7 lines) in worca-ui/server/code-review-graph-status.js:24", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/server/code-review-graph-status.js:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8f10a6730fa297a", "name": "Commented-code block (5 lines) in worca-ui/server/beads-reader.test.js:639", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/beads-reader.test.js:639"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-50f55e1b65ac3c78", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes-setup.test.js:86", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes-setup.test.js:86"}, "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-163fd8700bf1642f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes.test.js:146", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes.test.js:146"}, "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-6068d672967cf872", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes-plan-upload.test.js:161", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes-plan-upload.test.js:161"}, "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-85bedff132d5e4dd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-setup-preflight.test.js:39", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-setup-preflight.test.js:39"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a33bf60a146011b9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-integrations-status.test.js:22", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-integrations-status.test.js: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-0b2b02dc5479cfd8", "name": "Commented-code block (5 lines) in worca-ui/server/templates-routes.js:285", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/templates-routes.js:285"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c329eb29f63f94c8", "name": "Commented-code block (6 lines) in worca-ui/server/workspace-routes.js:272", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/server/workspace-routes.js:272"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-570e548ff62507cf", "name": "Commented-code block (5 lines) in worca-ui/server/fleet-routes.js:50", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/server/fleet-routes.js: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-219dd79ccdb764f8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-webhooks.test.js:44", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-webhooks.test.js:44"}, "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-7f0597bfc3881aa3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/integrations/rest_client.js:5", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/integrations/rest_client.js:5"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-70319863e4a43d9d", "name": "Commented-code block (7 lines) in worca-ui/server/integrations/renderers.js:170", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/server/integrations/renderers.js: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-f3b35056bc1d9acf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/integrations/integrations-pipeline.test.js:166", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/integrations/integrations-pipeline.test.js:166"}, "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-c8b56dca7cbf0da5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/runs-api.test.js:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/runs-api.test.js: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-547100e06ba0ed17", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/settings-api.test.js:75", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/settings-api.test.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-45f8a38944e43373", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/delete-route-removed.test.js:64", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/delete-route-removed.test.js:64"}, "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-01affe013ef58122", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/archive-api.test.js:104", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/archive-api.test.js: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-e5c8438475df1ce6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/multi-project-api.test.js:29", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/multi-project-api.test.js: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-95defe79b7448a12", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/project-routes-stop-409.test.js:80", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/project-routes-stop-409.test.js: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-4f35acd0a1ae7251", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/scan-directory.test.js:19", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/scan-directory.test.js:19"}, "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-5d895c1f7b73ced6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/learn-api.test.js:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/learn-api.test.js: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-529d6715519f8136", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/cap-enforcement.test.js:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/cap-enforcement.test.js: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-0eb987dd857e482a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/costs-api.test.js:8", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/costs-api.test.js: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-1f848e6a3877e615", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/max-beads-launch.test.js:50", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/max-beads-launch.test.js:50"}, "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-df89b72bf0d70426", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/app-run-controls.test.js:107", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/app-run-controls.test.js:107"}, "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-d0079e9dc8fac9a3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/worca-status.test.js:43", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/worca-status.test.js: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-15c6b354d5667520", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/app-run-control-action.test.js:85", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/app-run-control-action.test.js: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-59ab4d4b712f55f8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/multi-pipeline-route-removed.test.js:69", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/multi-pipeline-route-removed.test.js: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-b177775466d3a3d2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/error-isolation.test.js:30", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/error-isolation.test.js: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-5714d855b16b8cad", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/subagents-api.test.js:53", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/subagents-api.test.js:53"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2c3f8dec1dce846d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/projects-batch.test.js:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/projects-batch.test.js: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-6bf2bf711ed03172", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/settings-strip-on-save.test.js:51", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/settings-strip-on-save.test.js:51"}, "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-00122a02e1386933", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/project-routes-cancel.test.js:90", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/project-routes-cancel.test.js: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-1e85ba6b50bdbd62", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/project-routes-delete.test.js:91", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/project-routes-delete.test.js:91"}, "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-a52a5143e4c85bce", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/pipelines-templates.spec.js:871", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/pipelines-templates.spec.js:871"}, "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-c5d5ca09b3319343", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/graphify-settings.spec.js:176", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/graphify-settings.spec.js:176"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a0248cb09744f70b", "name": "Commented-code block (5 lines) in worca-ui/e2e/dashboard.spec.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/e2e/dashboard.spec.js: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-834ae3a79c9fe8c4", "name": "Commented-code block (6 lines) in worca-ui/e2e/pipelines-duplicate.spec.js:125", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/e2e/pipelines-duplicate.spec.js:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0542235078b21a6c", "name": "Commented-code block (7 lines) in worca-ui/e2e/workspaces.spec.js:108", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/e2e/workspaces.spec.js: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-1193f775d65b4b27", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/workspaces.spec.js:253", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/workspaces.spec.js:253"}, "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-778b86baed79ef7e", "name": "Commented-code block (7 lines) in worca-ui/e2e/pipelines-editor.spec.js:49", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/e2e/pipelines-editor.spec.js: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-ca3e455260fd1d84", "name": "Commented-code block (5 lines) in worca-ui/e2e/run-detail-model-alias.spec.js:6", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/e2e/run-detail-model-alias.spec.js: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-08ca4b267eae9871", "name": "Commented-code block (5 lines) in worca-ui/e2e/run-detail-plan-iterations.spec.js:105", "shortDescription": {"text": "Commented-code block (5 lines) in worca-ui/e2e/run-detail-plan-iterations.spec.js: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-7689be20df762481", "name": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/test-fixture-templates.js:19", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/test-fixture-templates.js:19"}, "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-404abd14172ca51e", "name": "Commented-code block (7 lines) in worca-ui/e2e/file-access.spec.js:251", "shortDescription": {"text": "Commented-code block (7 lines) in worca-ui/e2e/file-access.spec.js:251"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e639ca1f86653d08", "name": "Commented-code block (6 lines) in worca-ui/e2e/models.spec.js:155", "shortDescription": {"text": "Commented-code block (6 lines) in worca-ui/e2e/models.spec.js: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-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:\nsrc/worca/events/types.py:workspace_plan_loaded_payload, src/worca/events/types.py:workspace_plan_partial_payload\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-46969939caf8120b", "name": "Near-duplicate function bodies in 9 places", "shortDescription": {"text": "Near-duplicate function bodies in 9 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/worca/cli/graphify_cmd.py:cmd_graphify_status, src/worca/cli/graphify_cmd.py:cmd_graphify_recommend, src/worca/cli/graphify_cmd.py:cmd_graphify_update, src/worca/cli/graphify_cmd.py:cmd_graphify_gc\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-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/worca/cli/cleanup.py:list_eligible, src/worca/cli/cleanup.py:list_eligible, src/worca/cli/cleanup.py:list_eligible\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-9dad557909b86499", "name": "Near-duplicate function bodies in 10 places", "shortDescription": {"text": "Near-duplicate function bodies in 10 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrc/worca/orchestrator/executor.py:post_dispatch, src/worca/orchestrator/executor.py:post_dispatch, src/worca/orchestrator/executor.py:post_dispatch, src/worca/orchestrator/executor.py:post_dispatch\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-cdf846cd90570b33", "name": "Dangling fetch: GET http://127.0.0.1:${port}/ (worca-ui/test/server-e2e.test.js:103)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/ (worca-ui/test/server-e2e.test.js:103)"}, "fullDescription": {"text": "`worca-ui/test/server-e2e.test.js:103` 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-e3e78f3d804191c5", "name": "Dangling fetch: GET http://127.0.0.1:${port}/styles.css (worca-ui/test/server-e2e.test.js:109)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/styles.css (worca-ui/test/server-e2e.test.js:109)"}, "fullDescription": {"text": "`worca-ui/test/server-e2e.test.js:109` calls `GET http://127.0.0.1:${port}/styles.css` 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>/styles.css`\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-2cf6a3e65e371ef0", "name": "Dangling fetch: GET http://127.0.0.1:${port}/some/unknown/path (worca-ui/test/server-e2e.test.js:115)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/some/unknown/path (worca-ui/test/server-e2e.test.js:115)"}, "fullDescription": {"text": "`worca-ui/test/server-e2e.test.js:115` calls `GET http://127.0.0.1:${port}/some/unknown/path` 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>/some/unknown/path`\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-b8ae86515621ca0f", "name": "Dangling fetch: GET http://127.0.0.1:${port}/ (worca-ui/test/server-e2e.test.js:137)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/ (worca-ui/test/server-e2e.test.js:137)"}, "fullDescription": {"text": "`worca-ui/test/server-e2e.test.js:137` 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-f6bd289b318c5789", "name": "Dangling fetch: GET /api/projects/${projectName}/runs (worca-ui/app/main-default-branch.test.js:169)", "shortDescription": {"text": "Dangling fetch: GET /api/projects/${projectName}/runs (worca-ui/app/main-default-branch.test.js:169)"}, "fullDescription": {"text": "`worca-ui/app/main-default-branch.test.js:169` calls `GET /api/projects/${projectName}/runs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/<p>/runs`\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-29fc1c783d3bc925", "name": "Dangling fetch: GET /api/projects/${projectName}/worktrees (worca-ui/app/main-default-branch.test.js:210)", "shortDescription": {"text": "Dangling fetch: GET /api/projects/${projectName}/worktrees (worca-ui/app/main-default-branch.test.js:210)"}, "fullDescription": {"text": "`worca-ui/app/main-default-branch.test.js:210` calls `GET /api/projects/${projectName}/worktrees` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/<p>/worktrees`\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-aa9d5bea24c65f96", "name": "Dangling fetch: GET /api/workspaces (worca-ui/app/main.js:1495)", "shortDescription": {"text": "Dangling fetch: GET /api/workspaces (worca-ui/app/main.js:1495)"}, "fullDescription": {"text": "`worca-ui/app/main.js:1495` calls `GET /api/workspaces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\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-ac92c4d206d230bf", "name": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:1503)", "shortDescription": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:1503)"}, "fullDescription": {"text": "`worca-ui/app/main.js:1503` calls `GET /api/projects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects`\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-50af79aea83ef053", "name": "Dangling fetch: GET /api/projects/${p.name}/runs (worca-ui/app/main.js:1531)", "shortDescription": {"text": "Dangling fetch: GET /api/projects/${p.name}/runs (worca-ui/app/main.js:1531)"}, "fullDescription": {"text": "`worca-ui/app/main.js:1531` calls `GET /api/projects/${p.name}/runs` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/<p>/runs`\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-5a861e67f75f9261", "name": "Dangling fetch: GET /api/projects/${name}/worktrees (worca-ui/app/main.js:1576)", "shortDescription": {"text": "Dangling fetch: GET /api/projects/${name}/worktrees (worca-ui/app/main.js:1576)"}, "fullDescription": {"text": "`worca-ui/app/main.js:1576` calls `GET /api/projects/${name}/worktrees` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/<p>/worktrees`\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-3564a6ba73fe790b", "name": "Dangling fetch: POST /api/fleet-runs/${fleetId}/resume (worca-ui/app/main.js:3526)", "shortDescription": {"text": "Dangling fetch: POST /api/fleet-runs/${fleetId}/resume (worca-ui/app/main.js:3526)"}, "fullDescription": {"text": "`worca-ui/app/main.js:3526` calls `POST /api/fleet-runs/${fleetId}/resume` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/fleet-runs/<p>/resume`\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-39e278a86bd01536", "name": "Dangling fetch: DELETE /api/fleet-runs/${fleetId} (worca-ui/app/main.js:3553)", "shortDescription": {"text": "Dangling fetch: DELETE /api/fleet-runs/${fleetId} (worca-ui/app/main.js:3553)"}, "fullDescription": {"text": "`worca-ui/app/main.js:3553` calls `DELETE /api/fleet-runs/${fleetId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/fleet-runs/<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-18df2b04e68275da", "name": "Dangling fetch: POST /api/fleet-runs/${fleetId}/pause (worca-ui/app/main.js:3583)", "shortDescription": {"text": "Dangling fetch: POST /api/fleet-runs/${fleetId}/pause (worca-ui/app/main.js:3583)"}, "fullDescription": {"text": "`worca-ui/app/main.js:3583` calls `POST /api/fleet-runs/${fleetId}/pause` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/fleet-runs/<p>/pause`\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-fb7d4d638b74e5be", "name": "Dangling fetch: POST /api/fleet-runs/${fleetId}/stop (worca-ui/app/main.js:3613)", "shortDescription": {"text": "Dangling fetch: POST /api/fleet-runs/${fleetId}/stop (worca-ui/app/main.js:3613)"}, "fullDescription": {"text": "`worca-ui/app/main.js:3613` calls `POST /api/fleet-runs/${fleetId}/stop` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/fleet-runs/<p>/stop`\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-147e463a715be41b", "name": "Dangling fetch: DELETE /api/fleet-runs/${fleetId}?cleanup=1&force=1 (worca-ui/app/main.js:3645)", "shortDescription": {"text": "Dangling fetch: DELETE /api/fleet-runs/${fleetId}?cleanup=1&force=1 (worca-ui/app/main.js:3645)"}, "fullDescription": {"text": "`worca-ui/app/main.js:3645` calls `DELETE /api/fleet-runs/${fleetId}?cleanup=1&force=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/fleet-runs/<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-91d94568355c3ea9", "name": "Dangling fetch: GET /api/workspaces (worca-ui/app/main.js:3768)", "shortDescription": {"text": "Dangling fetch: GET /api/workspaces (worca-ui/app/main.js:3768)"}, "fullDescription": {"text": "`worca-ui/app/main.js:3768` calls `GET /api/workspaces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\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-7697586660fdaac5", "name": "Dangling fetch: DELETE /api/workspaces/${encodeURIComponent(name)} (worca-ui/app/main.js:3791)", "shortDescription": {"text": "Dangling fetch: DELETE /api/workspaces/${encodeURIComponent(name)} (worca-ui/app/main.js:3791)"}, "fullDescription": {"text": "`worca-ui/app/main.js:3791` calls `DELETE /api/workspaces/${encodeURIComponent(name)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/<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-e70b10a124a9c3fb", "name": "Dangling fetch: POST /api/fleet-runs/${fleetId}/unarchive (worca-ui/app/main.js:3841)", "shortDescription": {"text": "Dangling fetch: POST /api/fleet-runs/${fleetId}/unarchive (worca-ui/app/main.js:3841)"}, "fullDescription": {"text": "`worca-ui/app/main.js:3841` calls `POST /api/fleet-runs/${fleetId}/unarchive` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/fleet-runs/<p>/unarchive`\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-a8419ee886eff8b5", "name": "Dangling fetch: GET /api/fleet-runs/${route.runId} (worca-ui/app/main.js:5607)", "shortDescription": {"text": "Dangling fetch: GET /api/fleet-runs/${route.runId} (worca-ui/app/main.js:5607)"}, "fullDescription": {"text": "`worca-ui/app/main.js:5607` calls `GET /api/fleet-runs/${route.runId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/fleet-runs/<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-8c7821c53a5a3aba", "name": "Dangling fetch: GET /api/workspace-runs/${route.runId} (worca-ui/app/main.js:5714)", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${route.runId} (worca-ui/app/main.js:5714)"}, "fullDescription": {"text": "`worca-ui/app/main.js:5714` calls `GET /api/workspace-runs/${route.runId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<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-683e939b6aa7d0d0", "name": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:5814)", "shortDescription": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:5814)"}, "fullDescription": {"text": "`worca-ui/app/main.js:5814` calls `GET /api/projects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects`\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-8d6330e8b1e805b6", "name": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:5824)", "shortDescription": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:5824)"}, "fullDescription": {"text": "`worca-ui/app/main.js:5824` calls `GET /api/projects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects`\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-252b5fc958c99dd9", "name": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:5833)", "shortDescription": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:5833)"}, "fullDescription": {"text": "`worca-ui/app/main.js:5833` calls `GET /api/projects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects`\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-d76c8c0717487691", "name": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:6028)", "shortDescription": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:6028)"}, "fullDescription": {"text": "`worca-ui/app/main.js:6028` calls `GET /api/projects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects`\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-ef66d5ce560d4b0f", "name": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:6116)", "shortDescription": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:6116)"}, "fullDescription": {"text": "`worca-ui/app/main.js:6116` calls `GET /api/projects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects`\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-57e95e4fb2652485", "name": "Dangling fetch: GET /api/preferences (worca-ui/app/main.js:6153)", "shortDescription": {"text": "Dangling fetch: GET /api/preferences (worca-ui/app/main.js:6153)"}, "fullDescription": {"text": "`worca-ui/app/main.js:6153` calls `GET /api/preferences` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/preferences`\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-654d53e3f03fe300", "name": "Dangling fetch: GET /api/status/runs-count (worca-ui/app/main.js:6156)", "shortDescription": {"text": "Dangling fetch: GET /api/status/runs-count (worca-ui/app/main.js:6156)"}, "fullDescription": {"text": "`worca-ui/app/main.js:6156` calls `GET /api/status/runs-count` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/status/runs-count`\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-f70b2bd60ce2e609", "name": "Dangling fetch: GET /api/status/runs-count (worca-ui/app/main.js:6193)", "shortDescription": {"text": "Dangling fetch: GET /api/status/runs-count (worca-ui/app/main.js:6193)"}, "fullDescription": {"text": "`worca-ui/app/main.js:6193` calls `GET /api/status/runs-count` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/status/runs-count`\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-ffb642d3dfb8bcb3", "name": "Dangling fetch: PUT /api/preferences (worca-ui/app/views/settings.js:816)", "shortDescription": {"text": "Dangling fetch: PUT /api/preferences (worca-ui/app/views/settings.js:816)"}, "fullDescription": {"text": "`worca-ui/app/views/settings.js:816` calls `PUT /api/preferences` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/preferences`\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-97e8d620ae5d6b51", "name": "Dangling fetch: DELETE /api/projects/${projectName} (worca-ui/app/views/settings.js:3175)", "shortDescription": {"text": "Dangling fetch: DELETE /api/projects/${projectName} (worca-ui/app/views/settings.js:3175)"}, "fullDescription": {"text": "`worca-ui/app/views/settings.js:3175` calls `DELETE /api/projects/${projectName}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/<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-bd51e7d5cb32a114", "name": "Dangling fetch: POST /api/projects/${projectName}/worca-setup (worca-ui/app/views/settings.js:3195)", "shortDescription": {"text": "Dangling fetch: POST /api/projects/${projectName}/worca-setup (worca-ui/app/views/settings.js:3195)"}, "fullDescription": {"text": "`worca-ui/app/views/settings.js:3195` calls `POST /api/projects/${projectName}/worca-setup` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/<p>/worca-setup`\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-99df01ee9e94f652", "name": "Dangling fetch: POST /api/workspaces (worca-ui/app/views/workspace-create.js:147)", "shortDescription": {"text": "Dangling fetch: POST /api/workspaces (worca-ui/app/views/workspace-create.js:147)"}, "fullDescription": {"text": "`worca-ui/app/views/workspace-create.js:147` calls `POST /api/workspaces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\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-2bc66965156aa149", "name": "Dangling fetch: POST /api/workspaces/scan (worca-ui/app/views/workspace-create.js:229)", "shortDescription": {"text": "Dangling fetch: POST /api/workspaces/scan (worca-ui/app/views/workspace-create.js:229)"}, "fullDescription": {"text": "`worca-ui/app/views/workspace-create.js:229` calls `POST /api/workspaces/scan` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/scan`\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-07144e595fa41fb1", "name": "Dangling fetch: POST /api/projects/${encodeURIComponent(s.target)}/worca-setup (worca-ui/app/views/project-setup-wizard.", "shortDescription": {"text": "Dangling fetch: POST /api/projects/${encodeURIComponent(s.target)}/worca-setup (worca-ui/app/views/project-setup-wizard.js:382)"}, "fullDescription": {"text": "`worca-ui/app/views/project-setup-wizard.js:382` calls `POST /api/projects/${encodeURIComponent(s.target)}/worca-setup` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/<p>/worca-setup`\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-17290960d81b8354", "name": "Dangling fetch: POST /api/graphify/recheck${q} (worca-ui/app/views/project-setup-wizard.js:424)", "shortDescription": {"text": "Dangling fetch: POST /api/graphify/recheck${q} (worca-ui/app/views/project-setup-wizard.js:424)"}, "fullDescription": {"text": "`worca-ui/app/views/project-setup-wizard.js:424` calls `POST /api/graphify/recheck${q}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/graphify/recheck/<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-c9edb3bd7ea8c04e", "name": "Dangling fetch: POST /api/crg/recheck${q} (worca-ui/app/views/project-setup-wizard.js:425)", "shortDescription": {"text": "Dangling fetch: POST /api/crg/recheck${q} (worca-ui/app/views/project-setup-wizard.js:425)"}, "fullDescription": {"text": "`worca-ui/app/views/project-setup-wizard.js:425` calls `POST /api/crg/recheck${q}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/crg/recheck/<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-45ab3abda48bdb0a", "name": "Dangling fetch: POST /api/projects/batch (worca-ui/app/views/add-project-dialog.js:178)", "shortDescription": {"text": "Dangling fetch: POST /api/projects/batch (worca-ui/app/views/add-project-dialog.js:178)"}, "fullDescription": {"text": "`worca-ui/app/views/add-project-dialog.js:178` calls `POST /api/projects/batch` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/batch`\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-29a71535a9bdeae0", "name": "Dangling fetch: POST /api/projects (worca-ui/app/views/add-project-dialog.js:227)", "shortDescription": {"text": "Dangling fetch: POST /api/projects (worca-ui/app/views/add-project-dialog.js:227)"}, "fullDescription": {"text": "`worca-ui/app/views/add-project-dialog.js:227` calls `POST /api/projects` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects`\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-3653907e46eb4d9f", "name": "Dangling fetch: GET /api/projects/${p.name}/worca-status (worca-ui/app/views/add-project-dialog.js:553)", "shortDescription": {"text": "Dangling fetch: GET /api/projects/${p.name}/worca-status (worca-ui/app/views/add-project-dialog.js:553)"}, "fullDescription": {"text": "`worca-ui/app/views/add-project-dialog.js:553` calls `GET /api/projects/${p.name}/worca-status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/<p>/worca-status`\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-080b72acac842fd3", "name": "Dangling fetch: POST /api/projects/${item.name}/worca-setup (worca-ui/app/views/add-project-dialog.js:624)", "shortDescription": {"text": "Dangling fetch: POST /api/projects/${item.name}/worca-setup (worca-ui/app/views/add-project-dialog.js:624)"}, "fullDescription": {"text": "`worca-ui/app/views/add-project-dialog.js:624` calls `POST /api/projects/${item.name}/worca-setup` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/projects/<p>/worca-setup`\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-fba972f78444e524", "name": "Dangling fetch: GET /api/workspace-runs/${encodeURIComponent(id)}/plan (worca-ui/app/views/workspace-detail.js:324)", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${encodeURIComponent(id)}/plan (worca-ui/app/views/workspace-detail.js:324)"}, "fullDescription": {"text": "`worca-ui/app/views/workspace-detail.js:324` calls `GET /api/workspace-runs/${encodeURIComponent(id)}/plan` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<p>/plan`\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-f47df35a2ac8924a", "name": "Dangling fetch: GET /api/workspace-runs/${encodeURIComponent(ws.workspace_id)}/guide (worca-ui/app/views/workspace-detai", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${encodeURIComponent(ws.workspace_id)}/guide (worca-ui/app/views/workspace-detail.js:607)"}, "fullDescription": {"text": "`worca-ui/app/views/workspace-detail.js:607` calls `GET /api/workspace-runs/${encodeURIComponent(ws.workspace_id)}/guide` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<p>/guide`\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-5c4eb2d3a0fef2ac", "name": "Dangling fetch: GET /api/workspaces/${encodeURIComponent(name)} (worca-ui/app/views/workspace-edit.js:106)", "shortDescription": {"text": "Dangling fetch: GET /api/workspaces/${encodeURIComponent(name)} (worca-ui/app/views/workspace-edit.js:106)"}, "fullDescription": {"text": "`worca-ui/app/views/workspace-edit.js:106` calls `GET /api/workspaces/${encodeURIComponent(name)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/<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-b817f917edda82db", "name": "Dangling fetch: POST /api/workspaces/scan (worca-ui/app/views/workspace-edit.js:187)", "shortDescription": {"text": "Dangling fetch: POST /api/workspaces/scan (worca-ui/app/views/workspace-edit.js:187)"}, "fullDescription": {"text": "`worca-ui/app/views/workspace-edit.js:187` calls `POST /api/workspaces/scan` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/scan`\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-a6157deead1cd786", "name": "Dangling fetch: PUT /api/workspaces/${encodeURIComponent(workspaceName)} (worca-ui/app/views/workspace-edit.js:263)", "shortDescription": {"text": "Dangling fetch: PUT /api/workspaces/${encodeURIComponent(workspaceName)} (worca-ui/app/views/workspace-edit.js:263)"}, "fullDescription": {"text": "`worca-ui/app/views/workspace-edit.js:263` calls `PUT /api/workspaces/${encodeURIComponent(workspaceName)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/<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-a51e92f9ef7c6b22", "name": "Dangling fetch: POST /api/fleet-runs/validate-base (worca-ui/app/views/fleet-launcher.js:551)", "shortDescription": {"text": "Dangling fetch: POST /api/fleet-runs/validate-base (worca-ui/app/views/fleet-launcher.js:551)"}, "fullDescription": {"text": "`worca-ui/app/views/fleet-launcher.js:551` calls `POST /api/fleet-runs/validate-base` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/fleet-runs/validate-base`\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-05695568cbc8058b", "name": "Dangling fetch: POST /api/workspace-runs/validate-gh-auth (worca-ui/app/views/fleet-launcher.js:1048)", "shortDescription": {"text": "Dangling fetch: POST /api/workspace-runs/validate-gh-auth (worca-ui/app/views/fleet-launcher.js:1048)"}, "fullDescription": {"text": "`worca-ui/app/views/fleet-launcher.js:1048` calls `POST /api/workspace-runs/validate-gh-auth` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/validate-gh-auth`\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-23523c38d405b030", "name": "Dangling fetch: POST /api/fleet-runs/validate-base (worca-ui/app/views/fleet-launcher.js:1094)", "shortDescription": {"text": "Dangling fetch: POST /api/fleet-runs/validate-base (worca-ui/app/views/fleet-launcher.js:1094)"}, "fullDescription": {"text": "`worca-ui/app/views/fleet-launcher.js:1094` calls `POST /api/fleet-runs/validate-base` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/fleet-runs/validate-base`\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-09b7c11dff6da283", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-strict.test.js:35)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-strict.test.js:35)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-strict.test.js:35` calls `POST http://localhost:${port}/api/webhooks/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox`\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-21788e7652a924d7", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-strict.test.js:51)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-strict.test.js:51)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-strict.test.js:51` calls `POST http://localhost:${port}/api/webhooks/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox`\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-f58bb637a3339536", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-strict.test.js:67)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-strict.test.js:67)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-strict.test.js:67` calls `POST http://localhost:${port}/api/webhooks/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox`\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-cc6472fb669fd81c", "name": "Dangling fetch: GET http://127.0.0.1:${port}${path} (worca-ui/server/templates-routes.test.js:83)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}${path} (worca-ui/server/templates-routes.test.js:83)"}, "fullDescription": {"text": "`worca-ui/server/templates-routes.test.js:83` calls `GET http://127.0.0.1:${port}${path}` 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-fa8af41b96deb682", "name": "Dangling fetch: POST http://localhost:${port}${url} (worca-ui/server/app-integrations-send.test.js:59)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}${url} (worca-ui/server/app-integrations-send.test.js:59)"}, "fullDescription": {"text": "`worca-ui/server/app-integrations-send.test.js:59` calls `POST http://localhost:${port}${url}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<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-a9e813a8186092bf", "name": "Dangling fetch: POST http://localhost:${port}/api/integrations/send (worca-ui/server/app-integrations-send.test.js:157)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/integrations/send (worca-ui/server/app-integrations-send.test.js:157)"}, "fullDescription": {"text": "`worca-ui/server/app-integrations-send.test.js:157` calls `POST http://localhost:${port}/api/integrations/send` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/integrations/send`\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-80c95c464af1bbc1", "name": "Dangling fetch: POST http://localhost:${port}/api/integrations/send (worca-ui/server/app-integrations-send.test.js:204)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/integrations/send (worca-ui/server/app-integrations-send.test.js:204)"}, "fullDescription": {"text": "`worca-ui/server/app-integrations-send.test.js:204` calls `POST http://localhost:${port}/api/integrations/send` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/integrations/send`\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-a95de6dd64bdc10a", "name": "Dangling fetch: POST http://localhost:${port}/api/integrations/send (worca-ui/server/app-integrations-send.test.js:253)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/integrations/send (worca-ui/server/app-integrations-send.test.js:253)"}, "fullDescription": {"text": "`worca-ui/server/app-integrations-send.test.js:253` calls `POST http://localhost:${port}/api/integrations/send` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/integrations/send`\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-09a27568a663aad9", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:23)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:23)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-unchanged.test.js:23` calls `POST http://localhost:${port}/api/webhooks/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox`\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-24c96b1fd96b1e95", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:43)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:43)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-unchanged.test.js:43` calls `POST http://localhost:${port}/api/webhooks/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox`\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-c6f3ae9b6cfb8462", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:62)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:62)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-unchanged.test.js:62` calls `POST http://localhost:${port}/api/webhooks/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox`\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-78822683c6a7e76f", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:84)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:84)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-unchanged.test.js:84` calls `POST http://localhost:${port}/api/webhooks/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox`\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-d1f2211a028ce1b6", "name": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:28)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:28)"}, "fullDescription": {"text": "`worca-ui/server/app-tools-skills.test.js:28` calls `GET http://localhost:${port}/api/tools` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/tools`\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-2d3b83c9e880ccab", "name": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:37)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:37)"}, "fullDescription": {"text": "`worca-ui/server/app-tools-skills.test.js:37` calls `GET http://localhost:${port}/api/tools` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/tools`\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-9e625ed10a6dfce6", "name": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:51)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:51)"}, "fullDescription": {"text": "`worca-ui/server/app-tools-skills.test.js:51` calls `GET http://localhost:${port}/api/tools` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/tools`\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-d0c3bf47c8610b30", "name": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:60)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:60)"}, "fullDescription": {"text": "`worca-ui/server/app-tools-skills.test.js:60` calls `GET http://localhost:${port}/api/tools` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/tools`\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-88bd3674b789a4ac", "name": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:71)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:71)"}, "fullDescription": {"text": "`worca-ui/server/app-tools-skills.test.js:71` calls `GET http://localhost:${port}/api/skills` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/skills`\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-4afac4ad1c856924", "name": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:80)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:80)"}, "fullDescription": {"text": "`worca-ui/server/app-tools-skills.test.js:80` calls `GET http://localhost:${port}/api/skills` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/skills`\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-f4bc75caaafdf040", "name": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:89)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:89)"}, "fullDescription": {"text": "`worca-ui/server/app-tools-skills.test.js:89` calls `GET http://localhost:${port}/api/skills` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/skills`\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-ea1c354593e052bc", "name": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:98)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:98)"}, "fullDescription": {"text": "`worca-ui/server/app-tools-skills.test.js:98` calls `GET http://localhost:${port}/api/skills` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/skills`\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-6e1c630f57191381", "name": "Dangling fetch: PUT http://localhost:${port}/api/webhooks/inbox/control (worca-ui/server/app-inbox-control-strict.test.j", "shortDescription": {"text": "Dangling fetch: PUT http://localhost:${port}/api/webhooks/inbox/control (worca-ui/server/app-inbox-control-strict.test.js:35)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-control-strict.test.js:35` calls `PUT http://localhost:${port}/api/webhooks/inbox/control` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox/control`\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-7fe93420fbe0c21d", "name": "Dangling fetch: PUT http://localhost:${port}/api/webhooks/inbox/control (worca-ui/server/app-inbox-control-strict.test.j", "shortDescription": {"text": "Dangling fetch: PUT http://localhost:${port}/api/webhooks/inbox/control (worca-ui/server/app-inbox-control-strict.test.js:54)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-control-strict.test.js:54` calls `PUT http://localhost:${port}/api/webhooks/inbox/control` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox/control`\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-fafffde7e92f8b3e", "name": "Dangling fetch: PUT http://localhost:${port}/api/webhooks/inbox/control (worca-ui/server/app-inbox-control-strict.test.j", "shortDescription": {"text": "Dangling fetch: PUT http://localhost:${port}/api/webhooks/inbox/control (worca-ui/server/app-inbox-control-strict.test.js:73)"}, "fullDescription": {"text": "`worca-ui/server/app-inbox-control-strict.test.js:73` calls `PUT http://localhost:${port}/api/webhooks/inbox/control` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox/control`\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-2d7d235ff2d507e3", "name": "Dangling fetch: POST http://localhost:${port}/api/projects/myproj/runs/run-002/pr (worca-ui/server/app.test.js:83)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/projects/myproj/runs/run-002/pr (worca-ui/server/app.test.js:83)"}, "fullDescription": {"text": "`worca-ui/server/app.test.js:83` calls `POST http://localhost:${port}/api/projects/myproj/runs/run-002/pr` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/projects/myproj/runs/run-002/pr`\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-c49b3616fae36acb", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/status/runs-count (worca-ui/server/status-routes.test.js:111)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/status/runs-count (worca-ui/server/status-routes.test.js:111)"}, "fullDescription": {"text": "`worca-ui/server/status-routes.test.js:111` calls `GET http://127.0.0.1:${port}/api/status/runs-count` 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>/api/status/runs-count`\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-f658fb37ed2a06f9", "name": "Dangling fetch: GET http://127.0.0.1:${port}${path} (worca-ui/server/project-routes-beads-enrichment.test.js:60)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}${path} (worca-ui/server/project-routes-beads-enrichment.test.js:60)"}, "fullDescription": {"text": "`worca-ui/server/project-routes-beads-enrichment.test.js:60` calls `GET http://127.0.0.1:${port}${path}` 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-a61bb01f68c4c3cb", "name": "Dangling fetch: GET https://api.telegram.org/bot${token}/getMe (worca-ui/server/app.js:947)", "shortDescription": {"text": "Dangling fetch: GET https://api.telegram.org/bot${token}/getMe (worca-ui/server/app.js:947)"}, "fullDescription": {"text": "`worca-ui/server/app.js:947` calls `GET https://api.telegram.org/bot${token}/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/bot/<p>/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-2053e3da07621095", "name": "Dangling fetch: POST http://localhost:${port}/api/projects/inbox (worca-ui/server/app-webhook-hints.test.js:29)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/projects/inbox (worca-ui/server/app-webhook-hints.test.js:29)"}, "fullDescription": {"text": "`worca-ui/server/app-webhook-hints.test.js:29` calls `POST http://localhost:${port}/api/projects/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/projects/inbox`\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-46a6d7fa2d6132bc", "name": "Dangling fetch: GET http://localhost:${port}/api/integrations/status (worca-ui/server/app-integrations-status.test.js:22", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/integrations/status (worca-ui/server/app-integrations-status.test.js:22)"}, "fullDescription": {"text": "`worca-ui/server/app-integrations-status.test.js:22` calls `GET http://localhost:${port}/api/integrations/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/integrations/status`\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-4e6caaa37d78ab2a", "name": "Dangling fetch: GET http://localhost:${port}/api/integrations/status (worca-ui/server/app-integrations-status.test.js:53", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/integrations/status (worca-ui/server/app-integrations-status.test.js:53)"}, "fullDescription": {"text": "`worca-ui/server/app-integrations-status.test.js:53` calls `GET http://localhost:${port}/api/integrations/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/integrations/status`\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-0f472e46b4085f7b", "name": "Dangling fetch: GET http://localhost:${port}/api/integrations/status (worca-ui/server/app-integrations-status.test.js:69", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/integrations/status (worca-ui/server/app-integrations-status.test.js:69)"}, "fullDescription": {"text": "`worca-ui/server/app-integrations-status.test.js:69` calls `GET http://localhost:${port}/api/integrations/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/integrations/status`\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-3c2a4b95f42b1c86", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:44)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:44)"}, "fullDescription": {"text": "`worca-ui/server/app-webhooks.test.js:44` calls `POST http://localhost:${port}/api/webhooks/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/test`\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-afa98c595658840f", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:56)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:56)"}, "fullDescription": {"text": "`worca-ui/server/app-webhooks.test.js:56` calls `POST http://localhost:${port}/api/webhooks/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/test`\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-962fc90d1fe2ecb8", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:67)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:67)"}, "fullDescription": {"text": "`worca-ui/server/app-webhooks.test.js:67` calls `POST http://localhost:${port}/api/webhooks/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/test`\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-17b0478d58727cc1", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:79)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:79)"}, "fullDescription": {"text": "`worca-ui/server/app-webhooks.test.js:79` calls `POST http://localhost:${port}/api/webhooks/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/test`\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-d7609c5c7c02843e", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:92)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:92)"}, "fullDescription": {"text": "`worca-ui/server/app-webhooks.test.js:92` calls `POST http://localhost:${port}/api/webhooks/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/test`\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-84a7cd8a24503c48", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:112)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:112)"}, "fullDescription": {"text": "`worca-ui/server/app-webhooks.test.js:112` calls `POST http://localhost:${port}/api/webhooks/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/test`\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-000b9e2171ff4285", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:124)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:124)"}, "fullDescription": {"text": "`worca-ui/server/app-webhooks.test.js:124` calls `POST http://localhost:${port}/api/webhooks/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/test`\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-b6d8fc916b46fefd", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:139)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:139)"}, "fullDescription": {"text": "`worca-ui/server/app-webhooks.test.js:139` calls `POST http://localhost:${port}/api/webhooks/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/test`\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-07f8724716847297", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:148)", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:148)"}, "fullDescription": {"text": "`worca-ui/server/app-webhooks.test.js:148` calls `POST http://localhost:${port}/api/webhooks/test` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/test`\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-c3cc652cd34e542d", "name": "Dangling fetch: GET https://registry.npmjs.org/${packageName} (worca-ui/server/versions.js:65)", "shortDescription": {"text": "Dangling fetch: GET https://registry.npmjs.org/${packageName} (worca-ui/server/versions.js:65)"}, "fullDescription": {"text": "`worca-ui/server/versions.js:65` calls `GET https://registry.npmjs.org/${packageName}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/registry.npmjs.org/<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-4a606b1321bcda5c", "name": "Dangling fetch: GET https://pypi.org/pypi/${packageName}/json (worca-ui/server/versions.js:127)", "shortDescription": {"text": "Dangling fetch: GET https://pypi.org/pypi/${packageName}/json (worca-ui/server/versions.js:127)"}, "fullDescription": {"text": "`worca-ui/server/versions.js:127` calls `GET https://pypi.org/pypi/${packageName}/json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/pypi.org/pypi/<p>/json`\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-819469cbec310e38", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/integrations/integrations-pipeline.tes", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/integrations/integrations-pipeline.test.js:166)"}, "fullDescription": {"text": "`worca-ui/server/integrations/integrations-pipeline.test.js:166` calls `POST http://localhost:${port}/api/webhooks/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox`\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-95ef8b1b19fd588d", "name": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/integrations/integrations-pipeline.tes", "shortDescription": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/integrations/integrations-pipeline.test.js:221)"}, "fullDescription": {"text": "`worca-ui/server/integrations/integrations-pipeline.test.js:221` calls `POST http://localhost:${port}/api/webhooks/inbox` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/webhooks/inbox`\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-fc1cbdfaa40d7069", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:64)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:64)"}, "fullDescription": {"text": "`worca-ui/server/test/costs-api.test.js:64` calls `GET http://127.0.0.1:${port}/api/costs` 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>/api/costs`\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-f1f4f3983c8c45eb", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:90)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:90)"}, "fullDescription": {"text": "`worca-ui/server/test/costs-api.test.js:90` calls `GET http://127.0.0.1:${port}/api/costs` 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>/api/costs`\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-8876d773e579f6c7", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:155)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:155)"}, "fullDescription": {"text": "`worca-ui/server/test/costs-api.test.js:155` calls `GET http://127.0.0.1:${port}/api/costs` 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>/api/costs`\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-0f24f755bf838131", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:168)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:168)"}, "fullDescription": {"text": "`worca-ui/server/test/costs-api.test.js:168` calls `GET http://127.0.0.1:${port}/api/costs` 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>/api/costs`\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-3842247b14c7421f", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:181)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:181)"}, "fullDescription": {"text": "`worca-ui/server/test/costs-api.test.js:181` calls `GET http://127.0.0.1:${port}/api/costs` 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>/api/costs`\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-5ef7c9180fb1ed2c", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:208)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:208)"}, "fullDescription": {"text": "`worca-ui/server/test/costs-api.test.js:208` calls `GET http://127.0.0.1:${port}/api/costs` 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>/api/costs`\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-8304de253ee1ebc6", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:233)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:233)"}, "fullDescription": {"text": "`worca-ui/server/test/costs-api.test.js:233` calls `GET http://127.0.0.1:${port}/api/costs` 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>/api/costs`\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-5814b080b109b974", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:260)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:260)"}, "fullDescription": {"text": "`worca-ui/server/test/costs-api.test.js:260` calls `GET http://127.0.0.1:${port}/api/costs` 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>/api/costs`\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-4d2b01479aabe79d", "name": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:284)", "shortDescription": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:284)"}, "fullDescription": {"text": "`worca-ui/server/test/costs-api.test.js:284` calls `GET http://127.0.0.1:${port}/api/costs` 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>/api/costs`\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-95d232d1aba2e253", "name": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:53)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:53)"}, "fullDescription": {"text": "`worca-ui/server/test/subagents-api.test.js:53` calls `GET http://localhost:${port}/api/subagents` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/subagents`\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-a0a7d1f65587db3f", "name": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:72)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:72)"}, "fullDescription": {"text": "`worca-ui/server/test/subagents-api.test.js:72` calls `GET http://localhost:${port}/api/subagents` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/subagents`\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-4a8deba3fab2f19e", "name": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:91)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:91)"}, "fullDescription": {"text": "`worca-ui/server/test/subagents-api.test.js:91` calls `GET http://localhost:${port}/api/subagents` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/subagents`\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-5a3034f6bc9317f0", "name": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:115)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:115)"}, "fullDescription": {"text": "`worca-ui/server/test/subagents-api.test.js:115` calls `GET http://localhost:${port}/api/subagents` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/subagents`\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-5123f1a31c9b3c1b", "name": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:135)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:135)"}, "fullDescription": {"text": "`worca-ui/server/test/subagents-api.test.js:135` calls `GET http://localhost:${port}/api/subagents` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:/<p>/api/subagents`\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-1caacf6e40103f7b", "name": "Dangling fetch: GET /api/templates/project/effort-mode (worca-ui/e2e/pipelines-templates.spec.js:871)", "shortDescription": {"text": "Dangling fetch: GET /api/templates/project/effort-mode (worca-ui/e2e/pipelines-templates.spec.js:871)"}, "fullDescription": {"text": "`worca-ui/e2e/pipelines-templates.spec.js:871` calls `GET /api/templates/project/effort-mode` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/templates/project/effort-mode`\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-baeeca04c7de9be7", "name": "Dangling fetch: GET /api/templates/project/gov-strike (worca-ui/e2e/pipelines-templates.spec.js:923)", "shortDescription": {"text": "Dangling fetch: GET /api/templates/project/gov-strike (worca-ui/e2e/pipelines-templates.spec.js:923)"}, "fullDescription": {"text": "`worca-ui/e2e/pipelines-templates.spec.js:923` calls `GET /api/templates/project/gov-strike` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/templates/project/gov-strike`\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-71cb1307cd3a25e2", "name": "Dangling fetch: GET /api/workspaces (worca-ui/e2e/workspaces.spec.js:253)", "shortDescription": {"text": "Dangling fetch: GET /api/workspaces (worca-ui/e2e/workspaces.spec.js:253)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:253` calls `GET /api/workspaces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\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-caacc5aaf435326f", "name": "Dangling fetch: POST /api/workspaces/scan (worca-ui/e2e/workspaces.spec.js:262)", "shortDescription": {"text": "Dangling fetch: POST /api/workspaces/scan (worca-ui/e2e/workspaces.spec.js:262)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:262` calls `POST /api/workspaces/scan` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/scan`\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-f4f563ab78ab6d3e", "name": "Dangling fetch: POST /api/workspaces (worca-ui/e2e/workspaces.spec.js:279)", "shortDescription": {"text": "Dangling fetch: POST /api/workspaces (worca-ui/e2e/workspaces.spec.js:279)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:279` calls `POST /api/workspaces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\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-35c5df03b8f8850a", "name": "Dangling fetch: GET /api/workspaces (worca-ui/e2e/workspaces.spec.js:307)", "shortDescription": {"text": "Dangling fetch: GET /api/workspaces (worca-ui/e2e/workspaces.spec.js:307)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:307` calls `GET /api/workspaces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\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-55d6b3911bce5398", "name": "Dangling fetch: GET /api/workspace-runs/${wsId} (worca-ui/e2e/workspaces.spec.js:386)", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${wsId} (worca-ui/e2e/workspaces.spec.js:386)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:386` calls `GET /api/workspace-runs/${wsId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<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-2fc99a2eb0d13633", "name": "Dangling fetch: GET /api/workspace-runs/${wsId}/guide (worca-ui/e2e/workspaces.spec.js:405)", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${wsId}/guide (worca-ui/e2e/workspaces.spec.js:405)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:405` calls `GET /api/workspace-runs/${wsId}/guide` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<p>/guide`\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-928510d4b61cd310", "name": "Dangling fetch: GET /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:470)", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:470)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:470` calls `GET /api/workspace-runs/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<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-70473a6ed6835835", "name": "Dangling fetch: DELETE /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:578)", "shortDescription": {"text": "Dangling fetch: DELETE /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:578)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:578` calls `DELETE /api/workspace-runs/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<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-b192a34c3b0a6e2d", "name": "Dangling fetch: PUT /api/workspace-runs/${id}/plan (worca-ui/e2e/workspaces.spec.js:602)", "shortDescription": {"text": "Dangling fetch: PUT /api/workspace-runs/${id}/plan (worca-ui/e2e/workspaces.spec.js:602)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:602` calls `PUT /api/workspace-runs/${id}/plan` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<p>/plan`\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-9f9346f64fbea081", "name": "Dangling fetch: POST /api/workspace-runs/${id}/resume (worca-ui/e2e/workspaces.spec.js:623)", "shortDescription": {"text": "Dangling fetch: POST /api/workspace-runs/${id}/resume (worca-ui/e2e/workspaces.spec.js:623)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:623` calls `POST /api/workspace-runs/${id}/resume` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<p>/resume`\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-8b0f996c46b4d559", "name": "Dangling fetch: GET /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:723)", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:723)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:723` calls `GET /api/workspace-runs/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<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-973afa8dd079ef1e", "name": "Dangling fetch: GET /api/workspaces/edit-ws (worca-ui/e2e/workspaces.spec.js:776)", "shortDescription": {"text": "Dangling fetch: GET /api/workspaces/edit-ws (worca-ui/e2e/workspaces.spec.js:776)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:776` calls `GET /api/workspaces/edit-ws` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/edit-ws`\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-c8b94de9d0de6bf8", "name": "Dangling fetch: PUT /api/workspaces/edit-ws (worca-ui/e2e/workspaces.spec.js:785)", "shortDescription": {"text": "Dangling fetch: PUT /api/workspaces/edit-ws (worca-ui/e2e/workspaces.spec.js:785)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:785` calls `PUT /api/workspaces/edit-ws` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/edit-ws`\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-aef2d62d75378ffa", "name": "Dangling fetch: GET /api/workspace-runs/${wsId} (worca-ui/e2e/workspaces.spec.js:828)", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${wsId} (worca-ui/e2e/workspaces.spec.js:828)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:828` calls `GET /api/workspace-runs/${wsId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<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-34f165d390075fbc", "name": "Dangling fetch: POST /api/workspace-runs/${id}/re-run-integration (worca-ui/e2e/workspaces.spec.js:964)", "shortDescription": {"text": "Dangling fetch: POST /api/workspace-runs/${id}/re-run-integration (worca-ui/e2e/workspaces.spec.js:964)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:964` calls `POST /api/workspace-runs/${id}/re-run-integration` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<p>/re-run-integration`\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-292c4da60871ec2a", "name": "Dangling fetch: GET /api/workspace-runs/${id}/context/web (worca-ui/e2e/workspaces.spec.js:1062)", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${id}/context/web (worca-ui/e2e/workspaces.spec.js:1062)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:1062` calls `GET /api/workspace-runs/${id}/context/web` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<p>/context/web`\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-ccf3023060bea62a", "name": "Dangling fetch: POST /api/workspace-runs/${id}/relaunch (worca-ui/e2e/workspaces.spec.js:1125)", "shortDescription": {"text": "Dangling fetch: POST /api/workspace-runs/${id}/relaunch (worca-ui/e2e/workspaces.spec.js:1125)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:1125` calls `POST /api/workspace-runs/${id}/relaunch` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<p>/relaunch`\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-9a7f9e402d0b1479", "name": "Dangling fetch: GET /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:1140)", "shortDescription": {"text": "Dangling fetch: GET /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:1140)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:1140` calls `GET /api/workspace-runs/${id}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspace-runs/<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-c6b9c7d14bdd84d4", "name": "Dangling fetch: POST /api/workspaces (worca-ui/e2e/workspaces.spec.js:1174)", "shortDescription": {"text": "Dangling fetch: POST /api/workspaces (worca-ui/e2e/workspaces.spec.js:1174)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:1174` calls `POST /api/workspaces` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\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-ba38b5a78672113b", "name": "Dangling fetch: PUT /api/workspaces/cycle-edit-ws (worca-ui/e2e/workspaces.spec.js:1211)", "shortDescription": {"text": "Dangling fetch: PUT /api/workspaces/cycle-edit-ws (worca-ui/e2e/workspaces.spec.js:1211)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:1211` calls `PUT /api/workspaces/cycle-edit-ws` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/cycle-edit-ws`\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-8ea45fe5f66d75ea", "name": "Dangling fetch: PUT /api/workspaces/active-ws (worca-ui/e2e/workspaces.spec.js:1282)", "shortDescription": {"text": "Dangling fetch: PUT /api/workspaces/active-ws (worca-ui/e2e/workspaces.spec.js:1282)"}, "fullDescription": {"text": "`worca-ui/e2e/workspaces.spec.js:1282` calls `PUT /api/workspaces/active-ws` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/workspaces/active-ws`\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-329c4c97cfabdd7f", "name": "Unused endpoint: USE /worktrees", "shortDescription": {"text": "Unused endpoint: USE /worktrees"}, "fullDescription": {"text": "`worca-ui/server/worktrees-routes.js` declares `USE /worktrees` 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": "`worca-ui/server/worktrees-routes.js` 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-8bc044960f2dad88", "name": "Unused endpoint: DELETE /:run_id", "shortDescription": {"text": "Unused endpoint: DELETE /:run_id"}, "fullDescription": {"text": "`worca-ui/server/worktrees-routes.js` declares `DELETE /:run_id` 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-09da8787bc214335", "name": "Unused endpoint: POST /cleanup", "shortDescription": {"text": "Unused endpoint: POST /cleanup"}, "fullDescription": {"text": "`worca-ui/server/worktrees-routes.js` declares `POST /cleanup` 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-67d28fa8cd6bb12f", "name": "Unused endpoint: PUT /", "shortDescription": {"text": "Unused endpoint: PUT /"}, "fullDescription": {"text": "`worca-ui/server/preferences-routes.js` declares `PUT /` 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-d532434ff58300bf", "name": "Unused endpoint: GET /:tier/:alias", "shortDescription": {"text": "Unused endpoint: GET /:tier/:alias"}, "fullDescription": {"text": "`worca-ui/server/models-routes.js` declares `GET /:tier/:alias` 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-3cae5d292fcd0dc6", "name": "Unused endpoint: PUT /:tier/:alias", "shortDescription": {"text": "Unused endpoint: PUT /:tier/:alias"}, "fullDescription": {"text": "`worca-ui/server/models-routes.js` declares `PUT /:tier/:alias` 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-84f32addeef0dadf", "name": "Unused endpoint: DELETE /:tier/:alias", "shortDescription": {"text": "Unused endpoint: DELETE /:tier/:alias"}, "fullDescription": {"text": "`worca-ui/server/models-routes.js` declares `DELETE /:tier/:alias` 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-ef7a15868977421a", "name": "Unused endpoint: POST /:tier/:alias/duplicate", "shortDescription": {"text": "Unused endpoint: POST /:tier/:alias/duplicate"}, "fullDescription": {"text": "`worca-ui/server/models-routes.js` declares `POST /:tier/:alias/duplicate` 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-7a009b1a56794f45", "name": "Unused endpoint: POST /", "shortDescription": {"text": "Unused endpoint: POST /"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /` 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-7a61c112b611f4bb", "name": "Unused endpoint: DELETE /:id", "shortDescription": {"text": "Unused endpoint: DELETE /:id"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `DELETE /:id` 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-52c85377cc38e474", "name": "Unused endpoint: POST /batch", "shortDescription": {"text": "Unused endpoint: POST /batch"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /batch` 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-3be912c6187ea599", "name": "Unused endpoint: GET /runs", "shortDescription": {"text": "Unused endpoint: GET /runs"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /runs` 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-5b4d8b5420aeee16", "name": "Unused endpoint: GET /branches", "shortDescription": {"text": "Unused endpoint: GET /branches"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /branches` 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-7022d6340ef8fdff", "name": "Unused endpoint: GET /plan-files", "shortDescription": {"text": "Unused endpoint: GET /plan-files"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /plan-files` 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-38725e00fb54d3e1", "name": "Unused endpoint: USE /settings/model-env", "shortDescription": {"text": "Unused endpoint: USE /settings/model-env"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `USE /settings/model-env` 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-f6f3749f9dcc0540", "name": "Unused endpoint: USE /models", "shortDescription": {"text": "Unused endpoint: USE /models"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `USE /models` 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-924ea11244b48a04", "name": "Unused endpoint: GET /setup/preflight", "shortDescription": {"text": "Unused endpoint: GET /setup/preflight"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /setup/preflight` 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-3c0a29fed4da99a7", "name": "Unused endpoint: POST /setup/apply", "shortDescription": {"text": "Unused endpoint: POST /setup/apply"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /setup/apply` 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-512ccb0fd0b230ba", "name": "Unused endpoint: GET /settings", "shortDescription": {"text": "Unused endpoint: GET /settings"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /settings` 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-0db5afc04ec3e1b7", "name": "Unused endpoint: GET /effective-settings", "shortDescription": {"text": "Unused endpoint: GET /effective-settings"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /effective-settings` 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-d9fbbfd361e91f1e", "name": "Unused endpoint: POST /settings", "shortDescription": {"text": "Unused endpoint: POST /settings"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /settings` 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-0cb23eaf1e3274f4", "name": "Unused endpoint: DELETE /settings/:section", "shortDescription": {"text": "Unused endpoint: DELETE /settings/:section"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `DELETE /settings/:section` 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-6b3fb055f2565905", "name": "Unused endpoint: GET /runs/:runId/status", "shortDescription": {"text": "Unused endpoint: GET /runs/:runId/status"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /runs/:runId/status` 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-3d1e56eb520b0f57", "name": "Unused endpoint: GET /runs/:runId/plan-iterations", "shortDescription": {"text": "Unused endpoint: GET /runs/:runId/plan-iterations"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /runs/:runId/plan-iterations` 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-f758c9f03c5190eb", "name": "Unused endpoint: GET /runs/:runId/plan", "shortDescription": {"text": "Unused endpoint: GET /runs/:runId/plan"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /runs/:runId/plan` 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-9daeb7b1a43e9733", "name": "Unused endpoint: POST /runs", "shortDescription": {"text": "Unused endpoint: POST /runs"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs` 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-ba82b9d0d41109f8", "name": "Unused endpoint: POST /runs/:id/pause", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/pause"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/pause` 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-94d4ded01d41ea30", "name": "Unused endpoint: POST /runs/:id/resume", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/resume"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/resume` 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-df3a2b9385f8beda", "name": "Unused endpoint: POST /runs/:id/stop", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/stop"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/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-427fabb5ac8ed837", "name": "Unused endpoint: POST /runs/:id/cancel", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/cancel"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/cancel` 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-291ecf6921fd66e6", "name": "Unused endpoint: POST /runs/:id/control", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/control"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/control` 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-1fd5a010e5378651", "name": "Unused endpoint: POST /runs/:id/archive", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/archive"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/archive` 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-28d5563b7e915de7", "name": "Unused endpoint: POST /runs/:id/unarchive", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/unarchive"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/unarchive` 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-d061b850da991e8c", "name": "Unused endpoint: POST /runs/:id/delete", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/delete"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/delete` 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-99e61ac3cce1a7c9", "name": "Unused endpoint: POST /runs/:id/stages/:stage/restart", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/stages/:stage/restart"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/stages/:stage/restart` 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-0261d2b235e48a08", "name": "Unused endpoint: POST /runs/:id/learn", "shortDescription": {"text": "Unused endpoint: POST /runs/:id/learn"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /runs/:id/learn` 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-ac6fb0974ea7b97f", "name": "Unused endpoint: GET /worca-status", "shortDescription": {"text": "Unused endpoint: GET /worca-status"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /worca-status` 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-2e45220fdf223e56", "name": "Unused endpoint: POST /worca-setup", "shortDescription": {"text": "Unused endpoint: POST /worca-setup"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /worca-setup` 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-bf4355567ef07cfb", "name": "Unused endpoint: GET /costs", "shortDescription": {"text": "Unused endpoint: GET /costs"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /costs` 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-98ab7639623b8e30", "name": "Unused endpoint: GET /beads/issues", "shortDescription": {"text": "Unused endpoint: GET /beads/issues"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `GET /beads/issues` 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-52e0d6312db8cf6c", "name": "Unused endpoint: POST /beads/issues/:id/start", "shortDescription": {"text": "Unused endpoint: POST /beads/issues/:id/start"}, "fullDescription": {"text": "`worca-ui/server/project-routes.js` declares `POST /beads/issues/:id/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-dde3adb27bf7eebe", "name": "Unused endpoint: USE /api", "shortDescription": {"text": "Unused endpoint: USE /api"}, "fullDescription": {"text": "`worca-ui/server/app.js` declares `USE /api` 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-7aa66c8a2cc80a29", "name": "Unused endpoint: GET /api/beads/issues", "shortDescription": {"text": "Unused endpoint: GET /api/beads/issues"}, "fullDescription": {"text": "`worca-ui/server/app.js` declares `GET /api/beads/issues` 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-b35c31ab0f7e0fa2", "name": "Unused endpoint: POST /api/beads/issues/:id/start", "shortDescription": {"text": "Unused endpoint: POST /api/beads/issues/:id/start"}, "fullDescription": {"text": "`worca-ui/server/app.js` declares `POST /api/beads/issues/:id/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-81b555e4b2b828c8", "name": "Unused endpoint: POST /api/webhooks/inbox", "shortDescription": {"text": "Unused endpoint: POST /api/webhooks/inbox"}, "fullDescription": {"text": "`worca-ui/server/app.js` declares `POST /api/webhooks/inbox` 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-fc4f7f713fe97151", "name": "Unused endpoint: GET /api/webhooks/inbox", "shortDescription": {"text": "Unused endpoint: GET /api/webhooks/inbox"}, "fullDescription": {"text": "`worca-ui/server/app.js` declares `GET /api/webhooks/inbox` 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-c802a661afedd421", "name": "Unused endpoint: DELETE /api/webhooks/inbox", "shortDescription": {"text": "Unused endpoint: DELETE /api/webhooks/inbox"}, "fullDescription": {"text": "`worca-ui/server/app.js` declares `DELETE /api/webhooks/inbox` 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-667411331863d4ec", "name": "Unused endpoint: GET /api/webhooks/inbox/control", "shortDescription": {"text": "Unused endpoint: GET /api/webhooks/inbox/control"}, "fullDescription": {"text": "`worca-ui/server/app.js` declares `GET /api/webhooks/inbox/control` 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-b00e0f21649112c3", "name": "Unused endpoint: PUT /api/webhooks/inbox/control", "shortDescription": {"text": "Unused endpoint: PUT /api/webhooks/inbox/control"}, "fullDescription": {"text": "`worca-ui/server/app.js` declares `PUT /api/webhooks/inbox/control` 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/19732"}, "properties": {"repository": "SinishaDjukic/worca-cc", "repoUrl": "https://github.com/SinishaDjukic/worca-cc", "branch": "main"}, "results": [{"ruleId": "scanner-98e7d9ea02ac669f", "level": "note", "message": {"text": "Possibly dead Python function: cmd_combine"}, "properties": {"repobilityId": "2255a1b81540d27b", "scanner": "scanner-primary", "fingerprint": "98e7d9ea02ac669f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/coverage.py:210"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f5b648b96651b35", "level": "note", "message": {"text": "Possibly dead Python function: cmd_report"}, "properties": {"repobilityId": "e07177dc4040e77f", "scanner": "scanner-primary", "fingerprint": "3f5b648b96651b35", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/coverage.py:214"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-350eea565cc30495", "level": "note", "message": {"text": "Possibly dead Python function: cmd_compare"}, "properties": {"repobilityId": "d772a3190ff9bcdb", "scanner": "scanner-primary", "fingerprint": "350eea565cc30495", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/coverage.py:226"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9aa67d9eef5071a9", "level": "note", "message": {"text": "Possibly dead Python function: register_subcommand"}, "properties": {"repobilityId": "3df004629427f478", "scanner": "scanner-primary", "fingerprint": "9aa67d9eef5071a9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/cli/models_cmd.py:55"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f60eed7f2e2fe81", "level": "note", "message": {"text": "Possibly dead Python function: register_subcommand"}, "properties": {"repobilityId": "3df004629427f478", "scanner": "scanner-primary", "fingerprint": "3f60eed7f2e2fe81", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/cli/graphify_cmd.py:332"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-76af7705a179b590", "level": "note", "message": {"text": "Possibly dead Python function: register_subcommand"}, "properties": {"repobilityId": "3df004629427f478", "scanner": "scanner-primary", "fingerprint": "76af7705a179b590", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/cli/templates.py:180"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c8cc307b4445190e", "level": "note", "message": {"text": "Possibly dead Python function: ignore_patterns"}, "properties": {"repobilityId": "3a85ae8ef3fcea2c", "scanner": "scanner-primary", "fingerprint": "c8cc307b4445190e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/cli/init.py:841"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f608c02043815bc2", "level": "note", "message": {"text": "Possibly dead Python function: register_subcommand"}, "properties": {"repobilityId": "3df004629427f478", "scanner": "scanner-primary", "fingerprint": "f608c02043815bc2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/cli/workspace.py:139"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c5ae2b60d43f361e", "level": "note", "message": {"text": "Possibly dead Python function: register_subcommand"}, "properties": {"repobilityId": "3df004629427f478", "scanner": "scanner-primary", "fingerprint": "c5ae2b60d43f361e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/cli/cleanup.py:553"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1b2f0f14ee17013f", "level": "note", "message": {"text": "Possibly dead Python function: register_subcommand"}, "properties": {"repobilityId": "3df004629427f478", "scanner": "scanner-primary", "fingerprint": "1b2f0f14ee17013f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/cli/pr.py:300"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f9d9d04402ba043", "level": "note", "message": {"text": "Possibly dead Python function: register_subcommand"}, "properties": {"repobilityId": "3df004629427f478", "scanner": "scanner-primary", "fingerprint": "3f9d9d04402ba043", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/cli/crg_cmd.py:200"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7eb6d0a1cc74f53", "level": "note", "message": {"text": "Possibly dead Python function: resolve_and_materialize"}, "properties": {"repobilityId": "736cb010d7de9d0b", "scanner": "scanner-primary", "fingerprint": "f7eb6d0a1cc74f53", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/utils/claude_md.py:167"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e4ed0a28d7249f9", "level": "note", "message": {"text": "Possibly dead Python function: workspace_runs_dir"}, "properties": {"repobilityId": "894b7ed9a0ba9f61", "scanner": "scanner-primary", "fingerprint": "7e4ed0a28d7249f9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/utils/paths.py:66"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c89988dc4f32c00b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/generate-voiceover.ts:317"}, "properties": {"repobilityId": "fb16c1a248c582b8", "scanner": "scanner-primary", "fingerprint": "c89988dc4f32c00b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b41bfe9f191395b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/generate-srt.ts:73"}, "properties": {"repobilityId": "3e6f3e79919e0431", "scanner": "scanner-primary", "fingerprint": "3b41bfe9f191395b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9494ca724d4a8825", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/generate-posters.ts:50"}, "properties": {"repobilityId": "a5f0e630b3d53c15", "scanner": "scanner-primary", "fingerprint": "9494ca724d4a8825", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-07b58e1b2eaa1b34", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/render-all.ts:51"}, "properties": {"repobilityId": "fb53ea06151dd6a3", "scanner": "scanner-primary", "fingerprint": "07b58e1b2eaa1b34", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ead9833ecc99877", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 videos/scripts/publish-to-docs.ts:55"}, "properties": {"repobilityId": "16dd8a917524c14b", "scanner": "scanner-primary", "fingerprint": "3ead9833ecc99877", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fc2556792db008c5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/scripts/build-frontend.js:48"}, "properties": {"repobilityId": "f6e80b455ee1dd27", "scanner": "scanner-primary", "fingerprint": "fc2556792db008c5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5f6b4d4785b18ed", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/app/utils/logging.js:7"}, "properties": {"repobilityId": "399fb7c9894f50ff", "scanner": "scanner-primary", "fingerprint": "a5f6b4d4785b18ed", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-baaa378837b18651", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 worca-ui/app/views/pipelines-editor-save.test.js:42"}, "properties": {"repobilityId": "324cc1854b1b5ea3", "scanner": "scanner-primary", "fingerprint": "baaa378837b18651", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-09e1939688243854", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/app/views/pipelines-editor.js:1310"}, "properties": {"repobilityId": "834803705057057a", "scanner": "scanner-primary", "fingerprint": "09e1939688243854", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c9de5a14f53b15da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/server/ws-message-router.js:697"}, "properties": {"repobilityId": "141a0c71c3d94d68", "scanner": "scanner-primary", "fingerprint": "c9de5a14f53b15da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1b25661138249c82", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/server/index.js:125"}, "properties": {"repobilityId": "1ba2bfb055863278", "scanner": "scanner-primary", "fingerprint": "1b25661138249c82", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9c5b8f1ff4fbb228", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/server/test/strip-shebang-plugin.test.js:24"}, "properties": {"repobilityId": "75b7a857217020b1", "scanner": "scanner-primary", "fingerprint": "9c5b8f1ff4fbb228", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a35a3a3a239816d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 worca-ui/e2e/test-fixture-templates.js:16"}, "properties": {"repobilityId": "cf26f27a31ea946f", "scanner": "scanner-primary", "fingerprint": "a35a3a3a239816d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c6ae80cd3ef04c06", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in videos/scripts/generate-posters.ts:14"}, "properties": {"repobilityId": "a0ee57a478a11443", "scanner": "scanner-primary", "fingerprint": "c6ae80cd3ef04c06", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "videos/scripts/generate-posters.ts"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-490b7ec1803ed68a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in videos/scripts/render-all.ts:14"}, "properties": {"repobilityId": "6e83856ffc35c66c", "scanner": "scanner-primary", "fingerprint": "490b7ec1803ed68a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "videos/scripts/render-all.ts"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-e6a782d2f19733fb", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in src/worca/workspace/integration_test.py:128"}, "properties": {"repobilityId": "10bc4f3503c32c47", "scanner": "scanner-primary", "fingerprint": "e6a782d2f19733fb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/workspace/integration_test.py"}, "region": {"startLine": 128}}}]}, {"ruleId": "scanner-00865424fcbc13dd", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in src/worca/orchestrator/events.py:66"}, "properties": {"repobilityId": "2ef6b564d61861ce", "scanner": "scanner-primary", "fingerprint": "00865424fcbc13dd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/worca/orchestrator/events.py"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-a3ac0ad4489914bb", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/scripts/build-frontend.js:2"}, "properties": {"repobilityId": "a805a1ae79285237", "scanner": "scanner-primary", "fingerprint": "a3ac0ad4489914bb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/scripts/build-frontend.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-77b62ee5b84d7a93", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in worca-ui/app/views/run-timeline.js:238"}, "properties": {"repobilityId": "6a53fa0997024a31", "scanner": "scanner-primary", "fingerprint": "77b62ee5b84d7a93", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/app/views/run-timeline.js"}, "region": {"startLine": 238}}}]}, {"ruleId": "scanner-79cafae31b78fe75", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in worca-ui/app/views/project-setup-wizard.test.js:90"}, "properties": {"repobilityId": "e230d9bad1c785f7", "scanner": "scanner-primary", "fingerprint": "79cafae31b78fe75", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/app/views/project-setup-wizard.test.js"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-2689076991d15eac", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in worca-ui/app/views/settings-pipeline-deep-link.test.js:34"}, "properties": {"repobilityId": "9738e09967006df5", "scanner": "scanner-primary", "fingerprint": "2689076991d15eac", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/app/views/settings-pipeline-deep-link.test.js"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-2ff569801238ffc6", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/worktree-ops.js:5"}, "properties": {"repobilityId": "80f2b2cb1dfb4840", "scanner": "scanner-primary", "fingerprint": "2ff569801238ffc6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/worktree-ops.js"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-3ffa43b25a06a48f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/git-helpers.test.js:1"}, "properties": {"repobilityId": "46085fefc3fd36ab", "scanner": "scanner-primary", "fingerprint": "3ffa43b25a06a48f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/git-helpers.test.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a7f6848aa3acc889", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/git-helpers.js:1"}, "properties": {"repobilityId": "9e1de1cf6b9d1e5c", "scanner": "scanner-primary", "fingerprint": "a7f6848aa3acc889", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/git-helpers.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f0508860da62eef", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/project-routes.js:9"}, "properties": {"repobilityId": "b888b80488b87caf", "scanner": "scanner-primary", "fingerprint": "1f0508860da62eef", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/project-routes.js"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-a0b651f4cca533db", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/graphify-status.test.js:1"}, "properties": {"repobilityId": "bf63bde599edc04d", "scanner": "scanner-primary", "fingerprint": "a0b651f4cca533db", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/graphify-status.test.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-301df6866417c423", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/bd-daemon.js:1"}, "properties": {"repobilityId": "40f9939e52b3c142", "scanner": "scanner-primary", "fingerprint": "301df6866417c423", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/bd-daemon.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14cdfbdfc3f4d7a3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/worca-setup.js:11"}, "properties": {"repobilityId": "2b40d5fd0c242533", "scanner": "scanner-primary", "fingerprint": "14cdfbdfc3f4d7a3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/worca-setup.js"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-e09676fa0d236afb", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/code-review-graph-status.test.js:1"}, "properties": {"repobilityId": "e2f8cb51a1b334f4", "scanner": "scanner-primary", "fingerprint": "e09676fa0d236afb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/code-review-graph-status.test.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3727afc80c1829f4", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/app.js:3"}, "properties": {"repobilityId": "e4a3ae39ba5c4609", "scanner": "scanner-primary", "fingerprint": "3727afc80c1829f4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/app.js"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-b2c6653c700713df", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/graphify-status.js:1"}, "properties": {"repobilityId": "9f93f2e628a77b1e", "scanner": "scanner-primary", "fingerprint": "b2c6653c700713df", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/graphify-status.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9995b5777909fff4", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/project-routes.test.js:1"}, "properties": {"repobilityId": "f8b1141ed33f9520", "scanner": "scanner-primary", "fingerprint": "9995b5777909fff4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/project-routes.test.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-52aff4dc59c52fac", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/process-manager.js:6"}, "properties": {"repobilityId": "a19f44cbb75fe313", "scanner": "scanner-primary", "fingerprint": "52aff4dc59c52fac", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/process-manager.js"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-71c92fa3d08d93b2", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/dispatch-external.js:1"}, "properties": {"repobilityId": "ff14410fd0434f3b", "scanner": "scanner-primary", "fingerprint": "71c92fa3d08d93b2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/dispatch-external.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aeb8f5a935e37057", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/beads-reader.js:1"}, "properties": {"repobilityId": "6056a4d2d920b045", "scanner": "scanner-primary", "fingerprint": "aeb8f5a935e37057", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/beads-reader.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-294b7ab294eba38a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/project-routes-worktree-control.test.js:1"}, "properties": {"repobilityId": "891bc909c9213e7a", "scanner": "scanner-primary", "fingerprint": "294b7ab294eba38a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/project-routes-worktree-control.test.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c49729a7473bf93b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/code-review-graph-status.js:1"}, "properties": {"repobilityId": "8e4554a8a9a4f82f", "scanner": "scanner-primary", "fingerprint": "c49729a7473bf93b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/code-review-graph-status.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aa1300a1fd2ed805", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/version-check.js:2"}, "properties": {"repobilityId": "7c052c5126ec41e7", "scanner": "scanner-primary", "fingerprint": "aa1300a1fd2ed805", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/version-check.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-2c5db6769fc0d025", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/workspace-routes.js:12"}, "properties": {"repobilityId": "72e93e722b8134b2", "scanner": "scanner-primary", "fingerprint": "2c5db6769fc0d025", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/workspace-routes.js"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-06e153ce89063f15", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/fleet-routes.js:8"}, "properties": {"repobilityId": "6071e52b60ca23ee", "scanner": "scanner-primary", "fingerprint": "06e153ce89063f15", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/fleet-routes.js"}, "region": {"startLine": 8}}}]}, {"ruleId": "scanner-d8e3e4f1b5f50feb", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/server/versions.js:2"}, "properties": {"repobilityId": "ba0a68eef9e74c4a", "scanner": "scanner-primary", "fingerprint": "d8e3e4f1b5f50feb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/server/versions.js"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-8c1d4fa39fde0929", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in worca-ui/e2e/markdown-rendering.spec.js:4"}, "properties": {"repobilityId": "88873f43e010dc45", "scanner": "scanner-primary", "fingerprint": "8c1d4fa39fde0929", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "worca-ui/e2e/markdown-rendering.spec.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "925b528a63157ee6", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "556d2dda8be37861", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3c5f7937c5980794", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "925b528a63157ee6", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "556d2dda8be37861", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3c5f7937c5980794", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c7b0656e54a8a817", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 107}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "925b528a63157ee6", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 119}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "556d2dda8be37861", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3c5f7937c5980794", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 135}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c7b0656e54a8a817", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "556d2dda8be37861", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 163}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "925b528a63157ee6", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 174}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "556d2dda8be37861", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 203}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "925b528a63157ee6", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 210}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c7b0656e54a8a817", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 241}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "556d2dda8be37861", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 252}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "925b528a63157ee6", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 259}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c7b0656e54a8a817", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 280}}}]}, {"ruleId": "scanner-14cdfa58eeacdd43", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b4519eaf718ba203", "scanner": "scanner-primary", "fingerprint": "14cdfa58eeacdd43", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test-e2e.yml"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-14cdfa58eeacdd43", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9ef5c4aeac3d414d", "scanner": "scanner-primary", "fingerprint": "14cdfa58eeacdd43", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test-e2e.yml"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-14cdfa58eeacdd43", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "2afb1052f82b2f18", "scanner": "scanner-primary", "fingerprint": "14cdfa58eeacdd43", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test-e2e.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-8f52ce1bb047ea6d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f05b42519767001a", "scanner": "scanner-primary", "fingerprint": "8f52ce1bb047ea6d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-npm.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-8f52ce1bb047ea6d", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "1a68f8419fde0e45", "scanner": "scanner-primary", "fingerprint": "8f52ce1bb047ea6d", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-npm.yml"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-88b688b5b8494760", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "e716f8d0459b60f9", "scanner": "scanner-primary", "fingerprint": "88b688b5b8494760", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-npm.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f9f974bb8fb136e5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5435e5162893134c", "scanner": "scanner-primary", "fingerprint": "f9f974bb8fb136e5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-pypi.yml"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-f9f974bb8fb136e5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ccf9f593217413eb", "scanner": "scanner-primary", "fingerprint": "f9f974bb8fb136e5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-pypi.yml"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-f9f974bb8fb136e5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8a60dd7111e4984b", "scanner": "scanner-primary", "fingerprint": "f9f974bb8fb136e5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-pypi.yml"}, "region": {"startLine": 59}}}]}, {"ruleId": "scanner-f9f974bb8fb136e5", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f632f645881b4c51", "scanner": "scanner-primary", "fingerprint": "f9f974bb8fb136e5", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-pypi.yml"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-f9f974bb8fb136e5", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8a60dd7111e4984b", "scanner": "scanner-primary", "fingerprint": "f9f974bb8fb136e5", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-pypi.yml"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-b126c22a1b9b8a46", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "7d1cfa42b6c3c917", "scanner": "scanner-primary", "fingerprint": "b126c22a1b9b8a46", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-pypi.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cb639d9a10a47b23", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "b86179956da3a4a8", "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-279a6b5ff505fe07", "level": "note", "message": {"text": "Very large file: tests/test_guard.py (1402 lines)"}, "properties": {"repobilityId": "b6c9adf4f2d322f4", "scanner": "scanner-primary", "fingerprint": "279a6b5ff505fe07", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0034ee09f2f0cbfb", "level": "note", "message": {"text": "Very large file: tests/test_runner.py (5116 lines)"}, "properties": {"repobilityId": "80d4a08c4eb104aa", "scanner": "scanner-primary", "fingerprint": "0034ee09f2f0cbfb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb3aba65c35d078a", "level": "note", "message": {"text": "Very large file: tests/test_event_types.py (1426 lines)"}, "properties": {"repobilityId": "e60d17c92ad85539", "scanner": "scanner-primary", "fingerprint": "bb3aba65c35d078a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0bfa19c315b07c67", "level": "note", "message": {"text": "Very large file: tests/test_run_pipeline.py (1496 lines)"}, "properties": {"repobilityId": "1121ed2dfd8e7393", "scanner": "scanner-primary", "fingerprint": "0bfa19c315b07c67", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-60720472aed0c402", "level": "note", "message": {"text": "Very large file: tests/test_cli_templates.py (3133 lines)"}, "properties": {"repobilityId": "b533c01f5d44516a", "scanner": "scanner-primary", "fingerprint": "60720472aed0c402", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6f2d33457eeb656b", "level": "note", "message": {"text": "Very large file: tests/test_runner_plan_review.py (1269 lines)"}, "properties": {"repobilityId": "ce08360a173ea8ca", "scanner": "scanner-primary", "fingerprint": "6f2d33457eeb656b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-288521d184e3fd26", "level": "note", "message": {"text": "Very large file: tests/test_cli_cleanup.py (1469 lines)"}, "properties": {"repobilityId": "c07b5940566635b9", "scanner": "scanner-primary", "fingerprint": "288521d184e3fd26", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-92b843e74f55dfc2", "level": "note", "message": {"text": "Very large file: tests/test_work_request.py (1450 lines)"}, "properties": {"repobilityId": "d08ad50c595d4769", "scanner": "scanner-primary", "fingerprint": "92b843e74f55dfc2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-42adac6bdc2c42fb", "level": "note", "message": {"text": "Very large file: tests/test_runner_plan_review_routing.py (1113 lines)"}, "properties": {"repobilityId": "3d81ed55d8d141a6", "scanner": "scanner-primary", "fingerprint": "42adac6bdc2c42fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-25a00ba1a33dc9f4", "level": "note", "message": {"text": "Very large file: tests/test_dag_executor.py (1677 lines)"}, "properties": {"repobilityId": "9fc4f38be62b95d3", "scanner": "scanner-primary", "fingerprint": "25a00ba1a33dc9f4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d453aacae97767ae", "level": "note", "message": {"text": "Very large file: tests/test_run_workspace.py (1389 lines)"}, "properties": {"repobilityId": "846264366f5ef700", "scanner": "scanner-primary", "fingerprint": "d453aacae97767ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f73eac213581c349", "level": "note", "message": {"text": "Very large file: tests/test_claude_cli.py (2084 lines)"}, "properties": {"repobilityId": "2149b10f184d3838", "scanner": "scanner-primary", "fingerprint": "f73eac213581c349", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cd692efb2bf33473", "level": "note", "message": {"text": "Very large file: tests/integration/test_fleet_lifecycle_e2e.py (1295 lines)"}, "properties": {"repobilityId": "50c91d191c0bc2f2", "scanner": "scanner-primary", "fingerprint": "cd692efb2bf33473", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e6507c8e033d053e", "level": "note", "message": {"text": "Very large file: src/worca/scripts/run_workspace.py (1629 lines)"}, "properties": {"repobilityId": "1d65ae6e98f94362", "scanner": "scanner-primary", "fingerprint": "e6507c8e033d053e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a587c603cbf34fde", "level": "note", "message": {"text": "Very large file: src/worca/cli/templates.py (2222 lines)"}, "properties": {"repobilityId": "1ec1a1b606b8fccb", "scanner": "scanner-primary", "fingerprint": "a587c603cbf34fde", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e025c145da3ea7db", "level": "note", "message": {"text": "Very large file: src/worca/cli/init.py (1310 lines)"}, "properties": {"repobilityId": "aea7fca2b4edd4a0", "scanner": "scanner-primary", "fingerprint": "e025c145da3ea7db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-85451fe0eac92ad1", "level": "note", "message": {"text": "Very large file: src/worca/orchestrator/executor.py (1697 lines)"}, "properties": {"repobilityId": "63300af48a6216f6", "scanner": "scanner-primary", "fingerprint": "85451fe0eac92ad1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-29aeabb30fcbf54b", "level": "note", "message": {"text": "Very large file: src/worca/orchestrator/runner.py (4161 lines)"}, "properties": {"repobilityId": "ddf5bde9888300d4", "scanner": "scanner-primary", "fingerprint": "29aeabb30fcbf54b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8f388f9b8b353468", "level": "note", "message": {"text": "Very large file: worca-ui/app/main.js (6223 lines)"}, "properties": {"repobilityId": "aa1c3b7f3b2bf265", "scanner": "scanner-primary", "fingerprint": "8f388f9b8b353468", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8c00c4579c5d60a0", "level": "note", "message": {"text": "Very large file: worca-ui/app/views/settings.js (3496 lines)"}, "properties": {"repobilityId": "4d936da4d0b41efd", "scanner": "scanner-primary", "fingerprint": "8c00c4579c5d60a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-208207ad013d4680", "level": "note", "message": {"text": "Very large file: worca-ui/app/views/run-file-access.test.js (1913 lines)"}, "properties": {"repobilityId": "19c1d617fd350030", "scanner": "scanner-primary", "fingerprint": "208207ad013d4680", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b5f5ce06e3904568", "level": "note", "message": {"text": "Very large file: worca-ui/app/views/pipelines-editor.js (2778 lines)"}, "properties": {"repobilityId": "28539a7130980624", "scanner": "scanner-primary", "fingerprint": "b5f5ce06e3904568", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-919b95ea08f57a79", "level": "note", "message": {"text": "Very large file: worca-ui/app/views/run-detail.js (2465 lines)"}, "properties": {"repobilityId": "855f7700731402d3", "scanner": "scanner-primary", "fingerprint": "919b95ea08f57a79", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-24fe67fd8ad17a43", "level": "note", "message": {"text": "Very large file: worca-ui/server/project-routes.js (1929 lines)"}, "properties": {"repobilityId": "680a813cc585ea2a", "scanner": "scanner-primary", "fingerprint": "24fe67fd8ad17a43", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0e9a20be1e57550f", "level": "note", "message": {"text": "Very large file: worca-ui/server/app.js (1517 lines)"}, "properties": {"repobilityId": "d64029e5dd15c68a", "scanner": "scanner-primary", "fingerprint": "0e9a20be1e57550f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c6fd36eb2ea6f439", "level": "note", "message": {"text": "Very large file: worca-ui/server/workspace-routes.js (1835 lines)"}, "properties": {"repobilityId": "6dbb9a3eb85aceda", "scanner": "scanner-primary", "fingerprint": "c6fd36eb2ea6f439", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5b99d1a3a09b1419", "level": "note", "message": {"text": "32 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "5b99d1a3a09b1419", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "02738d6dbfaf9f79", "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": "bfdebb89b3604ff0", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "649dd22f57606927", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "5c77ff0a04887734", "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": "5fc2a040ef30d56a", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-7be767240fc6c5d4", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/skills/worca-webhook-test/SKILL.md"}, "properties": {"repobilityId": "8bc8145e02fbe3bd", "scanner": "scanner-primary", "fingerprint": "7be767240fc6c5d4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/worca-webhook-test/SKILL.md"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-d2a26d766bd0e208", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/worca-rc/SKILL.md"}, "properties": {"repobilityId": "aa4a7f58748b8824", "scanner": "scanner-primary", "fingerprint": "d2a26d766bd0e208", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/worca-rc/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-24225a77e31b1dc2", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: .claude/skills/worca-rc/SKILL.md"}, "properties": {"repobilityId": "eee0f6c3404c7d8f", "scanner": "scanner-primary", "fingerprint": "24225a77e31b1dc2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/worca-rc/SKILL.md"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-fabeaeb3da16a951", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: .claude/skills/worca-release/SKILL.md"}, "properties": {"repobilityId": "33a20b4be5c83513", "scanner": "scanner-primary", "fingerprint": "fabeaeb3da16a951", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/worca-release/SKILL.md"}, "region": {"startLine": 210}}}]}, {"ruleId": "scanner-0cf7d57ef3d7e288", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_effort.py:587"}, "properties": {"repobilityId": "23f12b6d00e9d414", "scanner": "scanner-primary", "fingerprint": "0cf7d57ef3d7e288", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-584cab4ad1341a7c", "level": "note", "message": {"text": "Legacy-named symbol `_dispatch_legacy` in tests/test_init_migration.py:168"}, "properties": {"repobilityId": "5093725df4b78f4f", "scanner": "scanner-primary", "fingerprint": "584cab4ad1341a7c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-99a33cb58988e155", "level": "note", "message": {"text": "Legacy-named symbol `base_copy` in tests/test_settings.py:60"}, "properties": {"repobilityId": "0ab34decd6de21c1", "scanner": "scanner-primary", "fingerprint": "99a33cb58988e155", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4c2ccd19833d53a7", "level": "note", "message": {"text": "Legacy-named symbol `fake_copy` in tests/test_run_parallel.py:167"}, "properties": {"repobilityId": "dde6baecbff12f02", "scanner": "scanner-primary", "fingerprint": "4c2ccd19833d53a7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-76a6b8c5c453c158", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/conftest.py:22"}, "properties": {"repobilityId": "296d887d04bbdeec", "scanner": "scanner-primary", "fingerprint": "76a6b8c5c453c158", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-160eab95b42b0557", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_template_advisor.py:302"}, "properties": {"repobilityId": "941d9aa6b3b4feea", "scanner": "scanner-primary", "fingerprint": "160eab95b42b0557", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c45f6b9cb6a47c54", "level": "note", "message": {"text": "Legacy-named symbol `_dispatch_legacy` in tests/test_denylist_sync.py:140"}, "properties": {"repobilityId": "d4a7ab08b1fc992e", "scanner": "scanner-primary", "fingerprint": "c45f6b9cb6a47c54", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0e851f0c59fd2e33", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_denylist_sync.py:122"}, "properties": {"repobilityId": "e5c3d037092f1c91", "scanner": "scanner-primary", "fingerprint": "0e851f0c59fd2e33", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42d34ec8f7084a42", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_fleet_manifest.py:495"}, "properties": {"repobilityId": "af32fbaf37a26469", "scanner": "scanner-primary", "fingerprint": "42d34ec8f7084a42", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0a47d3bfa261557", "level": "note", "message": {"text": "Legacy-named symbol `test_older_than_filter_includes_old` in tests/test_cli_cleanup.py:177"}, "properties": {"repobilityId": "707ae80e502bedb5", "scanner": "scanner-primary", "fingerprint": "c0a47d3bfa261557", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-182fae7a1f3905b3", "level": "note", "message": {"text": "Legacy-named symbol `test_wal_checkpoint_runs_before_copy` in tests/test_crg_preflight.py:181"}, "properties": {"repobilityId": "ddc1fd75d1164951", "scanner": "scanner-primary", "fingerprint": "182fae7a1f3905b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d3e462f647b3039c", "level": "note", "message": {"text": "Legacy-named symbol `test_detect_crg_fastmcp_too_old` in tests/test_crg_detect.py:50"}, "properties": {"repobilityId": "40df630cf4b6345d", "scanner": "scanner-primary", "fingerprint": "d3e462f647b3039c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8d34d4ff3c761c8d", "level": "note", "message": {"text": "Legacy-named symbol `test_zip_without_models_json_synthesizes_v2` in tests/test_bundle.py:1160"}, "properties": {"repobilityId": "384b775f7e001921", "scanner": "scanner-primary", "fingerprint": "8d34d4ff3c761c8d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a5d8f586fc1087c4", "level": "note", "message": {"text": "Legacy-named symbol `test_cli_present_incompatible_version_too_old` in tests/test_graphify_detect.py:45"}, "properties": {"repobilityId": "f920c5395c85e482", "scanner": "scanner-primary", "fingerprint": "a5d8f586fc1087c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6b4eeced80f4aef3", "level": "note", "message": {"text": "Legacy-named symbol `test_restore_loop_counters_returns_copy` in tests/test_iteration_resume.py:139"}, "properties": {"repobilityId": "59807306f4074681", "scanner": "scanner-primary", "fingerprint": "6b4eeced80f4aef3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cf9d3b0851b65a2d", "level": "note", "message": {"text": "Legacy-named symbol `test_no_profile_returns_base_copy` in tests/test_graphify_settings.py:343"}, "properties": {"repobilityId": "6621d602a21881a0", "scanner": "scanner-primary", "fingerprint": "cf9d3b0851b65a2d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-748292003d8f0a2e", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/test_fleet_circuit_breaker.py:112"}, "properties": {"repobilityId": "77aad0f7a6742fb5", "scanner": "scanner-primary", "fingerprint": "748292003d8f0a2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9f03a46253759b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_filter_model_env.py:102"}, "properties": {"repobilityId": "5e95b4466ae3f5fc", "scanner": "scanner-primary", "fingerprint": "e9f03a46253759b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e90ead14e692695", "level": "note", "message": {"text": "Legacy-named symbol `current_copy` in tests/test_templates.py:330"}, "properties": {"repobilityId": "d4fd32881ba469d0", "scanner": "scanner-primary", "fingerprint": "1e90ead14e692695", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cfe9f50304979233", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/test_claude_cli.py:30"}, "properties": {"repobilityId": "3c095162986c13d3", "scanner": "scanner-primary", "fingerprint": "cfe9f50304979233", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b000c94c0e4afd82", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/integration/conftest.py:636"}, "properties": {"repobilityId": "16067d3c4a8bdb37", "scanner": "scanner-primary", "fingerprint": "b000c94c0e4afd82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-beb742789ad9c468", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/test_workspace_e2e.py:35"}, "properties": {"repobilityId": "e4937bc2f5db04e8", "scanner": "scanner-primary", "fingerprint": "beb742789ad9c468", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2087b54edb142f70", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/test_ui_server_against_live_run.py:191"}, "properties": {"repobilityId": "682512d24d4bea1f", "scanner": "scanner-primary", "fingerprint": "2087b54edb142f70", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3cddaad223d4a50", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/integration/test_fleet_lifecycle_e2e.py:485"}, "properties": {"repobilityId": "13319b948a55f164", "scanner": "scanner-primary", "fingerprint": "d3cddaad223d4a50", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ba9989a0d5a20c9", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/test_graphify_pipeline.py:23"}, "properties": {"repobilityId": "53fbf36d858d3281", "scanner": "scanner-primary", "fingerprint": "4ba9989a0d5a20c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-933ba8ce91008ee7", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/test_beads_integration.py:266"}, "properties": {"repobilityId": "83c358f59edf9705", "scanner": "scanner-primary", "fingerprint": "933ba8ce91008ee7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ec5eb364392df76", "level": "note", "message": {"text": "Legacy-named symbol `test_crg_preflight_builds_and_seeds_run_copy` in tests/integration/test_crg_pipeline.py:110"}, "properties": {"repobilityId": "d31ede674d4f447b", "scanner": "scanner-primary", "fingerprint": "5ec5eb364392df76", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ec481d8af0391b7f", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/integration/test_orphan_cleanup.py:121"}, "properties": {"repobilityId": "dd4117c83f9759e1", "scanner": "scanner-primary", "fingerprint": "ec481d8af0391b7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ffcbddc38a6bc53", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/integration/test_fixture_reap.py:16"}, "properties": {"repobilityId": "fb1b1201dee012f2", "scanner": "scanner-primary", "fingerprint": "4ffcbddc38a6bc53", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-81a8db6a79552ff2", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/integration/test_fixture_smoke.py:21"}, "properties": {"repobilityId": "672f7208650dfba3", "scanner": "scanner-primary", "fingerprint": "81a8db6a79552ff2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14355544a5dedb0b", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/integration/stubs/_stub_lib.py:118"}, "properties": {"repobilityId": "6e8136be35457e48", "scanner": "scanner-primary", "fingerprint": "14355544a5dedb0b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79c5e780140962a5", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/mock_claude/mock_claude.py:161"}, "properties": {"repobilityId": "1656ef7b9960aa77", "scanner": "scanner-primary", "fingerprint": "79c5e780140962a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e971d9717e385674", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 docs-site/worker/index.ts:15"}, "properties": {"repobilityId": "2e9ab14e3f6bdd9c", "scanner": "scanner-primary", "fingerprint": "e971d9717e385674", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d20b2a7a635d6a78", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/coverage.py:109"}, "properties": {"repobilityId": "baaa874de4612a90", "scanner": "scanner-primary", "fingerprint": "d20b2a7a635d6a78", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-39229ec5a21e293a", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/check-help-links-live.py:68"}, "properties": {"repobilityId": "9ee9ecb06a6fa19d", "scanner": "scanner-primary", "fingerprint": "39229ec5a21e293a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e1a96d18d6169358", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/pr_stage_harness.py:48"}, "properties": {"repobilityId": "3a8bd4fd7a895499", "scanner": "scanner-primary", "fingerprint": "e1a96d18d6169358", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d2c995af3996a3f1", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in videos/scripts/generate-voiceover.ts:50"}, "properties": {"repobilityId": "78d4068b3279526b", "scanner": "scanner-primary", "fingerprint": "d2c995af3996a3f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-980d0e39a8f866f1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 videos/scripts/generate-voiceover.ts:201"}, "properties": {"repobilityId": "e58640f5799341a6", "scanner": "scanner-primary", "fingerprint": "980d0e39a8f866f1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5d1d44db89679164", "level": "none", "message": {"text": "Commented-code block (5 lines) in videos/src/theme.ts:53"}, "properties": {"repobilityId": "bafd4476c6e7b8c0", "scanner": "scanner-primary", "fingerprint": "5d1d44db89679164", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f6b758eda529c633", "level": "none", "message": {"text": "Commented-code block (6 lines) in videos/src/diagrams/Diagram04Inputs.tsx:55"}, "properties": {"repobilityId": "ed4f944db85fe32c", "scanner": "scanner-primary", "fingerprint": "f6b758eda529c633", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb98f2ef9ae9a1a0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/template_advisor.py:381"}, "properties": {"repobilityId": "f5407ace20c2d4fc", "scanner": "scanner-primary", "fingerprint": "fb98f2ef9ae9a1a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc072281f371b379", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/sync_pr.py:50"}, "properties": {"repobilityId": "02a26fbcf6a5fcb9", "scanner": "scanner-primary", "fingerprint": "bc072281f371b379", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e38833b2fcdb62d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/scripts/run_pipeline.py:306"}, "properties": {"repobilityId": "299e23d63fe57c62", "scanner": "scanner-primary", "fingerprint": "e38833b2fcdb62d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26611efef326f0a1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/sync_commit.py:32"}, "properties": {"repobilityId": "23d1eacd685d3b65", "scanner": "scanner-primary", "fingerprint": "26611efef326f0a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-18a5239ec8543ef1", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/worca/scripts/run_workspace.py:640"}, "properties": {"repobilityId": "089008fa835952d0", "scanner": "scanner-primary", "fingerprint": "18a5239ec8543ef1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ff705ab9733f27a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_workspace.py:764"}, "properties": {"repobilityId": "4cd89910c49df001", "scanner": "scanner-primary", "fingerprint": "6ff705ab9733f27a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4c5fbbf56191dd4c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/worca/scripts/run_worktree.py:330"}, "properties": {"repobilityId": "329eef37fa34a69c", "scanner": "scanner-primary", "fingerprint": "4c5fbbf56191dd4c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05560cd3b88d2967", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_worktree.py:414"}, "properties": {"repobilityId": "cb542c8b0350cf2e", "scanner": "scanner-primary", "fingerprint": "05560cd3b88d2967", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-90f146b438587d6a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/scripts/run_fleet.py:32"}, "properties": {"repobilityId": "9636b801167ce620", "scanner": "scanner-primary", "fingerprint": "90f146b438587d6a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-387dd3704ee9b258", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_fleet.py:68"}, "properties": {"repobilityId": "0df613241273d0fa", "scanner": "scanner-primary", "fingerprint": "387dd3704ee9b258", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-066c009c182e4e84", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/scripts/run_parallel.py:41"}, "properties": {"repobilityId": "955ee46242f01212", "scanner": "scanner-primary", "fingerprint": "066c009c182e4e84", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cf3e0407de647892", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/cli/run_pipeline.py:100"}, "properties": {"repobilityId": "200e9e8b15344f10", "scanner": "scanner-primary", "fingerprint": "cf3e0407de647892", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-831a3cb2bc8add2b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/cli/templates.py:772"}, "properties": {"repobilityId": "feb28cf2bf16da26", "scanner": "scanner-primary", "fingerprint": "831a3cb2bc8add2b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c786f97fe764ee4e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/cli/templates.py:1017"}, "properties": {"repobilityId": "fe025d853d90d83f", "scanner": "scanner-primary", "fingerprint": "c786f97fe764ee4e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-530e3f6fcfbcc3d1", "level": "note", "message": {"text": "Legacy-named symbol `_dispatch_legacy` in src/worca/cli/init.py:246"}, "properties": {"repobilityId": "9afcf603cb9dd72e", "scanner": "scanner-primary", "fingerprint": "530e3f6fcfbcc3d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cdcd63e9e475d05b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/worca/cli/init.py:158"}, "properties": {"repobilityId": "8d40248e6110f2c8", "scanner": "scanner-primary", "fingerprint": "cdcd63e9e475d05b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f208af0da1a1657d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/cli/pr.py:239"}, "properties": {"repobilityId": "0c38ede9d8ab5b3e", "scanner": "scanner-primary", "fingerprint": "f208af0da1a1657d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10dcab08d1d65734", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/cli/pr.py:186"}, "properties": {"repobilityId": "c7898f38bad082a4", "scanner": "scanner-primary", "fingerprint": "10dcab08d1d65734", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-56ae0923211a24d2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/worca/utils/proc_registry.py:153"}, "properties": {"repobilityId": "0b3bad37fa5eeee8", "scanner": "scanner-primary", "fingerprint": "56ae0923211a24d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-237809274abb2d46", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/worca/utils/claude_cli.py:62"}, "properties": {"repobilityId": "343499b8a6b18bd0", "scanner": "scanner-primary", "fingerprint": "237809274abb2d46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5affd54b318cfd6a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/utils/beads.py:59"}, "properties": {"repobilityId": "38a7f2fe0950b182", "scanner": "scanner-primary", "fingerprint": "5affd54b318cfd6a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c6d2e45d20124351", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/utils/token_usage.py:57"}, "properties": {"repobilityId": "1cbe68f267373475", "scanner": "scanner-primary", "fingerprint": "c6d2e45d20124351", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52e636f3a0507594", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/utils/git.py:14"}, "properties": {"repobilityId": "58c3ad4cf1225801", "scanner": "scanner-primary", "fingerprint": "52e636f3a0507594", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-89426e394e91fa15", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/utils/gh_pr.py:29"}, "properties": {"repobilityId": "72177e113b26d4ba", "scanner": "scanner-primary", "fingerprint": "89426e394e91fa15", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-248a985a0fec5084", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/utils/gh_pr.py:135"}, "properties": {"repobilityId": "5505ba5960315da2", "scanner": "scanner-primary", "fingerprint": "248a985a0fec5084", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6fa999dc62f0de41", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/utils/settings.py:39"}, "properties": {"repobilityId": "2e0c32df8eee15e0", "scanner": "scanner-primary", "fingerprint": "6fa999dc62f0de41", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79491fe8231aebd9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/workspace/pr_linker.py:49"}, "properties": {"repobilityId": "33a387ffa468716b", "scanner": "scanner-primary", "fingerprint": "79491fe8231aebd9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-98e2b3f643d7b31b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/workspace/integration_test.py:39"}, "properties": {"repobilityId": "a075be7955976e1f", "scanner": "scanner-primary", "fingerprint": "98e2b3f643d7b31b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d2210f40614e1c69", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/workspace/dag_executor.py:84"}, "properties": {"repobilityId": "b3655309ba6fa9b7", "scanner": "scanner-primary", "fingerprint": "d2210f40614e1c69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-207ade2f33d50309", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/workspace/dag_executor.py:153"}, "properties": {"repobilityId": "37273074eab53b9f", "scanner": "scanner-primary", "fingerprint": "207ade2f33d50309", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3157647f2e020152", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/worca/orchestrator/fleet_manifest.py:24"}, "properties": {"repobilityId": "8b0ec69ecd4d5ccf", "scanner": "scanner-primary", "fingerprint": "3157647f2e020152", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1cbb82f28c29f19", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/path_canon.py:97"}, "properties": {"repobilityId": "0c04341750cb02d7", "scanner": "scanner-primary", "fingerprint": "b1cbb82f28c29f19", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee81bcdd54b5de19", "level": "note", "message": {"text": "Legacy-named symbol `redacted_manifest_copy` in src/worca/orchestrator/bundle.py:293"}, "properties": {"repobilityId": "b1f2ca8d32f56467", "scanner": "scanner-primary", "fingerprint": "ee81bcdd54b5de19", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e915c7213cc996ca", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/bundle.py:80"}, "properties": {"repobilityId": "44c7d455b68e14be", "scanner": "scanner-primary", "fingerprint": "e915c7213cc996ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9d7ff4b8866c3ab", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/bundle.py:708"}, "properties": {"repobilityId": "83f7047ff2644892", "scanner": "scanner-primary", "fingerprint": "e9d7ff4b8866c3ab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-904c2a5d17e90bb7", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/worca/orchestrator/file_access_aggregation.py:149"}, "properties": {"repobilityId": "08f9c310d22d187b", "scanner": "scanner-primary", "fingerprint": "904c2a5d17e90bb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3a0768bd8e356b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/stages.py:55"}, "properties": {"repobilityId": "78ef96a9a65d91ce", "scanner": "scanner-primary", "fingerprint": "b3a0768bd8e356b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25a4c199ab2f54e7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/templates.py:13"}, "properties": {"repobilityId": "e8bdd9d7e19dd3be", "scanner": "scanner-primary", "fingerprint": "25a4c199ab2f54e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a2b371a4da3fff7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/work_request.py:459"}, "properties": {"repobilityId": "edefa90d160caece", "scanner": "scanner-primary", "fingerprint": "7a2b371a4da3fff7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9fe8e468702c305d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/work_request.py:231"}, "properties": {"repobilityId": "2e18dc02f698dddf", "scanner": "scanner-primary", "fingerprint": "9fe8e468702c305d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-18b2a87795183573", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/worca/orchestrator/executor.py:477"}, "properties": {"repobilityId": "1c017bd5b1f033ee", "scanner": "scanner-primary", "fingerprint": "18b2a87795183573", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d4d9f997110e1463", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/runner.py:129"}, "properties": {"repobilityId": "ca4e1fe360fce118", "scanner": "scanner-primary", "fingerprint": "d4d9f997110e1463", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0745e5a94144ead", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/runner.py:2197"}, "properties": {"repobilityId": "08696d20ab65f039", "scanner": "scanner-primary", "fingerprint": "e0745e5a94144ead", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a008a142b594b19a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/orchestrator/fleet_lifecycle.py:228"}, "properties": {"repobilityId": "a76c756386c7205c", "scanner": "scanner-primary", "fingerprint": "a008a142b594b19a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ef14f6879febf371", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/flow.py:75"}, "properties": {"repobilityId": "ffa53f4663bbd6c2", "scanner": "scanner-primary", "fingerprint": "ef14f6879febf371", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93df9fe348328757", "level": "note", "message": {"text": "Legacy-named symbol `context_copy` in src/worca/orchestrator/prompt_builder.py:215"}, "properties": {"repobilityId": "ff8656d60d49ecb8", "scanner": "scanner-primary", "fingerprint": "93df9fe348328757", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-761bf280e62c9e86", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/orchestrator/prompt_builder.py:330"}, "properties": {"repobilityId": "c4bb5186f243a0c6", "scanner": "scanner-primary", "fingerprint": "761bf280e62c9e86", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d435a058ba2011c0", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/worca/hooks/guard.py:30"}, "properties": {"repobilityId": "b79d8642960c54b4", "scanner": "scanner-primary", "fingerprint": "d435a058ba2011c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a228fc8cfc7d5286", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/hooks/session.py:26"}, "properties": {"repobilityId": "337f5859164411de", "scanner": "scanner-primary", "fingerprint": "a228fc8cfc7d5286", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-21dd52fa46bcf986", "level": "note", "message": {"text": "Stub function `get_env` (body is just `pass`/`return`) \u2014 src/worca/hooks/session.py:18"}, "properties": {"repobilityId": "c58471cb1a1b4c2c", "scanner": "scanner-primary", "fingerprint": "21dd52fa46bcf986", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-79c6d898e0660ba7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/worca/hooks/tracking.py:43"}, "properties": {"repobilityId": "1c45112d30f27d1e", "scanner": "scanner-primary", "fingerprint": "79c6d898e0660ba7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e137830d4dc66561", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/worca/hooks/tracking.py:338"}, "properties": {"repobilityId": "c54edc15f2f0998d", "scanner": "scanner-primary", "fingerprint": "e137830d4dc66561", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8782f02e88ef3eb8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/worca/claude_hooks/post_tool_use.py:136"}, "properties": {"repobilityId": "13849568979ee24d", "scanner": "scanner-primary", "fingerprint": "8782f02e88ef3eb8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-daa30bfc696b4fbe", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/worca/claude_hooks/skill_use.py:49"}, "properties": {"repobilityId": "11660bbf5261802e", "scanner": "scanner-primary", "fingerprint": "daa30bfc696b4fbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc974e8dcd3ebef0", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/test/server-e2e.test.js:29"}, "properties": {"repobilityId": "00c3f240208accfb", "scanner": "scanner-primary", "fingerprint": "bc974e8dcd3ebef0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d56e9447d172718", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/test/server-e2e.test.js:11"}, "properties": {"repobilityId": "d0f8f152753532d6", "scanner": "scanner-primary", "fingerprint": "7d56e9447d172718", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-32c95c4a4c642a21", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/scripts/build-frontend.js:158"}, "properties": {"repobilityId": "f33c01144d2a78ae", "scanner": "scanner-primary", "fingerprint": "32c95c4a4c642a21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dcc1e6295a3c05a8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/main-default-branch.test.js:169"}, "properties": {"repobilityId": "f55795412ecd7715", "scanner": "scanner-primary", "fingerprint": "dcc1e6295a3c05a8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4c7970ea9d309250", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/state.js:62"}, "properties": {"repobilityId": "386f8ccd1c8c1b30", "scanner": "scanner-primary", "fingerprint": "4c7970ea9d309250", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d34a87bc14a08fb6", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/app/main.bulk-cleanup.test.js:77"}, "properties": {"repobilityId": "8eb8c49c10ea0669", "scanner": "scanner-primary", "fingerprint": "d34a87bc14a08fb6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0358431625c970bd", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/app/main.js:212"}, "properties": {"repobilityId": "9360b6b4dd9089f6", "scanner": "scanner-primary", "fingerprint": "0358431625c970bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc841e4ef2da9250", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/main.js:825"}, "properties": {"repobilityId": "dee3c986c5e8e5b1", "scanner": "scanner-primary", "fingerprint": "fc841e4ef2da9250", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-89aff7e58156e451", "level": "none", "message": {"text": "Commented-code block (9 lines) in worca-ui/app/router.js:6"}, "properties": {"repobilityId": "e806edd64e9a482f", "scanner": "scanner-primary", "fingerprint": "89aff7e58156e451", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dbf2818eec88a40e", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/utils/help-links.js:215"}, "properties": {"repobilityId": "051e6d35cbfecd00", "scanner": "scanner-primary", "fingerprint": "dbf2818eec88a40e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbd474752b26f8d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/workspace-css.test.js:166"}, "properties": {"repobilityId": "d4d2492d83bdfea4", "scanner": "scanner-primary", "fingerprint": "fbd474752b26f8d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-079b001b12b32e93", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/settings.js:81"}, "properties": {"repobilityId": "b7f1341269baebaa", "scanner": "scanner-primary", "fingerprint": "079b001b12b32e93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd2dc941f6b518b4", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/pipelines.js:349"}, "properties": {"repobilityId": "807de9135513b886", "scanner": "scanner-primary", "fingerprint": "cd2dc941f6b518b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7784cd49d6a10c7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/pipelines.js:112"}, "properties": {"repobilityId": "90f079623bd8ec28", "scanner": "scanner-primary", "fingerprint": "d7784cd49d6a10c7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c6c554e1d559526f", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/app/views/sidebar.test.js:275"}, "properties": {"repobilityId": "c01cddb0f91ba980", "scanner": "scanner-primary", "fingerprint": "c6c554e1d559526f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9a4fce19df2798e", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/run-template-styles.test.js:7"}, "properties": {"repobilityId": "980e71a7fe212ee8", "scanner": "scanner-primary", "fingerprint": "e9a4fce19df2798e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2df2c2d20a05de65", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/fleet-detail.test.js:158"}, "properties": {"repobilityId": "abe8a56cfadaa59c", "scanner": "scanner-primary", "fingerprint": "2df2c2d20a05de65", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4c5cf629199148d", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/workspace-create.js:185"}, "properties": {"repobilityId": "33ad39144b1fe053", "scanner": "scanner-primary", "fingerprint": "f4c5cf629199148d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6af206ca8736ad89", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/app/views/pipelines-editor-models.test.js:91"}, "properties": {"repobilityId": "479151ff8bca10e9", "scanner": "scanner-primary", "fingerprint": "6af206ca8736ad89", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-755bd698350d6e8a", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/app/views/run-timeline.js:354"}, "properties": {"repobilityId": "e0debd5bcb21090a", "scanner": "scanner-primary", "fingerprint": "755bd698350d6e8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a39131d612e543cc", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/dashboard-fleet.test.js:22"}, "properties": {"repobilityId": "bba6dca78644fbaf", "scanner": "scanner-primary", "fingerprint": "a39131d612e543cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5584e8320ebabc5", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/fleet-detail.js:83"}, "properties": {"repobilityId": "a73e8bc869c52965", "scanner": "scanner-primary", "fingerprint": "c5584e8320ebabc5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87b628d6948f6f14", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/app/views/new-run.js:435"}, "properties": {"repobilityId": "28ecf7dc21255083", "scanner": "scanner-primary", "fingerprint": "87b628d6948f6f14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd9479209af09bac", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/new-run.js:66"}, "properties": {"repobilityId": "95d4c523fad58c10", "scanner": "scanner-primary", "fingerprint": "bd9479209af09bac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f6d07b3dcea8298c", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/run-detail-plan-review-mode-badge.test.js:48"}, "properties": {"repobilityId": "f8b2ce8c7baa2d03", "scanner": "scanner-primary", "fingerprint": "f6d07b3dcea8298c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3c12f4e2dfd9b85", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/project-setup-wizard.js:424"}, "properties": {"repobilityId": "8cee03fde35626ef", "scanner": "scanner-primary", "fingerprint": "b3c12f4e2dfd9b85", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a9b048da65589530", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/pipelines-editor.js:195"}, "properties": {"repobilityId": "e403b08c23ff9825", "scanner": "scanner-primary", "fingerprint": "a9b048da65589530", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c0a84306834c6a09", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/pipelines-editor.js:736"}, "properties": {"repobilityId": "06cd2caec51eade3", "scanner": "scanner-primary", "fingerprint": "c0a84306834c6a09", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c5191c064c745337", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/app/views/dashboard.js:23"}, "properties": {"repobilityId": "30287457f50db2b5", "scanner": "scanner-primary", "fingerprint": "c5191c064c745337", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8dba9c5193ecd6c8", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/sidebar.js:240"}, "properties": {"repobilityId": "c0a2da6148df9b86", "scanner": "scanner-primary", "fingerprint": "8dba9c5193ecd6c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b6dd1ee54a3b3df", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/workspace-detail.test.js:261"}, "properties": {"repobilityId": "1558b5c8b508209a", "scanner": "scanner-primary", "fingerprint": "4b6dd1ee54a3b3df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c6d6d3f540bfc6cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/run-file-access.js:112"}, "properties": {"repobilityId": "b8475cd49727fdd0", "scanner": "scanner-primary", "fingerprint": "c6d6d3f540bfc6cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40243a306d6ef477", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/app/views/pipelines-degraded.test.js:131"}, "properties": {"repobilityId": "7ac9b54a98f7326e", "scanner": "scanner-primary", "fingerprint": "40243a306d6ef477", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18614e08d58148cb", "level": "note", "message": {"text": "Legacy-named symbol `posActiveOld` in worca-ui/app/views/beads-panel.test.js:171"}, "properties": {"repobilityId": "1aa9d566d29bbb1c", "scanner": "scanner-primary", "fingerprint": "18614e08d58148cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c8a692dc1bf23070", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/add-project-dialog.js:56"}, "properties": {"repobilityId": "52d16285baf4a826", "scanner": "scanner-primary", "fingerprint": "c8a692dc1bf23070", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-68edd511e6593cb2", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/dispatch-section.js:164"}, "properties": {"repobilityId": "bf7e5df544f58e59", "scanner": "scanner-primary", "fingerprint": "68edd511e6593cb2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7bea60001281a5a", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/group-rendering.js:193"}, "properties": {"repobilityId": "0e86a2051d60668b", "scanner": "scanner-primary", "fingerprint": "a7bea60001281a5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1ba8fdb863331fa", "level": "none", "message": {"text": "Commented-code block (9 lines) in worca-ui/app/views/run-detail.js:46"}, "properties": {"repobilityId": "c549d214f7f95c49", "scanner": "scanner-primary", "fingerprint": "d1ba8fdb863331fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee22b8e62d391b93", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/workspace-detail.js:171"}, "properties": {"repobilityId": "eb0ebfdbcfe57a26", "scanner": "scanner-primary", "fingerprint": "ee22b8e62d391b93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-328a42e50e48eac9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/workspace-detail.js:607"}, "properties": {"repobilityId": "51e1be334d007a68", "scanner": "scanner-primary", "fingerprint": "328a42e50e48eac9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-16a1d2fd75649829", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/settings-pipeline-deep-link.test.js:42"}, "properties": {"repobilityId": "b2091ed0bbc4bea3", "scanner": "scanner-primary", "fingerprint": "16a1d2fd75649829", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0ac89c4089f7a4f", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/app/views/dispatch-tag-state.js:6"}, "properties": {"repobilityId": "7c31488551660029", "scanner": "scanner-primary", "fingerprint": "e0ac89c4089f7a4f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd0a782d6a62aad8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/add-project-dialog-worca-setup.test.js:388"}, "properties": {"repobilityId": "133ca764e2389ad2", "scanner": "scanner-primary", "fingerprint": "fd0a782d6a62aad8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-368783d903d0621c", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/settings-plan-review.test.js:108"}, "properties": {"repobilityId": "712f5322b3d26d9d", "scanner": "scanner-primary", "fingerprint": "368783d903d0621c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf41c3c52744d599", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/settings-graphify.js:6"}, "properties": {"repobilityId": "7d54a3f5c500b330", "scanner": "scanner-primary", "fingerprint": "cf41c3c52744d599", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff174dd77474d20e", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/run-card.js:40"}, "properties": {"repobilityId": "a74540a918e789a8", "scanner": "scanner-primary", "fingerprint": "ff174dd77474d20e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bbc4a3072b22990a", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/app/views/fleet-launcher.js:21"}, "properties": {"repobilityId": "92fd83568692cf94", "scanner": "scanner-primary", "fingerprint": "bbc4a3072b22990a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6453835213580c45", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/app/views/fleet-launcher.js:207"}, "properties": {"repobilityId": "fcdadd027aa1efcc", "scanner": "scanner-primary", "fingerprint": "6453835213580c45", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dfd35603a5c3a8ef", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/app/views/model-editor.js:665"}, "properties": {"repobilityId": "8fd03f8454ce6846", "scanner": "scanner-primary", "fingerprint": "dfd35603a5c3a8ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e1dfaaf80e1e20d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/models-routes.test.js:68"}, "properties": {"repobilityId": "0a973cd983833190", "scanner": "scanner-primary", "fingerprint": "7e1dfaaf80e1e20d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b5ad821a262e3b5", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/server/worktrees-routes.js:305"}, "properties": {"repobilityId": "4f7f62674f886e15", "scanner": "scanner-primary", "fingerprint": "5b5ad821a262e3b5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-17e97ee54a96f3ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/watcher-set.js:169"}, "properties": {"repobilityId": "93abd4505ab50171", "scanner": "scanner-primary", "fingerprint": "17e97ee54a96f3ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a305ddc10773e3fc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes-guide-upload.test.js:124"}, "properties": {"repobilityId": "0df09c9f4786f354", "scanner": "scanner-primary", "fingerprint": "a305ddc10773e3fc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-480fa7e9c136e8bc", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/server/worktree-ops.js:62"}, "properties": {"repobilityId": "a69116e58eff1960", "scanner": "scanner-primary", "fingerprint": "480fa7e9c136e8bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e8fe576bc3dd9888", "level": "note", "message": {"text": "Legacy-named symbol `_dispatch_legacy` in worca-ui/server/dispatch-migration.js:261"}, "properties": {"repobilityId": "e0226fefa5413660", "scanner": "scanner-primary", "fingerprint": "e8fe576bc3dd9888", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-714f4229e0e7ba01", "level": "none", "message": {"text": "Commented-code block (8 lines) in worca-ui/server/dispatch-migration.js:60"}, "properties": {"repobilityId": "5c729e0a58ef2a2f", "scanner": "scanner-primary", "fingerprint": "714f4229e0e7ba01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39e01086b85c9a5b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-inbox-strict.test.js:35"}, "properties": {"repobilityId": "0ea533c5512b67a8", "scanner": "scanner-primary", "fingerprint": "39e01086b85c9a5b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9f719c29e9eca836", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/app-integrations-send.test.js:181"}, "properties": {"repobilityId": "045a441e5fb71c2d", "scanner": "scanner-primary", "fingerprint": "9f719c29e9eca836", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c1b4303f007dbc44", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-integrations-send.test.js:59"}, "properties": {"repobilityId": "0abcad65ab5bb6fd", "scanner": "scanner-primary", "fingerprint": "c1b4303f007dbc44", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-490e8734badc124c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-inbox-unchanged.test.js:23"}, "properties": {"repobilityId": "08d71fd48f0c25aa", "scanner": "scanner-primary", "fingerprint": "490e8734badc124c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-007c34e9b99d1d0b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-tools-skills.test.js:28"}, "properties": {"repobilityId": "b9909f8207bf4793", "scanner": "scanner-primary", "fingerprint": "007c34e9b99d1d0b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0af77536ca6e094e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-template.test.js:66"}, "properties": {"repobilityId": "79a5d90dc31e4aac", "scanner": "scanner-primary", "fingerprint": "0af77536ca6e094e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-980a0c06834f7e76", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/server/ws-beads-watcher.js:42"}, "properties": {"repobilityId": "ad4e76db6c422db1", "scanner": "scanner-primary", "fingerprint": "980a0c06834f7e76", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19467ac70baa2823", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/watcher.js:157"}, "properties": {"repobilityId": "bed8ae5055054808", "scanner": "scanner-primary", "fingerprint": "19467ac70baa2823", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ae5f3e200fc7ecd", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/project-routes.js:550"}, "properties": {"repobilityId": "b1f5e568a8c100b3", "scanner": "scanner-primary", "fingerprint": "8ae5f3e200fc7ecd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d47430069995cba2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-inbox-control-strict.test.js:35"}, "properties": {"repobilityId": "658376d2a5f156a4", "scanner": "scanner-primary", "fingerprint": "d47430069995cba2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3f5c9d0bd1c959d9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app.test.js:39"}, "properties": {"repobilityId": "495e48ba56d29c84", "scanner": "scanner-primary", "fingerprint": "3f5c9d0bd1c959d9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e0ebed6618c8d865", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/settings-merge.js:85"}, "properties": {"repobilityId": "0417938e170b17fb", "scanner": "scanner-primary", "fingerprint": "e0ebed6618c8d865", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-495bd71b9758bc9b", "level": "none", "message": {"text": "Commented-code block (8 lines) in worca-ui/server/ws-message-router.js:85"}, "properties": {"repobilityId": "e9c7367581568423", "scanner": "scanner-primary", "fingerprint": "495bd71b9758bc9b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6e31dcd498b7726", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/graphify-status.test.js:360"}, "properties": {"repobilityId": "27d94e65e35c0b5c", "scanner": "scanner-primary", "fingerprint": "b6e31dcd498b7726", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5b7124b7d2c3d762", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/worktrees-routes.test.js:275"}, "properties": {"repobilityId": "58691c95f1bf3430", "scanner": "scanner-primary", "fingerprint": "5b7124b7d2c3d762", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dfcf5bfe4b14bf3b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/worktrees-routes.test.js:126"}, "properties": {"repobilityId": "b9611c7f0197d1bb", "scanner": "scanner-primary", "fingerprint": "dfcf5bfe4b14bf3b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9dbd2b43c624f72e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/status-routes.test.js:51"}, "properties": {"repobilityId": "a86b76cf2a2f3710", "scanner": "scanner-primary", "fingerprint": "9dbd2b43c624f72e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-70decd4b06b4e332", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/server/dispatch-defaults.js:21"}, "properties": {"repobilityId": "7054ddd48cf59f79", "scanner": "scanner-primary", "fingerprint": "70decd4b06b4e332", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f69662d1217291b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-integrations-config.test.js:32"}, "properties": {"repobilityId": "c8044dcf697dc26f", "scanner": "scanner-primary", "fingerprint": "7f69662d1217291b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0e3f9e313f0111de", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/preferences-routes.test.js:38"}, "properties": {"repobilityId": "6e7ded135b861491", "scanner": "scanner-primary", "fingerprint": "0e3f9e313f0111de", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2968be72c2771880", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/server/file-access-aggregator.js:184"}, "properties": {"repobilityId": "ecaff8c13e5c536c", "scanner": "scanner-primary", "fingerprint": "2968be72c2771880", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0cf3f7111479259c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/code-review-graph-status.test.js:465"}, "properties": {"repobilityId": "7f2ed43806b684e4", "scanner": "scanner-primary", "fingerprint": "0cf3f7111479259c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1987f0ac91a8eeb0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/fleet-routes.test.js:92"}, "properties": {"repobilityId": "04de251a5c9fccd8", "scanner": "scanner-primary", "fingerprint": "1987f0ac91a8eeb0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-90c1af3d83125dae", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/fleet-routes-guide-upload.test.js:56"}, "properties": {"repobilityId": "8e4d2bdf98f7fe4b", "scanner": "scanner-primary", "fingerprint": "90c1af3d83125dae", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7a7dd407d96d5571", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/app.js:719"}, "properties": {"repobilityId": "63167d470642b957", "scanner": "scanner-primary", "fingerprint": "7a7dd407d96d5571", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea068f8a4c4794b6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app.js:951"}, "properties": {"repobilityId": "c4f5a93ff86d4803", "scanner": "scanner-primary", "fingerprint": "ea068f8a4c4794b6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c28a151210182acf", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/server/graphify-status.js:21"}, "properties": {"repobilityId": "8ed953b79a1f8544", "scanner": "scanner-primary", "fingerprint": "c28a151210182acf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f380040935c219a0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes.test.js:81"}, "properties": {"repobilityId": "5318ec0ce871bb7c", "scanner": "scanner-primary", "fingerprint": "f380040935c219a0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47266a2d047eaae9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-webhook-hints.test.js:29"}, "properties": {"repobilityId": "e3fe6d68c839610a", "scanner": "scanner-primary", "fingerprint": "47266a2d047eaae9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-51623762c32b90fc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-settings-split.test.js:36"}, "properties": {"repobilityId": "09c549b33b40f513", "scanner": "scanner-primary", "fingerprint": "51623762c32b90fc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4ebc4711379e5ca2", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/server/process-manager.js:414"}, "properties": {"repobilityId": "184f2b1fa226ab06", "scanner": "scanner-primary", "fingerprint": "4ebc4711379e5ca2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef22e430aea96729", "level": "note", "message": {"text": "Legacy-named symbol `_dispatch_legacy` in worca-ui/server/dispatch-migration.test.js:92"}, "properties": {"repobilityId": "5222791fb6601475", "scanner": "scanner-primary", "fingerprint": "ef22e430aea96729", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e2fab0990e75da2a", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/model-env-routes.test.js:238"}, "properties": {"repobilityId": "711be7ee90e6970d", "scanner": "scanner-primary", "fingerprint": "e2fab0990e75da2a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-734357b5ea6129f7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/model-env-routes.test.js:58"}, "properties": {"repobilityId": "43cc39b04bff04c6", "scanner": "scanner-primary", "fingerprint": "734357b5ea6129f7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f77b7aa4fd1dfcf2", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/model-env-routes.js:84"}, "properties": {"repobilityId": "38e61c36d02213fc", "scanner": "scanner-primary", "fingerprint": "f77b7aa4fd1dfcf2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2bd7377cc0b8e5d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-worktree-control.test.js:37"}, "properties": {"repobilityId": "920c7489e702558c", "scanner": "scanner-primary", "fingerprint": "e2bd7377cc0b8e5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2c18a1e503fa3748", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/server/code-review-graph-status.js:24"}, "properties": {"repobilityId": "051d32e8a07329ab", "scanner": "scanner-primary", "fingerprint": "2c18a1e503fa3748", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8f10a6730fa297a", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/beads-reader.test.js:639"}, "properties": {"repobilityId": "dff98b0af0c6073c", "scanner": "scanner-primary", "fingerprint": "d8f10a6730fa297a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50f55e1b65ac3c78", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes-setup.test.js:86"}, "properties": {"repobilityId": "948ad9e61fc5e1c2", "scanner": "scanner-primary", "fingerprint": "50f55e1b65ac3c78", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-163fd8700bf1642f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes.test.js:146"}, "properties": {"repobilityId": "e16402c771d92b93", "scanner": "scanner-primary", "fingerprint": "163fd8700bf1642f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6068d672967cf872", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/workspace-routes-plan-upload.test.js:161"}, "properties": {"repobilityId": "4fbbbee7818819ef", "scanner": "scanner-primary", "fingerprint": "6068d672967cf872", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-85bedff132d5e4dd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/project-routes-setup-preflight.test.js:39"}, "properties": {"repobilityId": "ce97c99be6ea6fa5", "scanner": "scanner-primary", "fingerprint": "85bedff132d5e4dd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a33bf60a146011b9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-integrations-status.test.js:22"}, "properties": {"repobilityId": "15fbdc359981de1a", "scanner": "scanner-primary", "fingerprint": "a33bf60a146011b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0b2b02dc5479cfd8", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/templates-routes.js:285"}, "properties": {"repobilityId": "4852ccf8333d5270", "scanner": "scanner-primary", "fingerprint": "0b2b02dc5479cfd8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c329eb29f63f94c8", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/server/workspace-routes.js:272"}, "properties": {"repobilityId": "1582991b321db175", "scanner": "scanner-primary", "fingerprint": "c329eb29f63f94c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-570e548ff62507cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/server/fleet-routes.js:50"}, "properties": {"repobilityId": "297a17e063c2ed4a", "scanner": "scanner-primary", "fingerprint": "570e548ff62507cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-219dd79ccdb764f8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/app-webhooks.test.js:44"}, "properties": {"repobilityId": "788ab31ec2f6477b", "scanner": "scanner-primary", "fingerprint": "219dd79ccdb764f8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7f0597bfc3881aa3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/integrations/rest_client.js:5"}, "properties": {"repobilityId": "eb1f8fea2f7fc124", "scanner": "scanner-primary", "fingerprint": "7f0597bfc3881aa3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-70319863e4a43d9d", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/server/integrations/renderers.js:170"}, "properties": {"repobilityId": "f6a0cbb24afc783f", "scanner": "scanner-primary", "fingerprint": "70319863e4a43d9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f3b35056bc1d9acf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/integrations/integrations-pipeline.test.js:166"}, "properties": {"repobilityId": "d90fcf0a8741143c", "scanner": "scanner-primary", "fingerprint": "f3b35056bc1d9acf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c8b56dca7cbf0da5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/runs-api.test.js:62"}, "properties": {"repobilityId": "7f7d34c0d9552ec7", "scanner": "scanner-primary", "fingerprint": "c8b56dca7cbf0da5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-547100e06ba0ed17", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/settings-api.test.js:75"}, "properties": {"repobilityId": "475b453ee64f7d84", "scanner": "scanner-primary", "fingerprint": "547100e06ba0ed17", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-45f8a38944e43373", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/delete-route-removed.test.js:64"}, "properties": {"repobilityId": "b8f1528d53c2cc84", "scanner": "scanner-primary", "fingerprint": "45f8a38944e43373", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-01affe013ef58122", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/archive-api.test.js:104"}, "properties": {"repobilityId": "28717f07cb709bb6", "scanner": "scanner-primary", "fingerprint": "01affe013ef58122", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e5c8438475df1ce6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/multi-project-api.test.js:29"}, "properties": {"repobilityId": "7b02702f05c0cc79", "scanner": "scanner-primary", "fingerprint": "e5c8438475df1ce6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-95defe79b7448a12", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/project-routes-stop-409.test.js:80"}, "properties": {"repobilityId": "d664b5717bc76221", "scanner": "scanner-primary", "fingerprint": "95defe79b7448a12", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4f35acd0a1ae7251", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/scan-directory.test.js:19"}, "properties": {"repobilityId": "8a6d6845e1016f6f", "scanner": "scanner-primary", "fingerprint": "4f35acd0a1ae7251", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5d895c1f7b73ced6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/learn-api.test.js:68"}, "properties": {"repobilityId": "d58285d4298cd063", "scanner": "scanner-primary", "fingerprint": "5d895c1f7b73ced6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-529d6715519f8136", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/cap-enforcement.test.js:62"}, "properties": {"repobilityId": "c02e921a7867e06e", "scanner": "scanner-primary", "fingerprint": "529d6715519f8136", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0eb987dd857e482a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/costs-api.test.js:8"}, "properties": {"repobilityId": "3e7633294ebb2d40", "scanner": "scanner-primary", "fingerprint": "0eb987dd857e482a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1f848e6a3877e615", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/max-beads-launch.test.js:50"}, "properties": {"repobilityId": "fb0c7d9f1b3cfbda", "scanner": "scanner-primary", "fingerprint": "1f848e6a3877e615", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-df89b72bf0d70426", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/app-run-controls.test.js:107"}, "properties": {"repobilityId": "81668fe0bb09c58c", "scanner": "scanner-primary", "fingerprint": "df89b72bf0d70426", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d0079e9dc8fac9a3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/worca-status.test.js:43"}, "properties": {"repobilityId": "845ebed0d07669a6", "scanner": "scanner-primary", "fingerprint": "d0079e9dc8fac9a3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-15c6b354d5667520", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/app-run-control-action.test.js:85"}, "properties": {"repobilityId": "815ddf63d7438665", "scanner": "scanner-primary", "fingerprint": "15c6b354d5667520", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-59ab4d4b712f55f8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/multi-pipeline-route-removed.test.js:69"}, "properties": {"repobilityId": "3f273a812fc7993c", "scanner": "scanner-primary", "fingerprint": "59ab4d4b712f55f8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b177775466d3a3d2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/error-isolation.test.js:30"}, "properties": {"repobilityId": "86c9da2f440e1019", "scanner": "scanner-primary", "fingerprint": "b177775466d3a3d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5714d855b16b8cad", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/subagents-api.test.js:53"}, "properties": {"repobilityId": "78b4588226a0f80f", "scanner": "scanner-primary", "fingerprint": "5714d855b16b8cad", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2c3f8dec1dce846d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/projects-batch.test.js:35"}, "properties": {"repobilityId": "d7614c78ab6fd486", "scanner": "scanner-primary", "fingerprint": "2c3f8dec1dce846d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6bf2bf711ed03172", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/settings-strip-on-save.test.js:51"}, "properties": {"repobilityId": "300856a7e7e9bffc", "scanner": "scanner-primary", "fingerprint": "6bf2bf711ed03172", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-00122a02e1386933", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/project-routes-cancel.test.js:90"}, "properties": {"repobilityId": "7184b2d2f4bc4e10", "scanner": "scanner-primary", "fingerprint": "00122a02e1386933", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1e85ba6b50bdbd62", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/server/test/project-routes-delete.test.js:91"}, "properties": {"repobilityId": "71ad9aab2fa513d6", "scanner": "scanner-primary", "fingerprint": "1e85ba6b50bdbd62", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a52a5143e4c85bce", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/pipelines-templates.spec.js:871"}, "properties": {"repobilityId": "faeba61b393fceed", "scanner": "scanner-primary", "fingerprint": "a52a5143e4c85bce", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c5d5ca09b3319343", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/graphify-settings.spec.js:176"}, "properties": {"repobilityId": "ac9383ff1daf9aa7", "scanner": "scanner-primary", "fingerprint": "c5d5ca09b3319343", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a0248cb09744f70b", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/e2e/dashboard.spec.js:6"}, "properties": {"repobilityId": "a849ecb22a80aa34", "scanner": "scanner-primary", "fingerprint": "a0248cb09744f70b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-834ae3a79c9fe8c4", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/e2e/pipelines-duplicate.spec.js:125"}, "properties": {"repobilityId": "110c3f221c303e7b", "scanner": "scanner-primary", "fingerprint": "834ae3a79c9fe8c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0542235078b21a6c", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/e2e/workspaces.spec.js:108"}, "properties": {"repobilityId": "f1aa496ba6919cf0", "scanner": "scanner-primary", "fingerprint": "0542235078b21a6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1193f775d65b4b27", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/workspaces.spec.js:253"}, "properties": {"repobilityId": "26ba8e86b455d85f", "scanner": "scanner-primary", "fingerprint": "1193f775d65b4b27", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-778b86baed79ef7e", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/e2e/pipelines-editor.spec.js:49"}, "properties": {"repobilityId": "1f3daab7563a3282", "scanner": "scanner-primary", "fingerprint": "778b86baed79ef7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca3e455260fd1d84", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/e2e/run-detail-model-alias.spec.js:6"}, "properties": {"repobilityId": "bdcd1497bdfce994", "scanner": "scanner-primary", "fingerprint": "ca3e455260fd1d84", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08ca4b267eae9871", "level": "none", "message": {"text": "Commented-code block (5 lines) in worca-ui/e2e/run-detail-plan-iterations.spec.js:105"}, "properties": {"repobilityId": "b3cad704ca711603", "scanner": "scanner-primary", "fingerprint": "08ca4b267eae9871", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7689be20df762481", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 worca-ui/e2e/test-fixture-templates.js:19"}, "properties": {"repobilityId": "c12109b3ec5cc8c5", "scanner": "scanner-primary", "fingerprint": "7689be20df762481", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-404abd14172ca51e", "level": "none", "message": {"text": "Commented-code block (7 lines) in worca-ui/e2e/file-access.spec.js:251"}, "properties": {"repobilityId": "775a24c1d0f007fd", "scanner": "scanner-primary", "fingerprint": "404abd14172ca51e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e639ca1f86653d08", "level": "none", "message": {"text": "Commented-code block (6 lines) in worca-ui/e2e/models.spec.js:155"}, "properties": {"repobilityId": "cd39a8489c957304", "scanner": "scanner-primary", "fingerprint": "e639ca1f86653d08", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "8476419f140199ae", "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": "685f8f54eebdab00", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-46969939caf8120b", "level": "note", "message": {"text": "Near-duplicate function bodies in 9 places"}, "properties": {"repobilityId": "af63c7e16bd310a7", "scanner": "scanner-primary", "fingerprint": "46969939caf8120b", "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": "8fdb538e61b77f04", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "be9c0f23c5759791", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "c04f0a3316fc49c9", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "ab9d61ab448035e2", "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": "351c63db5a1f222d", "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": "afd4dc2ecc95ef55", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "891cbb8a73325fdb", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "9ec67b22fcaab852", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "62dcf44110015c75", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "76b3db743ab4bcba", "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": "e01bc8a93e22b899", "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": "02497d60f8d019d7", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "ea0116010e558c74", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "209a2ebfa2e71ffc", "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": "125f65d1f55321e9", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "b5623f629f234d60", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9dad557909b86499", "level": "note", "message": {"text": "Near-duplicate function bodies in 10 places"}, "properties": {"repobilityId": "7358c948ee51374e", "scanner": "scanner-primary", "fingerprint": "9dad557909b86499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-cdf846cd90570b33", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/ (worca-ui/test/server-e2e.test.js:103)"}, "properties": {"repobilityId": "a5133683cb5d8d23", "scanner": "scanner-primary", "fingerprint": "cdf846cd90570b33", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e3e78f3d804191c5", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/styles.css (worca-ui/test/server-e2e.test.js:109)"}, "properties": {"repobilityId": "143aefb416e44cb1", "scanner": "scanner-primary", "fingerprint": "e3e78f3d804191c5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2cf6a3e65e371ef0", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/some/unknown/path (worca-ui/test/server-e2e.test.js:115)"}, "properties": {"repobilityId": "da2bd020cdd45f3c", "scanner": "scanner-primary", "fingerprint": "2cf6a3e65e371ef0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b8ae86515621ca0f", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/ (worca-ui/test/server-e2e.test.js:137)"}, "properties": {"repobilityId": "b4ce68fc352771db", "scanner": "scanner-primary", "fingerprint": "b8ae86515621ca0f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f6bd289b318c5789", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects/${projectName}/runs (worca-ui/app/main-default-branch.test.js:169)"}, "properties": {"repobilityId": "2cd95b3f9bd97a6a", "scanner": "scanner-primary", "fingerprint": "f6bd289b318c5789", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-29fc1c783d3bc925", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects/${projectName}/worktrees (worca-ui/app/main-default-branch.test.js:210)"}, "properties": {"repobilityId": "a24f4100bafd58c2", "scanner": "scanner-primary", "fingerprint": "29fc1c783d3bc925", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-aa9d5bea24c65f96", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspaces (worca-ui/app/main.js:1495)"}, "properties": {"repobilityId": "1b8389e960421240", "scanner": "scanner-primary", "fingerprint": "aa9d5bea24c65f96", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ac92c4d206d230bf", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:1503)"}, "properties": {"repobilityId": "38cdf80ac3a7d270", "scanner": "scanner-primary", "fingerprint": "ac92c4d206d230bf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-50af79aea83ef053", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects/${p.name}/runs (worca-ui/app/main.js:1531)"}, "properties": {"repobilityId": "bebeb4136ec81f25", "scanner": "scanner-primary", "fingerprint": "50af79aea83ef053", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5a861e67f75f9261", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects/${name}/worktrees (worca-ui/app/main.js:1576)"}, "properties": {"repobilityId": "46848920835a55a5", "scanner": "scanner-primary", "fingerprint": "5a861e67f75f9261", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3564a6ba73fe790b", "level": "error", "message": {"text": "Dangling fetch: POST /api/fleet-runs/${fleetId}/resume (worca-ui/app/main.js:3526)"}, "properties": {"repobilityId": "fd5b837f11c3b390", "scanner": "scanner-primary", "fingerprint": "3564a6ba73fe790b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-39e278a86bd01536", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/fleet-runs/${fleetId} (worca-ui/app/main.js:3553)"}, "properties": {"repobilityId": "ac4c04ace3f21a2e", "scanner": "scanner-primary", "fingerprint": "39e278a86bd01536", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-18df2b04e68275da", "level": "error", "message": {"text": "Dangling fetch: POST /api/fleet-runs/${fleetId}/pause (worca-ui/app/main.js:3583)"}, "properties": {"repobilityId": "06869d2149b0f5d9", "scanner": "scanner-primary", "fingerprint": "18df2b04e68275da", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fb7d4d638b74e5be", "level": "error", "message": {"text": "Dangling fetch: POST /api/fleet-runs/${fleetId}/stop (worca-ui/app/main.js:3613)"}, "properties": {"repobilityId": "4d5840d4efe60044", "scanner": "scanner-primary", "fingerprint": "fb7d4d638b74e5be", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-147e463a715be41b", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/fleet-runs/${fleetId}?cleanup=1&force=1 (worca-ui/app/main.js:3645)"}, "properties": {"repobilityId": "af87bd61787c44b6", "scanner": "scanner-primary", "fingerprint": "147e463a715be41b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-91d94568355c3ea9", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspaces (worca-ui/app/main.js:3768)"}, "properties": {"repobilityId": "d1a7071b1e396546", "scanner": "scanner-primary", "fingerprint": "91d94568355c3ea9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7697586660fdaac5", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/workspaces/${encodeURIComponent(name)} (worca-ui/app/main.js:3791)"}, "properties": {"repobilityId": "8535dc4e3c037432", "scanner": "scanner-primary", "fingerprint": "7697586660fdaac5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e70b10a124a9c3fb", "level": "error", "message": {"text": "Dangling fetch: POST /api/fleet-runs/${fleetId}/unarchive (worca-ui/app/main.js:3841)"}, "properties": {"repobilityId": "91d19bef6f8f77d8", "scanner": "scanner-primary", "fingerprint": "e70b10a124a9c3fb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a8419ee886eff8b5", "level": "error", "message": {"text": "Dangling fetch: GET /api/fleet-runs/${route.runId} (worca-ui/app/main.js:5607)"}, "properties": {"repobilityId": "da313e62551f32cc", "scanner": "scanner-primary", "fingerprint": "a8419ee886eff8b5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8c7821c53a5a3aba", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${route.runId} (worca-ui/app/main.js:5714)"}, "properties": {"repobilityId": "0bb2b361869a90d4", "scanner": "scanner-primary", "fingerprint": "8c7821c53a5a3aba", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-683e939b6aa7d0d0", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:5814)"}, "properties": {"repobilityId": "aab5162e11d81c07", "scanner": "scanner-primary", "fingerprint": "683e939b6aa7d0d0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8d6330e8b1e805b6", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:5824)"}, "properties": {"repobilityId": "328d29ccfe5f0922", "scanner": "scanner-primary", "fingerprint": "8d6330e8b1e805b6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-252b5fc958c99dd9", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:5833)"}, "properties": {"repobilityId": "4f2b7a4cc24338a5", "scanner": "scanner-primary", "fingerprint": "252b5fc958c99dd9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d76c8c0717487691", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:6028)"}, "properties": {"repobilityId": "d9455d694e29c3d0", "scanner": "scanner-primary", "fingerprint": "d76c8c0717487691", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ef66d5ce560d4b0f", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects (worca-ui/app/main.js:6116)"}, "properties": {"repobilityId": "a75978c2c38146bb", "scanner": "scanner-primary", "fingerprint": "ef66d5ce560d4b0f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-57e95e4fb2652485", "level": "error", "message": {"text": "Dangling fetch: GET /api/preferences (worca-ui/app/main.js:6153)"}, "properties": {"repobilityId": "7f77f5e15645207f", "scanner": "scanner-primary", "fingerprint": "57e95e4fb2652485", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-654d53e3f03fe300", "level": "error", "message": {"text": "Dangling fetch: GET /api/status/runs-count (worca-ui/app/main.js:6156)"}, "properties": {"repobilityId": "ddbf1a761a83f9c5", "scanner": "scanner-primary", "fingerprint": "654d53e3f03fe300", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f70b2bd60ce2e609", "level": "error", "message": {"text": "Dangling fetch: GET /api/status/runs-count (worca-ui/app/main.js:6193)"}, "properties": {"repobilityId": "5c5ef2adbf0a6bdd", "scanner": "scanner-primary", "fingerprint": "f70b2bd60ce2e609", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ffb642d3dfb8bcb3", "level": "error", "message": {"text": "Dangling fetch: PUT /api/preferences (worca-ui/app/views/settings.js:816)"}, "properties": {"repobilityId": "6459b50d28fcdbdf", "scanner": "scanner-primary", "fingerprint": "ffb642d3dfb8bcb3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-97e8d620ae5d6b51", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/projects/${projectName} (worca-ui/app/views/settings.js:3175)"}, "properties": {"repobilityId": "792a88d8ef7bf197", "scanner": "scanner-primary", "fingerprint": "97e8d620ae5d6b51", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-bd51e7d5cb32a114", "level": "error", "message": {"text": "Dangling fetch: POST /api/projects/${projectName}/worca-setup (worca-ui/app/views/settings.js:3195)"}, "properties": {"repobilityId": "64af2fcdc8eac9c4", "scanner": "scanner-primary", "fingerprint": "bd51e7d5cb32a114", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-99df01ee9e94f652", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspaces (worca-ui/app/views/workspace-create.js:147)"}, "properties": {"repobilityId": "e20d21409f55df2e", "scanner": "scanner-primary", "fingerprint": "99df01ee9e94f652", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2bc66965156aa149", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspaces/scan (worca-ui/app/views/workspace-create.js:229)"}, "properties": {"repobilityId": "0ec310fd9aaa2d90", "scanner": "scanner-primary", "fingerprint": "2bc66965156aa149", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-07144e595fa41fb1", "level": "error", "message": {"text": "Dangling fetch: POST /api/projects/${encodeURIComponent(s.target)}/worca-setup (worca-ui/app/views/project-setup-wizard.js:382)"}, "properties": {"repobilityId": "c7980494ca3c5c72", "scanner": "scanner-primary", "fingerprint": "07144e595fa41fb1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-17290960d81b8354", "level": "error", "message": {"text": "Dangling fetch: POST /api/graphify/recheck${q} (worca-ui/app/views/project-setup-wizard.js:424)"}, "properties": {"repobilityId": "908e752c80b1af06", "scanner": "scanner-primary", "fingerprint": "17290960d81b8354", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c9edb3bd7ea8c04e", "level": "error", "message": {"text": "Dangling fetch: POST /api/crg/recheck${q} (worca-ui/app/views/project-setup-wizard.js:425)"}, "properties": {"repobilityId": "1b1bcc140720bb6c", "scanner": "scanner-primary", "fingerprint": "c9edb3bd7ea8c04e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-45ab3abda48bdb0a", "level": "error", "message": {"text": "Dangling fetch: POST /api/projects/batch (worca-ui/app/views/add-project-dialog.js:178)"}, "properties": {"repobilityId": "3066980531327897", "scanner": "scanner-primary", "fingerprint": "45ab3abda48bdb0a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-29a71535a9bdeae0", "level": "error", "message": {"text": "Dangling fetch: POST /api/projects (worca-ui/app/views/add-project-dialog.js:227)"}, "properties": {"repobilityId": "d370a2181503d5ed", "scanner": "scanner-primary", "fingerprint": "29a71535a9bdeae0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3653907e46eb4d9f", "level": "error", "message": {"text": "Dangling fetch: GET /api/projects/${p.name}/worca-status (worca-ui/app/views/add-project-dialog.js:553)"}, "properties": {"repobilityId": "6ef332b631344762", "scanner": "scanner-primary", "fingerprint": "3653907e46eb4d9f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-080b72acac842fd3", "level": "error", "message": {"text": "Dangling fetch: POST /api/projects/${item.name}/worca-setup (worca-ui/app/views/add-project-dialog.js:624)"}, "properties": {"repobilityId": "e03480b3d6986829", "scanner": "scanner-primary", "fingerprint": "080b72acac842fd3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fba972f78444e524", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${encodeURIComponent(id)}/plan (worca-ui/app/views/workspace-detail.js:324)"}, "properties": {"repobilityId": "31a0b842a02f8bdd", "scanner": "scanner-primary", "fingerprint": "fba972f78444e524", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f47df35a2ac8924a", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${encodeURIComponent(ws.workspace_id)}/guide (worca-ui/app/views/workspace-detail.js:607)"}, "properties": {"repobilityId": "ee2095715420492c", "scanner": "scanner-primary", "fingerprint": "f47df35a2ac8924a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5c4eb2d3a0fef2ac", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspaces/${encodeURIComponent(name)} (worca-ui/app/views/workspace-edit.js:106)"}, "properties": {"repobilityId": "87d77bfeefbc29f6", "scanner": "scanner-primary", "fingerprint": "5c4eb2d3a0fef2ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b817f917edda82db", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspaces/scan (worca-ui/app/views/workspace-edit.js:187)"}, "properties": {"repobilityId": "a29546b2595372cf", "scanner": "scanner-primary", "fingerprint": "b817f917edda82db", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a6157deead1cd786", "level": "error", "message": {"text": "Dangling fetch: PUT /api/workspaces/${encodeURIComponent(workspaceName)} (worca-ui/app/views/workspace-edit.js:263)"}, "properties": {"repobilityId": "cebc1fa06ae34f48", "scanner": "scanner-primary", "fingerprint": "a6157deead1cd786", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a51e92f9ef7c6b22", "level": "error", "message": {"text": "Dangling fetch: POST /api/fleet-runs/validate-base (worca-ui/app/views/fleet-launcher.js:551)"}, "properties": {"repobilityId": "833c0d6023f3cdc3", "scanner": "scanner-primary", "fingerprint": "a51e92f9ef7c6b22", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-05695568cbc8058b", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspace-runs/validate-gh-auth (worca-ui/app/views/fleet-launcher.js:1048)"}, "properties": {"repobilityId": "de6c3e462ffdd4d2", "scanner": "scanner-primary", "fingerprint": "05695568cbc8058b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-23523c38d405b030", "level": "error", "message": {"text": "Dangling fetch: POST /api/fleet-runs/validate-base (worca-ui/app/views/fleet-launcher.js:1094)"}, "properties": {"repobilityId": "826049acc1fa50b0", "scanner": "scanner-primary", "fingerprint": "23523c38d405b030", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-09b7c11dff6da283", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-strict.test.js:35)"}, "properties": {"repobilityId": "bd4b361ada90fd10", "scanner": "scanner-primary", "fingerprint": "09b7c11dff6da283", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-21788e7652a924d7", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-strict.test.js:51)"}, "properties": {"repobilityId": "6c4f88c8e908c8d0", "scanner": "scanner-primary", "fingerprint": "21788e7652a924d7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f58bb637a3339536", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-strict.test.js:67)"}, "properties": {"repobilityId": "b135d19493e97a4d", "scanner": "scanner-primary", "fingerprint": "f58bb637a3339536", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-cc6472fb669fd81c", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}${path} (worca-ui/server/templates-routes.test.js:83)"}, "properties": {"repobilityId": "487dbdc46ef95055", "scanner": "scanner-primary", "fingerprint": "cc6472fb669fd81c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fa8af41b96deb682", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}${url} (worca-ui/server/app-integrations-send.test.js:59)"}, "properties": {"repobilityId": "ce4f0fe70d4b0a7f", "scanner": "scanner-primary", "fingerprint": "fa8af41b96deb682", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a9e813a8186092bf", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/integrations/send (worca-ui/server/app-integrations-send.test.js:157)"}, "properties": {"repobilityId": "f73cf218b9d7bc4d", "scanner": "scanner-primary", "fingerprint": "a9e813a8186092bf", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-80c95c464af1bbc1", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/integrations/send (worca-ui/server/app-integrations-send.test.js:204)"}, "properties": {"repobilityId": "4f54a2d7b2b112e0", "scanner": "scanner-primary", "fingerprint": "80c95c464af1bbc1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a95de6dd64bdc10a", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/integrations/send (worca-ui/server/app-integrations-send.test.js:253)"}, "properties": {"repobilityId": "3121f2b74abf4c78", "scanner": "scanner-primary", "fingerprint": "a95de6dd64bdc10a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-09a27568a663aad9", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:23)"}, "properties": {"repobilityId": "9a3a0bfd803f77bd", "scanner": "scanner-primary", "fingerprint": "09a27568a663aad9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-24c96b1fd96b1e95", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:43)"}, "properties": {"repobilityId": "5ec1cd8d59f99901", "scanner": "scanner-primary", "fingerprint": "24c96b1fd96b1e95", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c6f3ae9b6cfb8462", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:62)"}, "properties": {"repobilityId": "2fb9af21b49be332", "scanner": "scanner-primary", "fingerprint": "c6f3ae9b6cfb8462", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-78822683c6a7e76f", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/app-inbox-unchanged.test.js:84)"}, "properties": {"repobilityId": "9934ff98be389ec1", "scanner": "scanner-primary", "fingerprint": "78822683c6a7e76f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d1f2211a028ce1b6", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:28)"}, "properties": {"repobilityId": "b0a8d11ce02cd166", "scanner": "scanner-primary", "fingerprint": "d1f2211a028ce1b6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2d3b83c9e880ccab", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:37)"}, "properties": {"repobilityId": "7237f1ef4298b0d0", "scanner": "scanner-primary", "fingerprint": "2d3b83c9e880ccab", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9e625ed10a6dfce6", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:51)"}, "properties": {"repobilityId": "2da65186bdeda2c5", "scanner": "scanner-primary", "fingerprint": "9e625ed10a6dfce6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d0c3bf47c8610b30", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/tools (worca-ui/server/app-tools-skills.test.js:60)"}, "properties": {"repobilityId": "78c6e7678b46a675", "scanner": "scanner-primary", "fingerprint": "d0c3bf47c8610b30", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-88bd3674b789a4ac", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:71)"}, "properties": {"repobilityId": "e3a38a673d36ef27", "scanner": "scanner-primary", "fingerprint": "88bd3674b789a4ac", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4afac4ad1c856924", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:80)"}, "properties": {"repobilityId": "13b287e13f0af2c8", "scanner": "scanner-primary", "fingerprint": "4afac4ad1c856924", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f4bc75caaafdf040", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:89)"}, "properties": {"repobilityId": "756afbef954232ca", "scanner": "scanner-primary", "fingerprint": "f4bc75caaafdf040", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ea1c354593e052bc", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/skills (worca-ui/server/app-tools-skills.test.js:98)"}, "properties": {"repobilityId": "190f5838743ba33b", "scanner": "scanner-primary", "fingerprint": "ea1c354593e052bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6e1c630f57191381", "level": "error", "message": {"text": "Dangling fetch: PUT http://localhost:${port}/api/webhooks/inbox/control (worca-ui/server/app-inbox-control-strict.test.js:35)"}, "properties": {"repobilityId": "54127d7558f55f67", "scanner": "scanner-primary", "fingerprint": "6e1c630f57191381", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7fe93420fbe0c21d", "level": "error", "message": {"text": "Dangling fetch: PUT http://localhost:${port}/api/webhooks/inbox/control (worca-ui/server/app-inbox-control-strict.test.js:54)"}, "properties": {"repobilityId": "45e0e2fb0b8b7a4d", "scanner": "scanner-primary", "fingerprint": "7fe93420fbe0c21d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fafffde7e92f8b3e", "level": "error", "message": {"text": "Dangling fetch: PUT http://localhost:${port}/api/webhooks/inbox/control (worca-ui/server/app-inbox-control-strict.test.js:73)"}, "properties": {"repobilityId": "16ae39f64297d8af", "scanner": "scanner-primary", "fingerprint": "fafffde7e92f8b3e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2d7d235ff2d507e3", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/projects/myproj/runs/run-002/pr (worca-ui/server/app.test.js:83)"}, "properties": {"repobilityId": "149bc09682e8580f", "scanner": "scanner-primary", "fingerprint": "2d7d235ff2d507e3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c49b3616fae36acb", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/status/runs-count (worca-ui/server/status-routes.test.js:111)"}, "properties": {"repobilityId": "6cc86baa17d8e4e9", "scanner": "scanner-primary", "fingerprint": "c49b3616fae36acb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f658fb37ed2a06f9", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}${path} (worca-ui/server/project-routes-beads-enrichment.test.js:60)"}, "properties": {"repobilityId": "6b2dbfee256cce73", "scanner": "scanner-primary", "fingerprint": "f658fb37ed2a06f9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a61bb01f68c4c3cb", "level": "error", "message": {"text": "Dangling fetch: GET https://api.telegram.org/bot${token}/getMe (worca-ui/server/app.js:947)"}, "properties": {"repobilityId": "37658a44df6d4e44", "scanner": "scanner-primary", "fingerprint": "a61bb01f68c4c3cb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2053e3da07621095", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/projects/inbox (worca-ui/server/app-webhook-hints.test.js:29)"}, "properties": {"repobilityId": "7c09b6807ba93c8e", "scanner": "scanner-primary", "fingerprint": "2053e3da07621095", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-46a6d7fa2d6132bc", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/integrations/status (worca-ui/server/app-integrations-status.test.js:22)"}, "properties": {"repobilityId": "0f2e3bd7651c8caf", "scanner": "scanner-primary", "fingerprint": "46a6d7fa2d6132bc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4e6caaa37d78ab2a", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/integrations/status (worca-ui/server/app-integrations-status.test.js:53)"}, "properties": {"repobilityId": "a1b6836567b463f8", "scanner": "scanner-primary", "fingerprint": "4e6caaa37d78ab2a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0f472e46b4085f7b", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/integrations/status (worca-ui/server/app-integrations-status.test.js:69)"}, "properties": {"repobilityId": "d926869dd9dd21f9", "scanner": "scanner-primary", "fingerprint": "0f472e46b4085f7b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3c2a4b95f42b1c86", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:44)"}, "properties": {"repobilityId": "885d59b3db083991", "scanner": "scanner-primary", "fingerprint": "3c2a4b95f42b1c86", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-afa98c595658840f", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:56)"}, "properties": {"repobilityId": "13e72975d644b643", "scanner": "scanner-primary", "fingerprint": "afa98c595658840f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-962fc90d1fe2ecb8", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:67)"}, "properties": {"repobilityId": "c32854c35ac28e00", "scanner": "scanner-primary", "fingerprint": "962fc90d1fe2ecb8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-17b0478d58727cc1", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:79)"}, "properties": {"repobilityId": "b8f6ab0f7b4741c8", "scanner": "scanner-primary", "fingerprint": "17b0478d58727cc1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d7609c5c7c02843e", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:92)"}, "properties": {"repobilityId": "bbb010ef2035eeae", "scanner": "scanner-primary", "fingerprint": "d7609c5c7c02843e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-84a7cd8a24503c48", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:112)"}, "properties": {"repobilityId": "dd6cb4397c0f69bc", "scanner": "scanner-primary", "fingerprint": "84a7cd8a24503c48", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-000b9e2171ff4285", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:124)"}, "properties": {"repobilityId": "bed3b17090126d2e", "scanner": "scanner-primary", "fingerprint": "000b9e2171ff4285", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b6d8fc916b46fefd", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:139)"}, "properties": {"repobilityId": "56e1a30a40fb8774", "scanner": "scanner-primary", "fingerprint": "b6d8fc916b46fefd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-07f8724716847297", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/test (worca-ui/server/app-webhooks.test.js:148)"}, "properties": {"repobilityId": "51742903423720a0", "scanner": "scanner-primary", "fingerprint": "07f8724716847297", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c3cc652cd34e542d", "level": "error", "message": {"text": "Dangling fetch: GET https://registry.npmjs.org/${packageName} (worca-ui/server/versions.js:65)"}, "properties": {"repobilityId": "fe36feeadfea817e", "scanner": "scanner-primary", "fingerprint": "c3cc652cd34e542d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4a606b1321bcda5c", "level": "error", "message": {"text": "Dangling fetch: GET https://pypi.org/pypi/${packageName}/json (worca-ui/server/versions.js:127)"}, "properties": {"repobilityId": "d81a5fab280b5d50", "scanner": "scanner-primary", "fingerprint": "4a606b1321bcda5c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-819469cbec310e38", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/integrations/integrations-pipeline.test.js:166)"}, "properties": {"repobilityId": "a5022e02422306b9", "scanner": "scanner-primary", "fingerprint": "819469cbec310e38", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-95ef8b1b19fd588d", "level": "error", "message": {"text": "Dangling fetch: POST http://localhost:${port}/api/webhooks/inbox (worca-ui/server/integrations/integrations-pipeline.test.js:221)"}, "properties": {"repobilityId": "f02e435f5a64ad70", "scanner": "scanner-primary", "fingerprint": "95ef8b1b19fd588d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fc1cbdfaa40d7069", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:64)"}, "properties": {"repobilityId": "7df58ef3b7aa6f65", "scanner": "scanner-primary", "fingerprint": "fc1cbdfaa40d7069", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f1f4f3983c8c45eb", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:90)"}, "properties": {"repobilityId": "d07b311185b04ed1", "scanner": "scanner-primary", "fingerprint": "f1f4f3983c8c45eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8876d773e579f6c7", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:155)"}, "properties": {"repobilityId": "fdd94ce8d8d13fde", "scanner": "scanner-primary", "fingerprint": "8876d773e579f6c7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0f24f755bf838131", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:168)"}, "properties": {"repobilityId": "7725b292434a536f", "scanner": "scanner-primary", "fingerprint": "0f24f755bf838131", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3842247b14c7421f", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:181)"}, "properties": {"repobilityId": "3f541c3d586fbca5", "scanner": "scanner-primary", "fingerprint": "3842247b14c7421f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5ef7c9180fb1ed2c", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:208)"}, "properties": {"repobilityId": "586087d7225ec4d1", "scanner": "scanner-primary", "fingerprint": "5ef7c9180fb1ed2c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8304de253ee1ebc6", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:233)"}, "properties": {"repobilityId": "d631f29320dfb937", "scanner": "scanner-primary", "fingerprint": "8304de253ee1ebc6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5814b080b109b974", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:260)"}, "properties": {"repobilityId": "e7485ac20dc205ec", "scanner": "scanner-primary", "fingerprint": "5814b080b109b974", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4d2b01479aabe79d", "level": "error", "message": {"text": "Dangling fetch: GET http://127.0.0.1:${port}/api/costs (worca-ui/server/test/costs-api.test.js:284)"}, "properties": {"repobilityId": "ed9bbf346505ff0b", "scanner": "scanner-primary", "fingerprint": "4d2b01479aabe79d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-95d232d1aba2e253", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:53)"}, "properties": {"repobilityId": "913bfe1f1c636378", "scanner": "scanner-primary", "fingerprint": "95d232d1aba2e253", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a0a7d1f65587db3f", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:72)"}, "properties": {"repobilityId": "9c4b4157604ca9f7", "scanner": "scanner-primary", "fingerprint": "a0a7d1f65587db3f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4a8deba3fab2f19e", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:91)"}, "properties": {"repobilityId": "3a3dc4cbed719f85", "scanner": "scanner-primary", "fingerprint": "4a8deba3fab2f19e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5a3034f6bc9317f0", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:115)"}, "properties": {"repobilityId": "08ae24e5b837ccbd", "scanner": "scanner-primary", "fingerprint": "5a3034f6bc9317f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5123f1a31c9b3c1b", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:${port}/api/subagents (worca-ui/server/test/subagents-api.test.js:135)"}, "properties": {"repobilityId": "71cfab225bed104d", "scanner": "scanner-primary", "fingerprint": "5123f1a31c9b3c1b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1caacf6e40103f7b", "level": "error", "message": {"text": "Dangling fetch: GET /api/templates/project/effort-mode (worca-ui/e2e/pipelines-templates.spec.js:871)"}, "properties": {"repobilityId": "149c7c0eb8ad8af2", "scanner": "scanner-primary", "fingerprint": "1caacf6e40103f7b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-baeeca04c7de9be7", "level": "error", "message": {"text": "Dangling fetch: GET /api/templates/project/gov-strike (worca-ui/e2e/pipelines-templates.spec.js:923)"}, "properties": {"repobilityId": "ce15f9b31c999055", "scanner": "scanner-primary", "fingerprint": "baeeca04c7de9be7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-71cb1307cd3a25e2", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspaces (worca-ui/e2e/workspaces.spec.js:253)"}, "properties": {"repobilityId": "d0a9285781635526", "scanner": "scanner-primary", "fingerprint": "71cb1307cd3a25e2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-caacc5aaf435326f", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspaces/scan (worca-ui/e2e/workspaces.spec.js:262)"}, "properties": {"repobilityId": "b192c85018a5d633", "scanner": "scanner-primary", "fingerprint": "caacc5aaf435326f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f4f563ab78ab6d3e", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspaces (worca-ui/e2e/workspaces.spec.js:279)"}, "properties": {"repobilityId": "fb0c97897d14cf64", "scanner": "scanner-primary", "fingerprint": "f4f563ab78ab6d3e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-35c5df03b8f8850a", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspaces (worca-ui/e2e/workspaces.spec.js:307)"}, "properties": {"repobilityId": "7d4b027924ee9429", "scanner": "scanner-primary", "fingerprint": "35c5df03b8f8850a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-55d6b3911bce5398", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${wsId} (worca-ui/e2e/workspaces.spec.js:386)"}, "properties": {"repobilityId": "6775838c895283d7", "scanner": "scanner-primary", "fingerprint": "55d6b3911bce5398", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2fc99a2eb0d13633", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${wsId}/guide (worca-ui/e2e/workspaces.spec.js:405)"}, "properties": {"repobilityId": "d4d46384c88b9a4e", "scanner": "scanner-primary", "fingerprint": "2fc99a2eb0d13633", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-928510d4b61cd310", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:470)"}, "properties": {"repobilityId": "03f7f065f152c4aa", "scanner": "scanner-primary", "fingerprint": "928510d4b61cd310", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-70473a6ed6835835", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:578)"}, "properties": {"repobilityId": "2edaa92f3c1b6c91", "scanner": "scanner-primary", "fingerprint": "70473a6ed6835835", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b192a34c3b0a6e2d", "level": "error", "message": {"text": "Dangling fetch: PUT /api/workspace-runs/${id}/plan (worca-ui/e2e/workspaces.spec.js:602)"}, "properties": {"repobilityId": "4b3b15d5dfb1e733", "scanner": "scanner-primary", "fingerprint": "b192a34c3b0a6e2d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9f9346f64fbea081", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspace-runs/${id}/resume (worca-ui/e2e/workspaces.spec.js:623)"}, "properties": {"repobilityId": "06184f1893d8050e", "scanner": "scanner-primary", "fingerprint": "9f9346f64fbea081", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8b0f996c46b4d559", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:723)"}, "properties": {"repobilityId": "37b19edc3bb958bc", "scanner": "scanner-primary", "fingerprint": "8b0f996c46b4d559", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-973afa8dd079ef1e", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspaces/edit-ws (worca-ui/e2e/workspaces.spec.js:776)"}, "properties": {"repobilityId": "29eb19070892a32d", "scanner": "scanner-primary", "fingerprint": "973afa8dd079ef1e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c8b94de9d0de6bf8", "level": "error", "message": {"text": "Dangling fetch: PUT /api/workspaces/edit-ws (worca-ui/e2e/workspaces.spec.js:785)"}, "properties": {"repobilityId": "2ccec64474717ccc", "scanner": "scanner-primary", "fingerprint": "c8b94de9d0de6bf8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-aef2d62d75378ffa", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${wsId} (worca-ui/e2e/workspaces.spec.js:828)"}, "properties": {"repobilityId": "ad1bb9e07c91816e", "scanner": "scanner-primary", "fingerprint": "aef2d62d75378ffa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-34f165d390075fbc", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspace-runs/${id}/re-run-integration (worca-ui/e2e/workspaces.spec.js:964)"}, "properties": {"repobilityId": "ceba16e5ec2eed09", "scanner": "scanner-primary", "fingerprint": "34f165d390075fbc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-292c4da60871ec2a", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${id}/context/web (worca-ui/e2e/workspaces.spec.js:1062)"}, "properties": {"repobilityId": "d61abb1491cffb85", "scanner": "scanner-primary", "fingerprint": "292c4da60871ec2a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ccf3023060bea62a", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspace-runs/${id}/relaunch (worca-ui/e2e/workspaces.spec.js:1125)"}, "properties": {"repobilityId": "83b58e82909e239d", "scanner": "scanner-primary", "fingerprint": "ccf3023060bea62a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9a7f9e402d0b1479", "level": "error", "message": {"text": "Dangling fetch: GET /api/workspace-runs/${id} (worca-ui/e2e/workspaces.spec.js:1140)"}, "properties": {"repobilityId": "fcdfd41087334a10", "scanner": "scanner-primary", "fingerprint": "9a7f9e402d0b1479", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c6b9c7d14bdd84d4", "level": "error", "message": {"text": "Dangling fetch: POST /api/workspaces (worca-ui/e2e/workspaces.spec.js:1174)"}, "properties": {"repobilityId": "9097be940de3e609", "scanner": "scanner-primary", "fingerprint": "c6b9c7d14bdd84d4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ba38b5a78672113b", "level": "error", "message": {"text": "Dangling fetch: PUT /api/workspaces/cycle-edit-ws (worca-ui/e2e/workspaces.spec.js:1211)"}, "properties": {"repobilityId": "7a763c03e2536885", "scanner": "scanner-primary", "fingerprint": "ba38b5a78672113b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8ea45fe5f66d75ea", "level": "error", "message": {"text": "Dangling fetch: PUT /api/workspaces/active-ws (worca-ui/e2e/workspaces.spec.js:1282)"}, "properties": {"repobilityId": "fad54f3b1b636042", "scanner": "scanner-primary", "fingerprint": "8ea45fe5f66d75ea", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-329c4c97cfabdd7f", "level": "note", "message": {"text": "Unused endpoint: USE /worktrees"}, "properties": {"repobilityId": "8178e86286735cf8", "scanner": "scanner-primary", "fingerprint": "329c4c97cfabdd7f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "de4c6225bd0221a1", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8bc044960f2dad88", "level": "note", "message": {"text": "Unused endpoint: DELETE /:run_id"}, "properties": {"repobilityId": "0d2f9ab743166e64", "scanner": "scanner-primary", "fingerprint": "8bc044960f2dad88", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-09da8787bc214335", "level": "note", "message": {"text": "Unused endpoint: POST /cleanup"}, "properties": {"repobilityId": "aafc2cb844dc23c8", "scanner": "scanner-primary", "fingerprint": "09da8787bc214335", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-67d28fa8cd6bb12f", "level": "note", "message": {"text": "Unused endpoint: PUT /"}, "properties": {"repobilityId": "f1209760d7193852", "scanner": "scanner-primary", "fingerprint": "67d28fa8cd6bb12f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d532434ff58300bf", "level": "note", "message": {"text": "Unused endpoint: GET /:tier/:alias"}, "properties": {"repobilityId": "52e529f463bfe995", "scanner": "scanner-primary", "fingerprint": "d532434ff58300bf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3cae5d292fcd0dc6", "level": "note", "message": {"text": "Unused endpoint: PUT /:tier/:alias"}, "properties": {"repobilityId": "db7dcf50513c1036", "scanner": "scanner-primary", "fingerprint": "3cae5d292fcd0dc6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-84f32addeef0dadf", "level": "note", "message": {"text": "Unused endpoint: DELETE /:tier/:alias"}, "properties": {"repobilityId": "480c7f012e8163be", "scanner": "scanner-primary", "fingerprint": "84f32addeef0dadf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ef7a15868977421a", "level": "note", "message": {"text": "Unused endpoint: POST /:tier/:alias/duplicate"}, "properties": {"repobilityId": "0e2e414751f9ed74", "scanner": "scanner-primary", "fingerprint": "ef7a15868977421a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7a009b1a56794f45", "level": "note", "message": {"text": "Unused endpoint: POST /"}, "properties": {"repobilityId": "1e0c48fb6248cfde", "scanner": "scanner-primary", "fingerprint": "7a009b1a56794f45", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7a61c112b611f4bb", "level": "note", "message": {"text": "Unused endpoint: DELETE /:id"}, "properties": {"repobilityId": "8f177db8538ff9f6", "scanner": "scanner-primary", "fingerprint": "7a61c112b611f4bb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-52c85377cc38e474", "level": "note", "message": {"text": "Unused endpoint: POST /batch"}, "properties": {"repobilityId": "c88fbf86b0b77dcc", "scanner": "scanner-primary", "fingerprint": "52c85377cc38e474", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3be912c6187ea599", "level": "note", "message": {"text": "Unused endpoint: GET /runs"}, "properties": {"repobilityId": "bcb02b939834eaae", "scanner": "scanner-primary", "fingerprint": "3be912c6187ea599", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5b4d8b5420aeee16", "level": "note", "message": {"text": "Unused endpoint: GET /branches"}, "properties": {"repobilityId": "ec504fbe79879e5e", "scanner": "scanner-primary", "fingerprint": "5b4d8b5420aeee16", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7022d6340ef8fdff", "level": "note", "message": {"text": "Unused endpoint: GET /plan-files"}, "properties": {"repobilityId": "219316b603441dd2", "scanner": "scanner-primary", "fingerprint": "7022d6340ef8fdff", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-38725e00fb54d3e1", "level": "note", "message": {"text": "Unused endpoint: USE /settings/model-env"}, "properties": {"repobilityId": "73fe6ade76cae3e2", "scanner": "scanner-primary", "fingerprint": "38725e00fb54d3e1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f6f3749f9dcc0540", "level": "note", "message": {"text": "Unused endpoint: USE /models"}, "properties": {"repobilityId": "50f16b7756b1bb59", "scanner": "scanner-primary", "fingerprint": "f6f3749f9dcc0540", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-924ea11244b48a04", "level": "note", "message": {"text": "Unused endpoint: GET /setup/preflight"}, "properties": {"repobilityId": "8a4d5460a804717b", "scanner": "scanner-primary", "fingerprint": "924ea11244b48a04", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3c0a29fed4da99a7", "level": "note", "message": {"text": "Unused endpoint: POST /setup/apply"}, "properties": {"repobilityId": "123560e946591389", "scanner": "scanner-primary", "fingerprint": "3c0a29fed4da99a7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-512ccb0fd0b230ba", "level": "note", "message": {"text": "Unused endpoint: GET /settings"}, "properties": {"repobilityId": "384fb2aa66826d87", "scanner": "scanner-primary", "fingerprint": "512ccb0fd0b230ba", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0db5afc04ec3e1b7", "level": "note", "message": {"text": "Unused endpoint: GET /effective-settings"}, "properties": {"repobilityId": "bb07ddb130ff31a9", "scanner": "scanner-primary", "fingerprint": "0db5afc04ec3e1b7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d9fbbfd361e91f1e", "level": "note", "message": {"text": "Unused endpoint: POST /settings"}, "properties": {"repobilityId": "d04485b3f728a2e2", "scanner": "scanner-primary", "fingerprint": "d9fbbfd361e91f1e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0cb23eaf1e3274f4", "level": "note", "message": {"text": "Unused endpoint: DELETE /settings/:section"}, "properties": {"repobilityId": "71175103640eddb3", "scanner": "scanner-primary", "fingerprint": "0cb23eaf1e3274f4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6b3fb055f2565905", "level": "note", "message": {"text": "Unused endpoint: GET /runs/:runId/status"}, "properties": {"repobilityId": "7cb8727283bb547b", "scanner": "scanner-primary", "fingerprint": "6b3fb055f2565905", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3d1e56eb520b0f57", "level": "note", "message": {"text": "Unused endpoint: GET /runs/:runId/plan-iterations"}, "properties": {"repobilityId": "8bb07ca2421d9913", "scanner": "scanner-primary", "fingerprint": "3d1e56eb520b0f57", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f758c9f03c5190eb", "level": "note", "message": {"text": "Unused endpoint: GET /runs/:runId/plan"}, "properties": {"repobilityId": "c433fc5d9bad9729", "scanner": "scanner-primary", "fingerprint": "f758c9f03c5190eb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9daeb7b1a43e9733", "level": "note", "message": {"text": "Unused endpoint: POST /runs"}, "properties": {"repobilityId": "2f26f66db7c55063", "scanner": "scanner-primary", "fingerprint": "9daeb7b1a43e9733", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ba82b9d0d41109f8", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/pause"}, "properties": {"repobilityId": "ef52031159a290a6", "scanner": "scanner-primary", "fingerprint": "ba82b9d0d41109f8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-94d4ded01d41ea30", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/resume"}, "properties": {"repobilityId": "72c4b3ae079d8a0c", "scanner": "scanner-primary", "fingerprint": "94d4ded01d41ea30", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-df3a2b9385f8beda", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/stop"}, "properties": {"repobilityId": "cc770ec4cab1d8d7", "scanner": "scanner-primary", "fingerprint": "df3a2b9385f8beda", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-427fabb5ac8ed837", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/cancel"}, "properties": {"repobilityId": "12aee75b29e1ff70", "scanner": "scanner-primary", "fingerprint": "427fabb5ac8ed837", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-291ecf6921fd66e6", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/control"}, "properties": {"repobilityId": "4a538971f9d41de7", "scanner": "scanner-primary", "fingerprint": "291ecf6921fd66e6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1fd5a010e5378651", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/archive"}, "properties": {"repobilityId": "898017a1a87a4594", "scanner": "scanner-primary", "fingerprint": "1fd5a010e5378651", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-28d5563b7e915de7", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/unarchive"}, "properties": {"repobilityId": "9432b12a71d74959", "scanner": "scanner-primary", "fingerprint": "28d5563b7e915de7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d061b850da991e8c", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/delete"}, "properties": {"repobilityId": "918b9723148a160b", "scanner": "scanner-primary", "fingerprint": "d061b850da991e8c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-99e61ac3cce1a7c9", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/stages/:stage/restart"}, "properties": {"repobilityId": "7b3dab124eaab9f1", "scanner": "scanner-primary", "fingerprint": "99e61ac3cce1a7c9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0261d2b235e48a08", "level": "note", "message": {"text": "Unused endpoint: POST /runs/:id/learn"}, "properties": {"repobilityId": "c248276885a94201", "scanner": "scanner-primary", "fingerprint": "0261d2b235e48a08", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ac6fb0974ea7b97f", "level": "note", "message": {"text": "Unused endpoint: GET /worca-status"}, "properties": {"repobilityId": "db7d2c430acb0ab3", "scanner": "scanner-primary", "fingerprint": "ac6fb0974ea7b97f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2e45220fdf223e56", "level": "note", "message": {"text": "Unused endpoint: POST /worca-setup"}, "properties": {"repobilityId": "4d2ba19ac0f4e8a3", "scanner": "scanner-primary", "fingerprint": "2e45220fdf223e56", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bf4355567ef07cfb", "level": "note", "message": {"text": "Unused endpoint: GET /costs"}, "properties": {"repobilityId": "98af31201bf023d4", "scanner": "scanner-primary", "fingerprint": "bf4355567ef07cfb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-98ab7639623b8e30", "level": "note", "message": {"text": "Unused endpoint: GET /beads/issues"}, "properties": {"repobilityId": "4f3c811e50997777", "scanner": "scanner-primary", "fingerprint": "98ab7639623b8e30", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-52e0d6312db8cf6c", "level": "note", "message": {"text": "Unused endpoint: POST /beads/issues/:id/start"}, "properties": {"repobilityId": "fcb3cbf54593c386", "scanner": "scanner-primary", "fingerprint": "52e0d6312db8cf6c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dde3adb27bf7eebe", "level": "note", "message": {"text": "Unused endpoint: USE /api"}, "properties": {"repobilityId": "c290c9f2cb7dd109", "scanner": "scanner-primary", "fingerprint": "dde3adb27bf7eebe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7aa66c8a2cc80a29", "level": "note", "message": {"text": "Unused endpoint: GET /api/beads/issues"}, "properties": {"repobilityId": "aeb19427f25545e7", "scanner": "scanner-primary", "fingerprint": "7aa66c8a2cc80a29", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b35c31ab0f7e0fa2", "level": "note", "message": {"text": "Unused endpoint: POST /api/beads/issues/:id/start"}, "properties": {"repobilityId": "5f1d4a458f285224", "scanner": "scanner-primary", "fingerprint": "b35c31ab0f7e0fa2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-81b555e4b2b828c8", "level": "note", "message": {"text": "Unused endpoint: POST /api/webhooks/inbox"}, "properties": {"repobilityId": "52ac904222db89d6", "scanner": "scanner-primary", "fingerprint": "81b555e4b2b828c8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fc4f7f713fe97151", "level": "note", "message": {"text": "Unused endpoint: GET /api/webhooks/inbox"}, "properties": {"repobilityId": "3f52a8cb9582d098", "scanner": "scanner-primary", "fingerprint": "fc4f7f713fe97151", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c802a661afedd421", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/webhooks/inbox"}, "properties": {"repobilityId": "4718446a2d352ed7", "scanner": "scanner-primary", "fingerprint": "c802a661afedd421", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-667411331863d4ec", "level": "note", "message": {"text": "Unused endpoint: GET /api/webhooks/inbox/control"}, "properties": {"repobilityId": "8e26959de68298ae", "scanner": "scanner-primary", "fingerprint": "667411331863d4ec", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b00e0f21649112c3", "level": "note", "message": {"text": "Unused endpoint: PUT /api/webhooks/inbox/control"}, "properties": {"repobilityId": "48962123aabe0e0a", "scanner": "scanner-primary", "fingerprint": "b00e0f21649112c3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}