{"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-83880de202aa6ddf", "name": "Possibly dead Python function: build_repaired_arxiv_wrapper_definition", "shortDescription": {"text": "Possibly dead Python function: build_repaired_arxiv_wrapper_definition"}, "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-a978e849fca4c1ab", "name": "Possibly dead Python function: parse_feature_version", "shortDescription": {"text": "Possibly dead Python function: parse_feature_version"}, "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-962e8ce3f820ff25", "name": "Possibly dead Python function: open_folder", "shortDescription": {"text": "Possibly dead Python function: open_folder"}, "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-ffdbb4bb1c41a3ba", "name": "Possibly dead Python function: save_to_drive", "shortDescription": {"text": "Possibly dead Python function: save_to_drive"}, "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-fc52edb5aff52011", "name": "Possibly dead Python function: iterate_files_in_folder", "shortDescription": {"text": "Possibly dead Python function: iterate_files_in_folder"}, "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-09518d9c81595f10", "name": "Possibly dead Python function: delete_file_from_drive", "shortDescription": {"text": "Possibly dead Python function: delete_file_from_drive"}, "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-628407f3e7890a9a", "name": "Possibly dead Python function: run_onboarding_workflow", "shortDescription": {"text": "Possibly dead Python function: run_onboarding_workflow"}, "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-fdf77106902eeaf7", "name": "Possibly dead Python function: check_server_and_open", "shortDescription": {"text": "Possibly dead Python function: check_server_and_open"}, "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-8f9aeea180c1b194", "name": "Possibly dead Python function: fetch_issue", "shortDescription": {"text": "Possibly dead Python function: fetch_issue"}, "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-ca7c15cbe6df51ce", "name": "Possibly dead Python function: disable", "shortDescription": {"text": "Possibly dead Python function: disable"}, "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-b1f3facc1cdc586d", "name": "Possibly dead Python function: extend_catalogue", "shortDescription": {"text": "Possibly dead Python function: extend_catalogue"}, "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-9189a95f91d84e32", "name": "Possibly dead Python function: shutdown_arxiv_proxy", "shortDescription": {"text": "Possibly dead Python function: shutdown_arxiv_proxy"}, "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-71560b101d9e9a00", "name": "Possibly dead Python function: iter_exposed_tool_names", "shortDescription": {"text": "Possibly dead Python function: iter_exposed_tool_names"}, "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-660b704b8b139c99", "name": "Possibly dead Python function: visibility_relationship_field", "shortDescription": {"text": "Possibly dead Python function: visibility_relationship_field"}, "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-3ab16024ec54547e", "name": "Possibly dead Python function: has_permission", "shortDescription": {"text": "Possibly dead Python function: has_permission"}, "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-4be37746d46ae01e", "name": "Possibly dead Python function: safe_strip", "shortDescription": {"text": "Possibly dead Python function: safe_strip"}, "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-a41694c3d0a3f45d", "name": "Possibly dead Python function: log_knowledge_interaction", "shortDescription": {"text": "Possibly dead Python function: log_knowledge_interaction"}, "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-fd414e8b21372834", "name": "Possibly dead Python function: dummy_list_models_func", "shortDescription": {"text": "Possibly dead Python function: dummy_list_models_func"}, "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-674a7a148ef9d812", "name": "Possibly dead Python function: dummy_generate_func", "shortDescription": {"text": "Possibly dead Python function: dummy_generate_func"}, "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-cd14ffa9ec3861c0", "name": "Possibly dead Python function: sort_key", "shortDescription": {"text": "Possibly dead Python function: sort_key"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b6e0eaadff482ff", "name": "Possibly dead Python function: cleanup_old_states", "shortDescription": {"text": "Possibly dead Python function: cleanup_old_states"}, "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-49bb44297a2bb0a2", "name": "Possibly dead Python function: ticker", "shortDescription": {"text": "Possibly dead Python function: ticker"}, "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-afbffbf66cdf26d5", "name": "Possibly dead Python function: mark", "shortDescription": {"text": "Possibly dead Python function: mark"}, "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-ac5372ee07597f88", "name": "Possibly dead Python function: is_debug_payload_blob_ref", "shortDescription": {"text": "Possibly dead Python function: is_debug_payload_blob_ref"}, "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-f0c53a3a65a22157", "name": "Possibly dead Python function: list_types", "shortDescription": {"text": "Possibly dead Python function: list_types"}, "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-2b3debc4ac76f68d", "name": "Possibly dead Python function: search_types", "shortDescription": {"text": "Possibly dead Python function: search_types"}, "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-911bc6500a6c5325", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/tabNavigation.js:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/tabNavigation.js:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3030a6028241a2f7", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/predicateView.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/predicateView.js:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0b73cc83e7c38508", "name": "TODO/FIXME marker in shipping code \u2014 src/frontend/web/von_interface/static/js/conceptTab.js:981", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/frontend/web/von_interface/static/js/conceptTab.js:981"}, "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-fe3997117c39aeca", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/conceptTab.js:723", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/conceptTab.js:723"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-32b30d6df3edd1c6", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/importExportTab.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/importExportTab.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-d5f36341b4a55a0f", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/dynamicTabs.js:588", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/dynamicTabs.js:588"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-549eca211b8d3323", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/vontology.js:412", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/vontology.js:412"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7bf008b855893032", "name": "TODO/FIXME marker in shipping code \u2014 src/frontend/web/von_interface/static/js/chat.js:152", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/frontend/web/von_interface/static/js/chat.js:152"}, "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-79bd7744258f1e57", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/annotationTab.js:551", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/annotationTab.js:551"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f506a9ee388b8cc", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/state.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/state.js:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79cfcd9280af2711", "name": "TODO/FIXME marker in shipping code \u2014 src/frontend/web/von_interface/static/js/main.js:161", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 src/frontend/web/von_interface/static/js/main.js:161"}, "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-8f017b87181bad32", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/main.js:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/main.js:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6236d910cad6b94d", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/domUtils.js:229", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/domUtils.js:229"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e0cf39ee43d27790", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/settingsPage.js:3129", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/settingsPage.js:3129"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6604ec3cd51c0bce", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/test/languageConfigTest.js:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/test/languageConfigTest.js:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a27fe57ab735b323", "name": "Icon-only button without accessible name \u2014 src/frontend/web/von_interface/static/js/test/chatTab.test.js:5540", "shortDescription": {"text": "Icon-only button without accessible name \u2014 src/frontend/web/von_interface/static/js/test/chatTab.test.js:5540"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac5702312a6580a5", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/orgSelector.js:378", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/orgSelector.js:378"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c0ee1c5d0f77a47", "name": "Icon-only button without accessible name \u2014 src/frontend/web/von_interface/static/js/components/messagePanel.js:156", "shortDescription": {"text": "Icon-only button without accessible name \u2014 src/frontend/web/von_interface/static/js/components/messagePanel.js:156"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07c5c2460174a8f9", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/messagePanel.js:54", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/messagePanel.js:54"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-633c19509a22bc7b", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/conceptAutocomplete.js:232", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/conceptAutocomplete.js:232"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c4fc85ae3537a7b", "name": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/taskPanel.js:540", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/taskPanel.js:540"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4f13e24388f5989b", "name": "Stray `console.log` in TS/JS \u2014 src/backend/db/playground-1.mongodb.js:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/backend/db/playground-1.mongodb.js:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5204afaab8592682", "name": "Insecure pattern 'node_child_process' in scripts/lint_frontend_static.cjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/lint_frontend_static.cjs: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-e6de4efcb4a27fc2", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/settings.js:58", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/settings.js:58"}, "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-005395f4cd97b115", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/tabNavigation.js:179", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/tabNavigation.js:179"}, "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-3ab4849382921a39", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/workflowStudioPage.js:382", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/workflowStudioPage.js:382"}, "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-d7953246705e6617", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/predicateView.js:73", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/predicateView.js:73"}, "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-850c57f1de850955", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/conceptTab.js:23", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/conceptTab.js:23"}, "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-998839b9b1db663c", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/languageConfig.js:71", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/languageConfig.js:71"}, "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-c807276780ae3f62", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/importExportTab.js:862", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/importExportTab.js:862"}, "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-2a398c0501cba8c1", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/dynamicTabs.js:661", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/dynamicTabs.js:661"}, "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-5eced70d6b30a23f", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/vontology.js:781", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/vontology.js:781"}, "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-e85b57ee8d37da77", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/chat.js:83", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/chat.js:83"}, "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-a2d7f1f75f73ce0f", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/predicateMetadataPanel.js:51", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/predicateMetadataPanel.js:51"}, "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-1f38da4d3357f4c6", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/annotationTab.js:211", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/annotationTab.js:211"}, "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-093ef45324917cc5", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/main.js:1277", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/main.js:1277"}, "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-3afc77a42d3b0286", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/domUtils.js:186", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/domUtils.js:186"}, "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-e0fa7169a5bfb457", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/predicateExtentDisplay.js:211", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/predicateExtentDisplay.js:211"}, "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-169000841ddfbdd5", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/settingsPage.js:551", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/settingsPage.js:551"}, "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-24b95ef1a03d3e2e", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/utils/jsonInspector.js:255", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/utils/jsonInspector.js:255"}, "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-5470fc9cdfd5b87b", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/utils/selectConceptByIdHandle", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/utils/selectConceptByIdHandler.js:617"}, "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-70fc28dd42b64153", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/utils/textDecorator.js:307", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/utils/textDecorator.js:307"}, "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-b5599ae2b661ffb4", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/paperRecommendatio", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/paperRecommendationProfilePanel.js:42"}, "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-0931d48e815b98c5", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/orgSelector.js:65", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/orgSelector.js:65"}, "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-7830467c4ccf4593", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/messagePanel.js:10", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/messagePanel.js:103"}, "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-e14d6e5b741c3e92", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/conceptAutocomplet", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/conceptAutocomplete.js:161"}, "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-137ac0b9be9d0aa2", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/conceptSummaryRend", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/conceptSummaryRendererPanel.js:95"}, "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-5ba79005d380336e", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/taskPanel.js:324", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/taskPanel.js:324"}, "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-695c372f096f0ba7", "name": "Insecure pattern 'debug_true' in src/workflows/von/main.py:447", "shortDescription": {"text": "Insecure pattern 'debug_true' in src/workflows/von/main.py:447"}, "fullDescription": {"text": "Found a known-risky pattern (debug_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ecfc34ee8cca134d", "name": "Insecure pattern 'debug_true' in src/backend/server/utils_flask.py:4070", "shortDescription": {"text": "Insecure pattern 'debug_true' in src/backend/server/utils_flask.py:4070"}, "fullDescription": {"text": "Found a known-risky pattern (debug_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8d9ded98bd48f751", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-160cc42ece489481", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c27afd4ea554884b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53543d5435ae0543", "name": "Very large file: run.sh (3083 lines)", "shortDescription": {"text": "Very large file: run.sh (3083 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac059dde3f4aa86e", "name": "Very large file: tests/test_run_live_kb_tool_prompt_sampler.py (2650 lines)", "shortDescription": {"text": "Very large file: tests/test_run_live_kb_tool_prompt_sampler.py (2650 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d4a2137cd5df3173", "name": "Very large file: tests/frontend/chatTabSpeechPlanning.test.js (1279 lines)", "shortDescription": {"text": "Very large file: tests/frontend/chatTabSpeechPlanning.test.js (1279 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da1330c8e892bf72", "name": "Very large file: tests/backend/test_von_generate_authenticated_identity_routing.py (2926 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_von_generate_authenticated_identity_routing.py (2926 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4decefe70816f856", "name": "Very large file: tests/backend/test_workflow_purity_report.py (1513 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_workflow_purity_report.py (1513 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-987b982eb2ab3b73", "name": "Very large file: tests/backend/test_workflow_discovery_service.py (1998 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_workflow_discovery_service.py (1998 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb5acda6e592b051", "name": "Very large file: tests/backend/test_orchestrator_extraction.py (1986 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_orchestrator_extraction.py (1986 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-139e3895e9788ab0", "name": "Very large file: tests/backend/test_conversation_turn_workflow_vontology_service.py (1741 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_conversation_turn_workflow_vontology_service.py (1741 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c1170934d8d24aa", "name": "Very large file: tests/backend/test_turn_execution_record_service_execution_summary.py (2382 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_turn_execution_record_service_execution_summary.py (2382 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c37dae4945e4fe98", "name": "Very large file: tests/backend/test_von_generate_presenter_protocol.py (2240 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_von_generate_presenter_protocol.py (2240 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1811e18ca25e833", "name": "Very large file: tests/backend/test_orchestrator_structured_calling.py (2273 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_orchestrator_structured_calling.py (2273 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7aeda5d4925188d7", "name": "Very large file: tests/backend/test_vontology_loader.py (3391 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_vontology_loader.py (3391 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc76bcc8d0ac9c0b", "name": "Very large file: tests/backend/test_paper_representation_workflow_vontology_service.py (2644 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_paper_representation_workflow_vontology_service.py (2644 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ffe0eb09fd2a395c", "name": "Very large file: tests/backend/test_internal_mcp_orchestrator_preflight.py (2120 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_internal_mcp_orchestrator_preflight.py (2120 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b791a6386cf53f1d", "name": "Very large file: tests/backend/test_workflows_routes.py (1718 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_workflows_routes.py (1718 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb7c02d3ac7ad20f", "name": "Very large file: tests/backend/test_workflow_concept_authority_service.py (1557 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_workflow_concept_authority_service.py (1557 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ad7707657107eeb", "name": "Very large file: tests/backend/test_tool_progress_liveness.py (3484 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_tool_progress_liveness.py (3484 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f785b24525d3c5cf", "name": "Very large file: tests/backend/test_orchestrator_model_fallback_execution.py (2446 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_orchestrator_model_fallback_execution.py (2446 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-99219e09e23c59d6", "name": "Very large file: tests/backend/test_durable_workflow_executor_safety.py (1593 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_durable_workflow_executor_safety.py (1593 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b6e760c372cb6d3", "name": "Very large file: tests/backend/test_llm_step_executor.py (1573 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_llm_step_executor.py (1573 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-745dd87a44041232", "name": "Very large file: tests/backend/test_display_elements_service.py (2354 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_display_elements_service.py (2354 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7e85bf10a2a61df9", "name": "Very large file: tests/backend/test_internal_mcp_workflow_tools.py (2516 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_internal_mcp_workflow_tools.py (2516 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b0d4347848da2e97", "name": "Very large file: tests/backend/test_orchestrator_missing_tool_call_retry_arxiv.py (3429 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_orchestrator_missing_tool_call_retry_arxiv.py (3429 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-654ce35a263a864a", "name": "Very large file: tests/backend/test_task_management_service.py (1551 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_task_management_service.py (1551 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-144af0f5538f5c1f", "name": "Very large file: tests/backend/test_workflow_creation_workflow.py (1409 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_workflow_creation_workflow.py (1409 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e0c9807c20997f9e", "name": "Very large file: tests/backend/test_workflow_instance_submission_service.py (1480 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_workflow_instance_submission_service.py (1480 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-579316aeb664cbac", "name": "Very large file: tests/backend/test_rag_turn_execution_records_mcp_read_tools.py (2939 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_rag_turn_execution_records_mcp_read_tools.py (2939 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e49fa9ceebc72272", "name": "Very large file: tests/backend/test_turn_execution_required_effects_contract.py (2102 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_turn_execution_required_effects_contract.py (2102 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8f489aa55dd0f9f", "name": "Very large file: tests/backend/test_orchestrator_supervised_turn_reporting.py (3013 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_orchestrator_supervised_turn_reporting.py (3013 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-942baf9a52c39607", "name": "Very large file: tests/backend/test_turn_execution_workflow_definitions.py (1866 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_turn_execution_workflow_definitions.py (1866 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6b43179db783cbe", "name": "Very large file: tests/backend/test_turn_execution_selected_workflow_output_propagation.py (1401 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_turn_execution_selected_workflow_output_propagation.py (1401 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2393c8ee8b765ae", "name": "Very large file: tests/backend/test_durable_workflow_system.py (1810 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_durable_workflow_system.py (1810 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-748aaecdc427ecfe", "name": "Very large file: tests/backend/test_orchestrator_turn_execution_gate.py (1947 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_orchestrator_turn_execution_gate.py (1947 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47bff80987837d70", "name": "Very large file: tests/backend/test_orchestrator_custom_workflow_dispatch.py (1590 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_orchestrator_custom_workflow_dispatch.py (1590 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5bbf0806341aa362", "name": "Very large file: tests/backend/test_von_generate_render_plan_debug.py (1532 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_von_generate_render_plan_debug.py (1532 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-def1394a393289be", "name": "Very large file: tests/backend/test_workflow_capability_service.py (1584 lines)", "shortDescription": {"text": "Very large file: tests/backend/test_workflow_capability_service.py (1584 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-03c8aab8f6e5d02e", "name": "Very large file: scripts/run_live_kb_tool_prompt_sampler.py (4646 lines)", "shortDescription": {"text": "Very large file: scripts/run_live_kb_tool_prompt_sampler.py (4646 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b715a54d5549736f", "name": "Very large file: src/frontend/web/von_interface/static/js/workflowStudioPage.js (1555 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/workflowStudioPage.js (1555 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a950fe06ef7671f", "name": "Very large file: src/frontend/web/von_interface/static/js/conceptTab.js (3901 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/conceptTab.js (3901 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd8599eb0506c204", "name": "Very large file: src/frontend/web/von_interface/static/js/dynamicTabs.js (7792 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/dynamicTabs.js (7792 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-115a4302770bb05b", "name": "Very large file: src/frontend/web/von_interface/static/js/vontology.js (4959 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/vontology.js (4959 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49e169788b0e892d", "name": "Very large file: src/frontend/web/von_interface/static/js/annotationTab.js (1370 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/annotationTab.js (1370 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71feec833e4f6314", "name": "Very large file: src/frontend/web/von_interface/static/js/main.js (2336 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/main.js (2336 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d81fbdd364db766d", "name": "Very large file: src/frontend/web/von_interface/static/js/domUtils.js (1485 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/domUtils.js (1485 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee03289245c12d53", "name": "Very large file: src/frontend/web/von_interface/static/js/settingsPage.js (4715 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/settingsPage.js (4715 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9e25dac2fd1d1134", "name": "Very large file: src/frontend/web/von_interface/static/js/test/chatTab.test.js (9584 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/test/chatTab.test.js (9584 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-586b4177fe5e9ae7", "name": "Very large file: src/frontend/web/von_interface/static/js/utils/selectConceptByIdHandler.js (1284 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/utils/selectConceptByIdHandler.js (1284 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8944ce055cc5b4bf", "name": "Very large file: src/frontend/web/von_interface/static/js/components/taskPanel.js (2802 lines)", "shortDescription": {"text": "Very large file: src/frontend/web/von_interface/static/js/components/taskPanel.js (2802 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13d81e5ae131bda4", "name": "Very large file: src/backend/server/utils_flask.py (4070 lines)", "shortDescription": {"text": "Very large file: src/backend/server/utils_flask.py (4070 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ae670d2d88e2ac1", "name": "Very large file: src/backend/server/routes/workflows_routes.py (2099 lines)", "shortDescription": {"text": "Very large file: src/backend/server/routes/workflows_routes.py (2099 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-884d02a3347299dc", "name": "Very large file: src/backend/server/routes/von_routes.py (18616 lines)", "shortDescription": {"text": "Very large file: src/backend/server/routes/von_routes.py (18616 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1058923c997d493f", "name": "Very large file: src/backend/server/routes/concept_routes.py (1477 lines)", "shortDescription": {"text": "Very large file: src/backend/server/routes/concept_routes.py (1477 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d0037437d0f6cca", "name": "Very large file: src/backend/server/routes/settings_routes.py (3326 lines)", "shortDescription": {"text": "Very large file: src/backend/server/routes/settings_routes.py (3326 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-21e9e2364d52d43b", "name": "Very large file: src/backend/server/routes/vontology_routes.py (5579 lines)", "shortDescription": {"text": "Very large file: src/backend/server/routes/vontology_routes.py (5579 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11f38b2a48bc4db3", "name": "Very large file: src/backend/services/workflow_discovery_service.py (2630 lines)", "shortDescription": {"text": "Very large file: src/backend/services/workflow_discovery_service.py (2630 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54285a3ceeca089a", "name": "Very large file: src/backend/services/episode_critic_evidence_service.py (2023 lines)", "shortDescription": {"text": "Very large file: src/backend/services/episode_critic_evidence_service.py (2023 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c12b8b70ff9b5a8", "name": "Very large file: src/backend/services/ai_chat_session_ingestion_service.py (1606 lines)", "shortDescription": {"text": "Very large file: src/backend/services/ai_chat_session_ingestion_service.py (1606 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6df7c63fc9b986c4", "name": "Very large file: src/backend/services/concept_relation_service.py (3038 lines)", "shortDescription": {"text": "Very large file: src/backend/services/concept_relation_service.py (3038 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff08e7fd42700df0", "name": "Very large file: src/backend/services/display_elements_service.py (3827 lines)", "shortDescription": {"text": "Very large file: src/backend/services/display_elements_service.py (3827 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b396e486d20d50e", "name": "Very large file: src/backend/services/concept_service.py (4302 lines)", "shortDescription": {"text": "Very large file: src/backend/services/concept_service.py (4302 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-622045a96242a5fb", "name": "Very large file: src/backend/services/turn_execution_diagnostics_service.py (2183 lines)", "shortDescription": {"text": "Very large file: src/backend/services/turn_execution_diagnostics_service.py (2183 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce464021ec176279", "name": "Very large file: src/backend/services/episode_critique_benchmark_service.py (1701 lines)", "shortDescription": {"text": "Very large file: src/backend/services/episode_critique_benchmark_service.py (1701 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d16c11c1c1e08e4e", "name": "Very large file: src/backend/services/concept_search_service.py (1444 lines)", "shortDescription": {"text": "Very large file: src/backend/services/concept_search_service.py (1444 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a608e0fd74c280ab", "name": "Very large file: src/backend/services/paper_recommendation_materialisation_service.py (1654 lines)", "shortDescription": {"text": "Very large file: src/backend/services/paper_recommendation_materialisation_service.py (1654 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-abdcc6a596b31166", "name": "Very large file: src/backend/services/episode_critique_memory_service.py (2038 lines)", "shortDescription": {"text": "Very large file: src/backend/services/episode_critique_memory_service.py (2038 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78288454e183ce19", "name": "Very large file: src/backend/services/failure_case_intake_service.py (1617 lines)", "shortDescription": {"text": "Very large file: src/backend/services/failure_case_intake_service.py (1617 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cfd669d63bba75c4", "name": "Very large file: src/backend/services/settings_service.py (2230 lines)", "shortDescription": {"text": "Very large file: src/backend/services/settings_service.py (2230 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a2b34069238a72b", "name": "Very large file: src/backend/services/mongo_observability_service.py (1476 lines)", "shortDescription": {"text": "Very large file: src/backend/services/mongo_observability_service.py (1476 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-262c3cca542477e6", "name": "Very large file: src/backend/services/workflow_repo_seed_bootstrap.py (1693 lines)", "shortDescription": {"text": "Very large file: src/backend/services/workflow_repo_seed_bootstrap.py (1693 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-65504fd230fd2296", "name": "Very large file: src/backend/services/jira_task_import_service.py (2653 lines)", "shortDescription": {"text": "Very large file: src/backend/services/jira_task_import_service.py (2653 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2313ea4680f7213", "name": "Very large file: src/backend/services/tool_metadata_service.py (2266 lines)", "shortDescription": {"text": "Very large file: src/backend/services/tool_metadata_service.py (2266 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a172e7cbbc2c167d", "name": "Very large file: src/backend/services/experiment_run_service.py (2384 lines)", "shortDescription": {"text": "Very large file: src/backend/services/experiment_run_service.py (2384 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f27528914136ac53", "name": "Very large file: src/backend/services/workflow_event_integration_service.py (1745 lines)", "shortDescription": {"text": "Very large file: src/backend/services/workflow_event_integration_service.py (1745 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-144c10a6ef047159", "name": "Very large file: src/backend/services/task_management_service.py (4736 lines)", "shortDescription": {"text": "Very large file: src/backend/services/task_management_service.py (4736 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48551228265b0bba", "name": "Very large file: src/backend/services/context_bundle_service.py (1763 lines)", "shortDescription": {"text": "Very large file: src/backend/services/context_bundle_service.py (1763 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c223a0202af03c7", "name": "Very large file: src/backend/services/chat_history_service.py (4478 lines)", "shortDescription": {"text": "Very large file: src/backend/services/chat_history_service.py (4478 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6742e6011eed8ad1", "name": "Very large file: src/backend/services/turn_execution_record_service.py (10644 lines)", "shortDescription": {"text": "Very large file: src/backend/services/turn_execution_record_service.py (10644 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1de2f5b6b9795fb0", "name": "Very large file: src/backend/services/workflow_capability_service.py (2695 lines)", "shortDescription": {"text": "Very large file: src/backend/services/workflow_capability_service.py (2695 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35aa0c17e6bab325", "name": "Very large file: src/backend/services/relationship_removal_service.py (1546 lines)", "shortDescription": {"text": "Very large file: src/backend/services/relationship_removal_service.py (1546 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f9db932bf650a42", "name": "Very large file: src/backend/workflows/workflow_concept_authority_service.py (4484 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/workflow_concept_authority_service.py (4484 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3068919980002a81", "name": "Very large file: src/backend/workflows/workflow_definition_identity_service.py (1671 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/workflow_definition_identity_service.py (1671 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2aceba6e5ee71420", "name": "Very large file: src/backend/workflows/workflow_studio_service.py (2562 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/workflow_studio_service.py (2562 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e534f892b8cc576", "name": "Very large file: src/backend/workflows/engine.py (2452 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/engine.py (2452 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cd863f9c732dd8b1", "name": "Very large file: src/backend/workflows/workflow_selector.py (1682 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/workflow_selector.py (1682 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c05ecfa91366bb5", "name": "Very large file: src/backend/workflows/vontology_loader.py (4429 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/vontology_loader.py (4429 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3023e64fdf0d74c", "name": "Very large file: src/backend/workflows/llm_step_executor.py (2799 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/llm_step_executor.py (2799 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-32852697edbdf54c", "name": "Very large file: src/backend/workflows/write_tool_policy.py (1892 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/write_tool_policy.py (1892 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6f5df17fcaa71f8", "name": "Very large file: src/backend/workflows/workflow_purity_report.py (1891 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/workflow_purity_report.py (1891 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38c62f57979546b6", "name": "Very large file: src/backend/workflows/durable/workflow_creation_workflow.py (2828 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/workflow_creation_workflow.py (2828 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6cb1d91f10e0c48d", "name": "Very large file: src/backend/workflows/durable/turn_execution_runtime_support.py (3848 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/turn_execution_runtime_support.py (3848 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-891555682b3e45df", "name": "Very large file: src/backend/workflows/durable/workflow_instance_submission_service.py (1423 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/workflow_instance_submission_service.py (1423 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-29c56cf72c3444bd", "name": "Very large file: src/backend/workflows/durable/paper_representation_workflow.py (1867 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/paper_representation_workflow.py (1867 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff387f0d817cbb5d", "name": "Very large file: src/backend/workflows/durable/instance_manager.py (2177 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/instance_manager.py (2177 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37e4803412486556", "name": "Very large file: src/backend/workflows/durable/rumination_workflow.py (1631 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/rumination_workflow.py (1631 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-99765adf01c4dcee", "name": "Very large file: src/backend/workflows/durable/registry_factory.py (1629 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/registry_factory.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-fee80a442ba60c10", "name": "Very large file: src/backend/workflows/durable/testing_workflow_actions.py (1385 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/testing_workflow_actions.py (1385 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f589dfb389161b1d", "name": "Very large file: src/backend/workflows/durable/workflow_introspection_maintenance_workflow.py (1748 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/workflow_introspection_maintenance_workflow.py (1748 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9131971b84a32bd4", "name": "Very large file: src/backend/workflows/durable/control_flow_actions.py (1392 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/control_flow_actions.py (1392 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-324a29fe72339068", "name": "Very large file: src/backend/workflows/durable/turn_execution_actions.py (1331 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/turn_execution_actions.py (1331 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb6d22d9266f809f", "name": "Very large file: src/backend/workflows/durable/workflow_gap_recovery_workflow.py (2238 lines)", "shortDescription": {"text": "Very large file: src/backend/workflows/durable/workflow_gap_recovery_workflow.py (2238 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bd3d8aeba3eebcc", "name": "Very large file: src/backend/db/mongo_client.py (1639 lines)", "shortDescription": {"text": "Very large file: src/backend/db/mongo_client.py (1639 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cc7c192b122892d", "name": "Very large file: src/backend/mcp_server/mcp_server.py (1374 lines)", "shortDescription": {"text": "Very large file: src/backend/mcp_server/mcp_server.py (1374 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-81bca0b5f294425f", "name": "Very large file: src/backend/mcp_server/mcp_stdio_server.py (4629 lines)", "shortDescription": {"text": "Very large file: src/backend/mcp_server/mcp_stdio_server.py (4629 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37a437a0c5af6f26", "name": "Very large file: src/backend/languagemodels/llm_interface.py (2220 lines)", "shortDescription": {"text": "Very large file: src/backend/languagemodels/llm_interface.py (2220 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab95c86f7da436f", "name": "Very large file: src/backend/vontology/utils_vontology.py (4542 lines)", "shortDescription": {"text": "Very large file: src/backend/vontology/utils_vontology.py (4542 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1d5c69f6b9af62d4", "name": "57 TODO/FIXME markers", "shortDescription": {"text": "57 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-b3ed68815bca2f8c", "name": "Node manifest has dependencies but no lockfile: package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 1170 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 196 placeholder/mock markers across 42 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-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing lockfile. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e725d2ab884fbd49", "name": "Multiple root agent instruction files without precedence", "shortDescription": {"text": "Multiple root agent instruction files without precedence"}, "fullDescription": {"text": "The repo has multiple top-level AI-coder instruction files. Without precedence rules, different agents may follow different policies."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd02b35bc87d0d78", "name": "Legacy-named symbol `gemma_mail_answer_prompt_v2` in tests/test_run_live_kb_tool_prompt_sampler.py:2133", "shortDescription": {"text": "Legacy-named symbol `gemma_mail_answer_prompt_v2` in tests/test_run_live_kb_tool_prompt_sampler.py:2133"}, "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-2c0bb149c811dbd6", "name": "Legacy-named symbol `list_objects_v2` in tests/test_blob_store.py:518", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in tests/test_blob_store.py:518"}, "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-de2c9c95a377409d", "name": "Legacy-named symbol `_zip_backup` in tests/test_restore_von_db.py:37", "shortDescription": {"text": "Legacy-named symbol `_zip_backup` in tests/test_restore_von_db.py:37"}, "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-2ae140c2f6f2b3cb", "name": "Legacy-named symbol `enable_daily_backup` in tests/test_run_ps1_daily_backup_receipts.py:45", "shortDescription": {"text": "Legacy-named symbol `enable_daily_backup` in tests/test_run_ps1_daily_backup_receipts.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-a26f183ae0dc6356", "name": "Legacy-named symbol `import_url_file_copy` in tests/test_run_authenticated_browser_workflow_replay.py:216", "shortDescription": {"text": "Legacy-named symbol `import_url_file_copy` in tests/test_run_authenticated_browser_workflow_replay.py:216"}, "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-9b1cd80c740a19e5", "name": "Legacy-named symbol `tagged_blocks_v1` in tests/frontend/chatTabLatestLlmExecutionTelemetry.test.js:188", "shortDescription": {"text": "Legacy-named symbol `tagged_blocks_v1` in tests/frontend/chatTabLatestLlmExecutionTelemetry.test.js:188"}, "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-b4e000c9908496d7", "name": "Legacy-named symbol `include_legacy` in tests/frontend/chatSessionAgentCreatedFilter.test.js:202", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/frontend/chatSessionAgentCreatedFilter.test.js:202"}, "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-c71847e1e0393a4a", "name": "Legacy-named symbol `computer_file_copy` in tests/frontend/dynamicTabsFileCopyActions.test.js:67", "shortDescription": {"text": "Legacy-named symbol `computer_file_copy` in tests/frontend/dynamicTabsFileCopyActions.test.js:67"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-67b6011a7212662f", "name": "Legacy-named symbol `von_task_group_filter_v1` in tests/frontend/taskPanelGroupFilters.test.js:152", "shortDescription": {"text": "Legacy-named symbol `von_task_group_filter_v1` in tests/frontend/taskPanelGroupFilters.test.js:152"}, "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-cfa64cc85cc12ee7", "name": "Legacy-named symbol `turn_display_elements_v1` in tests/frontend/chatTabSpeechPlanning.test.js:104", "shortDescription": {"text": "Legacy-named symbol `turn_display_elements_v1` in tests/frontend/chatTabSpeechPlanning.test.js:104"}, "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-fa3962b3dec68ab2", "name": "Legacy-named symbol `wf_backup` in tests/backend/test_experiment_run_service.py:199", "shortDescription": {"text": "Legacy-named symbol `wf_backup` in tests/backend/test_experiment_run_service.py:199"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9e68df3ed9ebb1c4", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_von_generate_authenticated_identity_routing.py:859", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_von_generate_authenticated_identity_routing.py:859"}, "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-2ea360b5779333a1", "name": "Legacy-named symbol `file_copy` in tests/backend/test_workflow_registry_factory_parity.py:478", "shortDescription": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_workflow_registry_factory_parity.py:478"}, "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-51406507dfea726c", "name": "Legacy-named symbol `read_file_copy` in tests/backend/test_orchestrator_extraction.py:62", "shortDescription": {"text": "Legacy-named symbol `read_file_copy` in tests/backend/test_orchestrator_extraction.py:62"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bcb7b78aeff8af75", "name": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in tests/backend/test_orchestrator_minimal_impo", "shortDescription": {"text": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in tests/backend/test_orchestrator_minimal_imposition_runtime_e2e.py:97"}, "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-88c97a224d020cf3", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_conversation_telemetry_locator_service.py:99", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_conversation_telemetry_locator_service.py:99"}, "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-af9da887c81f1e21", "name": "Legacy-named symbol `file_copy` in tests/backend/test_concept_relation_service_uncertainty.py:449", "shortDescription": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_concept_relation_service_uncertainty.py:449"}, "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-18d0e474942eb3b2", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_entity_information_retrieval_workflow_vontology_service.py:12", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_entity_information_retrieval_workflow_vontology_service.py:125"}, "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-0c9bb9cefc2883e8", "name": "Legacy-named symbol `buttonify_prompt_v1` in tests/backend/test_von_generate_presenter_protocol.py:119", "shortDescription": {"text": "Legacy-named symbol `buttonify_prompt_v1` in tests/backend/test_von_generate_presenter_protocol.py:119"}, "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-a583e05ff7e9e095", "name": "Legacy-named symbol `_read_file_copy` in tests/backend/test_representation_intent_cross_domain_regression_suite.py:84", "shortDescription": {"text": "Legacy-named symbol `_read_file_copy` in tests/backend/test_representation_intent_cross_domain_regression_suite.py:84"}, "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-86b084ecbefc3215", "name": "Legacy-named symbol `buttonify_prompt_v1` in tests/backend/test_orchestrator_bespoke_prompt_contracts.py:99", "shortDescription": {"text": "Legacy-named symbol `buttonify_prompt_v1` in tests/backend/test_orchestrator_bespoke_prompt_contracts.py:99"}, "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-283b6fb005d3725c", "name": "Legacy-named symbol `content_type_application_json_computer_file_copy` in tests/backend/test_file_copy_typing_service.py", "shortDescription": {"text": "Legacy-named symbol `content_type_application_json_computer_file_copy` in tests/backend/test_file_copy_typing_service.py:18"}, "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-8dbcc773621edfda", "name": "Legacy-named symbol `vontology_process_graph_v1` in tests/backend/test_vontology_loader.py:75", "shortDescription": {"text": "Legacy-named symbol `vontology_process_graph_v1` in tests/backend/test_vontology_loader.py:75"}, "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-5e6df949ce5cb573", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_internal_mcp_locator_tools.py:20", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_internal_mcp_locator_tools.py:20"}, "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-96a7c73c2e699d95", "name": "Legacy-named symbol `test_arxiv_decide_acquisition_mode_prefers_existing_file_copy` in tests/backend/test_paper_represen", "shortDescription": {"text": "Legacy-named symbol `test_arxiv_decide_acquisition_mode_prefers_existing_file_copy` in tests/backend/test_paper_representation_workflow.py:80"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe354c2b67a61792", "name": "Legacy-named symbol `inline_legacy` in tests/backend/test_description_metadata_preservation.py:64", "shortDescription": {"text": "Legacy-named symbol `inline_legacy` in tests/backend/test_description_metadata_preservation.py:64"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec6a7c31c8a75384", "name": "Legacy-named symbol `import_url_file_copy` in tests/backend/test_paper_representation_workflow_vontology_service.py:1074", "shortDescription": {"text": "Legacy-named symbol `import_url_file_copy` in tests/backend/test_paper_representation_workflow_vontology_service.py:1074"}, "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-3bce9562a3ef222a", "name": "Legacy-named symbol `read_file_copy` in tests/backend/test_von_generate_orchestrator_unavailable_scholarly_fail_closed.p", "shortDescription": {"text": "Legacy-named symbol `read_file_copy` in tests/backend/test_von_generate_orchestrator_unavailable_scholarly_fail_closed.py:20"}, "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-9fe811cc63b8d2d1", "name": "Legacy-named symbol `_read_file_copy` in tests/backend/test_file_copy_ingestion_mcp_tools.py:28", "shortDescription": {"text": "Legacy-named symbol `_read_file_copy` in tests/backend/test_file_copy_ingestion_mcp_tools.py:28"}, "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-8fb3a928a380dd3f", "name": "Legacy-named symbol `import_bytes_file_copy` in tests/backend/test_jira_task_import_service.py:619", "shortDescription": {"text": "Legacy-named symbol `import_bytes_file_copy` in tests/backend/test_jira_task_import_service.py:619"}, "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-8e6edd212b4e8744", "name": "Legacy-named symbol `grounded_tool_path_unused` in tests/backend/test_episode_evaluation_workflow.py:143", "shortDescription": {"text": "Legacy-named symbol `grounded_tool_path_unused` in tests/backend/test_episode_evaluation_workflow.py:143"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ead256171bcbcf0d", "name": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_workflow_continuation_ser", "shortDescription": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_workflow_continuation_service.py:53"}, "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-4becbb24dfcb030d", "name": "Legacy-named symbol `computer_file_copy` in tests/backend/test_von_file_upload_endpoint.py:65", "shortDescription": {"text": "Legacy-named symbol `computer_file_copy` in tests/backend/test_von_file_upload_endpoint.py:65"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d1d72dd0daa653f", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_chat_history_session_summaries_resilience.py:143", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_chat_history_session_summaries_resilience.py:143"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9b53ab575375847e", "name": "Legacy-named symbol `paper_old` in tests/backend/test_paper_recommendation_materialisation_service.py:52", "shortDescription": {"text": "Legacy-named symbol `paper_old` in tests/backend/test_paper_recommendation_materialisation_service.py:52"}, "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-68c1fca5397889c4", "name": "Legacy-named symbol `renderer_filtering_boundary_v1` in tests/backend/test_orchestrator_renderer_applicability.py:51", "shortDescription": {"text": "Legacy-named symbol `renderer_filtering_boundary_v1` in tests/backend/test_orchestrator_renderer_applicability.py:51"}, "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-a7ba9c286ee2d2cf", "name": "Legacy-named symbol `live_prompt_sampler_replay_evaluation_rubric_v1` in tests/backend/test_replay_experiment_support_se", "shortDescription": {"text": "Legacy-named symbol `live_prompt_sampler_replay_evaluation_rubric_v1` in tests/backend/test_replay_experiment_support_services.py:25"}, "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-cb15cdc0736983f2", "name": "Legacy-named symbol `read_file_copy` in tests/backend/test_office_document_extraction.py:1", "shortDescription": {"text": "Legacy-named symbol `read_file_copy` in tests/backend/test_office_document_extraction.py:1"}, "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-cc38b02ae1afcdb8", "name": "Legacy-named symbol `computer_file_copy` in tests/backend/test_catalogue_download_paper_prefers_finalise.py:106", "shortDescription": {"text": "Legacy-named symbol `computer_file_copy` in tests/backend/test_catalogue_download_paper_prefers_finalise.py:106"}, "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-9a9a869ca272f0f8", "name": "Legacy-named symbol `vontology_process_graph_v1` in tests/backend/test_workflows_routes.py:155", "shortDescription": {"text": "Legacy-named symbol `vontology_process_graph_v1` in tests/backend/test_workflows_routes.py:155"}, "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-f671f01aa7b92f0b", "name": "Legacy-named symbol `test_uncertain_relationship_tools_gateway_reject_and_migrate_legacy` in tests/backend/test_internal", "shortDescription": {"text": "Legacy-named symbol `test_uncertain_relationship_tools_gateway_reject_and_migrate_legacy` in tests/backend/test_internal_mcp_uncertain_relationship_tools.py:75"}, "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-a250c3c27a9aa669", "name": "Legacy-named symbol `ai_assisted_programming_chat_session_file_copy` in tests/backend/test_ai_chat_session_ingestion_ser", "shortDescription": {"text": "Legacy-named symbol `ai_assisted_programming_chat_session_file_copy` in tests/backend/test_ai_chat_session_ingestion_service.py:51"}, "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-58404efe01250b40", "name": "Legacy-named symbol `computer_file_copy` in tests/backend/test_von_file_upload_scholarly_integration.py:115", "shortDescription": {"text": "Legacy-named symbol `computer_file_copy` in tests/backend/test_von_file_upload_scholarly_integration.py:115"}, "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-30ae629a6904fc8a", "name": "Legacy-named symbol `file_copy` in tests/backend/test_workflow_event_integration_service.py:333", "shortDescription": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_workflow_event_integration_service.py:333"}, "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-96adf62230d9caa1", "name": "Legacy-named symbol `screen_backfill_from_response_with_operational_summary_v1` in tests/backend/test_tool_progress_live", "shortDescription": {"text": "Legacy-named symbol `screen_backfill_from_response_with_operational_summary_v1` in tests/backend/test_tool_progress_liveness.py:2849"}, "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-ed8fc6960cc43d47", "name": "Legacy-named symbol `grounded_tool_path_unused` in tests/backend/test_episode_critic_evidence_service.py:652", "shortDescription": {"text": "Legacy-named symbol `grounded_tool_path_unused` in tests/backend/test_episode_critic_evidence_service.py:652"}, "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-8e481cd3964d753c", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_internal_mcp_locator_tools_gateway.py:38", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_internal_mcp_locator_tools_gateway.py:38"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-336135db138b569f", "name": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in tests/backend/test_minimal_imposition_runtim", "shortDescription": {"text": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in tests/backend/test_minimal_imposition_runtime_profile_vontology_service.py:12"}, "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-7aa443019ff957c3", "name": "Legacy-named symbol `episode_critique_memory_old` in tests/backend/test_episode_critique_routing_service.py:128", "shortDescription": {"text": "Legacy-named symbol `episode_critique_memory_old` in tests/backend/test_episode_critique_routing_service.py:128"}, "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-548c4e6844cc10f4", "name": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in tests/backend/test_minimal_imposition_benchma", "shortDescription": {"text": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in tests/backend/test_minimal_imposition_benchmark_profile_vontology_service.py:13"}, "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-8f2df45085866d6c", "name": "Legacy-named symbol `test_rewrite_arxiv_resource_workflow_reads_wrapper_file_copy` in tests/backend/test_arxiv_email_pap", "shortDescription": {"text": "Legacy-named symbol `test_rewrite_arxiv_resource_workflow_reads_wrapper_file_copy` in tests/backend/test_arxiv_email_paper_workflow_consistency.py:113"}, "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-daa8171a7c61cd02", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_chat_history_backfill_endpoint.py:193", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_chat_history_backfill_endpoint.py:193"}, "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-75a0a72542797771", "name": "Legacy-named symbol `tagged_blocks_v1` in tests/backend/test_display_elements_service.py:15", "shortDescription": {"text": "Legacy-named symbol `tagged_blocks_v1` in tests/backend/test_display_elements_service.py:15"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d7ed5d7bce4f8fa9", "name": "Legacy-named symbol `materialise_person_representation_for_file_copy` in tests/backend/test_person_file_representation_s", "shortDescription": {"text": "Legacy-named symbol `materialise_person_representation_for_file_copy` in tests/backend/test_person_file_representation_service.py:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc31985f9b56d0b7", "name": "Legacy-named symbol `import_url_file_copy` in tests/backend/test_write_tool_policy.py:61", "shortDescription": {"text": "Legacy-named symbol `import_url_file_copy` in tests/backend/test_write_tool_policy.py:61"}, "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-7cf671ed1a695c5d", "name": "Legacy-named symbol `gmail_tool_evidence_contract_v1` in tests/backend/test_gmail_tool_evidence_contract_vontology_servi", "shortDescription": {"text": "Legacy-named symbol `gmail_tool_evidence_contract_v1` in tests/backend/test_gmail_tool_evidence_contract_vontology_service.py:53"}, "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-dca878cac0a23862", "name": "Legacy-named symbol `file_copy` in tests/backend/test_internal_mcp_workflow_tools.py:2313", "shortDescription": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_internal_mcp_workflow_tools.py:2313"}, "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-53b1ced867c605cf", "name": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in tests/backend/test_von_generate_bare_arxiv_u", "shortDescription": {"text": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in tests/backend/test_von_generate_bare_arxiv_url_integration.py:156"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e5ce27976df534d9", "name": "Legacy-named symbol `computer_file_copy` in tests/backend/test_computer_file_copy_artifact_ingestion.py:43", "shortDescription": {"text": "Legacy-named symbol `computer_file_copy` in tests/backend/test_computer_file_copy_artifact_ingestion.py:43"}, "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-e1edcf7cafd5e9db", "name": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_orchestrator_missing_tool", "shortDescription": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_orchestrator_missing_tool_call_retry_arxiv.py:112"}, "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-9d2eba513aec1554", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_chat_history_length_resilience.py:28", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_chat_history_length_resilience.py:28"}, "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-9274e039ce44f893", "name": "Legacy-named symbol `test_llamaindex_backend_omits_legacy_service_context_kwargs_when_deprecated` in tests/backend/test_", "shortDescription": {"text": "Legacy-named symbol `test_llamaindex_backend_omits_legacy_service_context_kwargs_when_deprecated` in tests/backend/test_rag_namespace_isolation.py:98"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a7fe66f1e0f2b6d", "name": "Legacy-named symbol `task_legacy` in tests/backend/test_task_management_service.py:255", "shortDescription": {"text": "Legacy-named symbol `task_legacy` in tests/backend/test_task_management_service.py:255"}, "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-5621da3ef2258572", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_uncertain_relationship_service.py:50", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_uncertain_relationship_service.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-df9370f3c1892fd1", "name": "Legacy-named symbol `scholarly_paper_file_copy` in tests/backend/test_file_copy_upload_classification_workflow.py:154", "shortDescription": {"text": "Legacy-named symbol `scholarly_paper_file_copy` in tests/backend/test_file_copy_upload_classification_workflow.py:154"}, "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-299b56849ff88b21", "name": "Legacy-named symbol `file_copy` in tests/backend/representation_intent_regression_helpers.py:29", "shortDescription": {"text": "Legacy-named symbol `file_copy` in tests/backend/representation_intent_regression_helpers.py:29"}, "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-97ad449114cc8a12", "name": "Legacy-named symbol `test_fetch_file_copy_bytes_returns_data_for_s3_backed_file_copy` in tests/backend/test_file_copy_re", "shortDescription": {"text": "Legacy-named symbol `test_fetch_file_copy_bytes_returns_data_for_s3_backed_file_copy` in tests/backend/test_file_copy_retrieval_service.py:59"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-41fb4e43a1f74321", "name": "Legacy-named symbol `narration_fallback_v1` in tests/backend/test_von_history_backfill_spoken.py:183", "shortDescription": {"text": "Legacy-named symbol `narration_fallback_v1` in tests/backend/test_von_history_backfill_spoken.py:183"}, "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-f532f2def4d16662", "name": "Legacy-named symbol `tool_evidence_contract_vocabulary_v1` in tests/backend/test_tool_evidence_contract_vontology_servic", "shortDescription": {"text": "Legacy-named symbol `tool_evidence_contract_vocabulary_v1` in tests/backend/test_tool_evidence_contract_vontology_service.py:40"}, "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-609a776a1f2b5b3e", "name": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_mcp_stdio_server_exposes_", "shortDescription": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_mcp_stdio_server_exposes_finalise_cached_paper.py:10"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e052c4e55b5667c", "name": "Legacy-named symbol `payload_copy` in tests/backend/test_internal_mcp_orchestrator_batch_execution.py:59", "shortDescription": {"text": "Legacy-named symbol `payload_copy` in tests/backend/test_internal_mcp_orchestrator_batch_execution.py:59"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9371751a5fa1b79e", "name": "Legacy-named symbol `wf_backup` in tests/backend/test_rag_experiment_runs_mcp_read_tools.py:203", "shortDescription": {"text": "Legacy-named symbol `wf_backup` in tests/backend/test_rag_experiment_runs_mcp_read_tools.py:203"}, "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-3997279c93a8342b", "name": "Legacy-named symbol `_read_file_copy` in tests/backend/test_read_file_copy_tool.py:12", "shortDescription": {"text": "Legacy-named symbol `_read_file_copy` in tests/backend/test_read_file_copy_tool.py:12"}, "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-6fdc8c1dc0a33648", "name": "Legacy-named symbol `grounded_tool_path_unused` in tests/backend/test_episode_critique_memory_service.py:256", "shortDescription": {"text": "Legacy-named symbol `grounded_tool_path_unused` in tests/backend/test_episode_critique_memory_service.py:256"}, "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-040613f7923ff7a2", "name": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in tests/backend/test_minimal_imposition_benchma", "shortDescription": {"text": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in tests/backend/test_minimal_imposition_benchmark_service.py:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-645ffc015e7b62ec", "name": "Legacy-named symbol `presenter_protocol_v1` in tests/backend/test_chat_history_rag_namespace.py:74", "shortDescription": {"text": "Legacy-named symbol `presenter_protocol_v1` in tests/backend/test_chat_history_rag_namespace.py:74"}, "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-cd23f0b5739ac0a6", "name": "Legacy-named symbol `forward_inference_planning_prompt_v1` in tests/backend/test_planning_workflow.py:212", "shortDescription": {"text": "Legacy-named symbol `forward_inference_planning_prompt_v1` in tests/backend/test_planning_workflow.py:212"}, "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-85f178591971b4e5", "name": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in tests/backend/test_rag_turn_execution_records", "shortDescription": {"text": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in tests/backend/test_rag_turn_execution_records_mcp_read_tools.py:345"}, "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-8d769a57a2305ab8", "name": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_turn_execution_required_e", "shortDescription": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_turn_execution_required_effects_contract.py:30"}, "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-d75e9f503c6f0c62", "name": "Legacy-named symbol `interpret_file_copy` in tests/backend/test_orchestrator_continuation_routing.py:230", "shortDescription": {"text": "Legacy-named symbol `interpret_file_copy` in tests/backend/test_orchestrator_continuation_routing.py:230"}, "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-007597b54cc2606d", "name": "Commented-code block (5 lines) in tests/backend/test_orchestrator_continuation_routing.py:772", "shortDescription": {"text": "Commented-code block (5 lines) in tests/backend/test_orchestrator_continuation_routing.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-48bddd7045f2857b", "name": "Commented-code block (5 lines) in tests/backend/test_email_resource_link_extraction_workflow.py:139", "shortDescription": {"text": "Commented-code block (5 lines) in tests/backend/test_email_resource_link_extraction_workflow.py:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-043038edca1d136c", "name": "Legacy-named symbol `synthetic_chat_session_file_copy` in tests/backend/test_ai_chat_session_source_profile_vontology_se", "shortDescription": {"text": "Legacy-named symbol `synthetic_chat_session_file_copy` in tests/backend/test_ai_chat_session_source_profile_vontology_service.py:29"}, "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-027a249dfed70450", "name": "Legacy-named symbol `my_backup` in tests/backend/test_backup_blob_upload.py:225", "shortDescription": {"text": "Legacy-named symbol `my_backup` in tests/backend/test_backup_blob_upload.py:225"}, "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-1bca8398a4821b75", "name": "Legacy-named symbol `materialise_meeting_representation_for_file_copy` in tests/backend/test_meeting_file_representation", "shortDescription": {"text": "Legacy-named symbol `materialise_meeting_representation_for_file_copy` in tests/backend/test_meeting_file_representation_service.py:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-34dee3129ae148d3", "name": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_turn_execution_workflow_d", "shortDescription": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_turn_execution_workflow_definitions.py:1775"}, "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-01a9727de4c45f11", "name": "Legacy-named symbol `interpret_file_copy` in tests/backend/test_file_copy_interpretation_workflow.py:21", "shortDescription": {"text": "Legacy-named symbol `interpret_file_copy` in tests/backend/test_file_copy_interpretation_workflow.py:21"}, "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-35dd1c0850771663", "name": "Legacy-named symbol `test_finalise_cached_paper_uploads_cached_pdf_and_registers_file_copy` in tests/backend/test_finali", "shortDescription": {"text": "Legacy-named symbol `test_finalise_cached_paper_uploads_cached_pdf_and_registers_file_copy` in tests/backend/test_finalise_cached_paper_tool.py:6"}, "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-88ff0b3d82a17f06", "name": "Legacy-named symbol `materialise_company_representation_for_file_copy` in tests/backend/test_company_file_representation", "shortDescription": {"text": "Legacy-named symbol `materialise_company_representation_for_file_copy` in tests/backend/test_company_file_representation_service.py:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38aadcb98493315f", "name": "Legacy-named symbol `include_legacy` in tests/backend/test_failure_case_intake_service.py:48", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_failure_case_intake_service.py:48"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77c9a0cce4998e20", "name": "Legacy-named symbol `import_local_file_copy` in tests/backend/test_internal_mcp_file_copy_ingestion_gateway.py:46", "shortDescription": {"text": "Legacy-named symbol `import_local_file_copy` in tests/backend/test_internal_mcp_file_copy_ingestion_gateway.py:46"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3473b77501d07ff8", "name": "Legacy-named symbol `_fake_import_bytes_file_copy` in tests/backend/test_remote_file_copy_ingestion_service.py:249", "shortDescription": {"text": "Legacy-named symbol `_fake_import_bytes_file_copy` in tests/backend/test_remote_file_copy_ingestion_service.py:249"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-875ca84fa0e509b3", "name": "Legacy-named symbol `file_copy` in tests/backend/test_representation_contract_vontology_service.py:36", "shortDescription": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_representation_contract_vontology_service.py:36"}, "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-00c06519ad8fded8", "name": "Legacy-named symbol `materialise_scholarly_representation_for_arxiv_file_copy` in tests/backend/test_arxiv_paper_link_se", "shortDescription": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_arxiv_file_copy` in tests/backend/test_arxiv_paper_link_service.py:116"}, "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-844f787d979262ca", "name": "Legacy-named symbol `require_file_copy` in tests/backend/test_turn_execution_selected_workflow_output_propagation.py:946", "shortDescription": {"text": "Legacy-named symbol `require_file_copy` in tests/backend/test_turn_execution_selected_workflow_output_propagation.py:946"}, "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-0564ecb3dbfbd2b9", "name": "Legacy-named symbol `pending_alpha_old` in tests/backend/test_durable_workflow_system.py:810", "shortDescription": {"text": "Legacy-named symbol `pending_alpha_old` in tests/backend/test_durable_workflow_system.py:810"}, "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-64df0b615d8421e1", "name": "Legacy-named symbol `s_old` in tests/backend/test_chat_history_service_segments.py:250", "shortDescription": {"text": "Legacy-named symbol `s_old` in tests/backend/test_chat_history_service_segments.py:250"}, "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-5c9e9184ac750543", "name": "Legacy-named symbol `scholarly_paper_file_copy` in tests/backend/test_file_copy_typing_workflow.py:59", "shortDescription": {"text": "Legacy-named symbol `scholarly_paper_file_copy` in tests/backend/test_file_copy_typing_workflow.py:59"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a15f2ff04519bec", "name": "Legacy-named symbol `file_copy` in tests/backend/test_orchestrator_turn_execution_gate.py:98", "shortDescription": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_orchestrator_turn_execution_gate.py:98"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc9b3d8eb29064fe", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check_seed_bundle_version_bumps.py:39", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_seed_bundle_version_bumps.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-bf861baf60e7c0e2", "name": "Legacy-named symbol `recovered_from_backup` in scripts/recover_paper_notes.py:206", "shortDescription": {"text": "Legacy-named symbol `recovered_from_backup` in scripts/recover_paper_notes.py:206"}, "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-c44529c3e345e77f", "name": "Legacy-named symbol `read_file_copy` in scripts/repair_arxiv_email_paper_workflow_consistency.py:52", "shortDescription": {"text": "Legacy-named symbol `read_file_copy` in scripts/repair_arxiv_email_paper_workflow_consistency.py:52"}, "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-15813990cd27a18c", "name": "Legacy-named symbol `extracted_backup` in scripts/restore_von_db.py:87", "shortDescription": {"text": "Legacy-named symbol `extracted_backup` in scripts/restore_von_db.py:87"}, "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-0d3eae3266e720bb", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/restore_von_db.py:275", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/restore_von_db.py:275"}, "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-be40be7374f58024", "name": "Legacy-named symbol `no_backup` in scripts/sync_ai_programming_chat_sessions.py:434", "shortDescription": {"text": "Legacy-named symbol `no_backup` in scripts/sync_ai_programming_chat_sessions.py:434"}, "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-580e923823d1acce", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/pytest_lanes.py:246", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/pytest_lanes.py:246"}, "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-494c31bf2f5f19ba", "name": "Legacy-named symbol `include_legacy` in scripts/run_live_kb_tool_prompt_sampler.py:1124", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in scripts/run_live_kb_tool_prompt_sampler.py:1124"}, "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-d6f21e74cc3f9c12", "name": "Legacy-named symbol `live_prompt_sampler_replay_evaluation_rubric_v1` in scripts/run_replay_suite_report.py:224", "shortDescription": {"text": "Legacy-named symbol `live_prompt_sampler_replay_evaluation_rubric_v1` in scripts/run_replay_suite_report.py:224"}, "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-479bf3b3e42d412c", "name": "Legacy-named symbol `_resolve_blob_store_for_backup` in scripts/backup_von_db.py:297", "shortDescription": {"text": "Legacy-named symbol `_resolve_blob_store_for_backup` in scripts/backup_von_db.py:297"}, "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-738d477a0c9a1a6b", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/backup_von_db.py:378", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/backup_von_db.py:378"}, "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-709f5a27f3f0e8d2", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/check_python_min_syntax.py:64", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_python_min_syntax.py:64"}, "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-0808590fba3a4aff", "name": "Legacy-named symbol `include_legacy` in utilities/backfill_chat_history_namespace.py:8", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in utilities/backfill_chat_history_namespace.py:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6811dd2f53218170", "name": "Commented-code block (8 lines) in src/frontend/web/von_interface/static/js/suppressTooltips.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/frontend/web/von_interface/static/js/suppressTooltips.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-97f121119126d6fd", "name": "Commented-code block (6 lines) in src/frontend/web/von_interface/static/js/apiService.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/frontend/web/von_interface/static/js/apiService.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6dadccaa438b50b9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/apiService.js:53", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/apiService.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-95a4c70a29b8c671", "name": "Commented-code block (6 lines) in src/frontend/web/von_interface/static/js/conceptTab.js:894", "shortDescription": {"text": "Commented-code block (6 lines) in src/frontend/web/von_interface/static/js/conceptTab.js:894"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8e323b97249c6b68", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/conceptTab.js:627", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/conceptTab.js:627"}, "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-20eb06df638e3322", "name": "Commented-code block (5 lines) in src/frontend/web/von_interface/static/js/importExportTab.js:15", "shortDescription": {"text": "Commented-code block (5 lines) in src/frontend/web/von_interface/static/js/importExportTab.js:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1cc05737986e45d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/importExportTab.js:116", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/importExportTab.js:116"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-231e3e81006e4926", "name": "Legacy-named symbol `file_copy` in src/frontend/web/von_interface/static/js/dynamicTabs.js:7351", "shortDescription": {"text": "Legacy-named symbol `file_copy` in src/frontend/web/von_interface/static/js/dynamicTabs.js:7351"}, "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-61b5617ff73e2f80", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/dynamicTabs.js:569", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/dynamicTabs.js:569"}, "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-fe0f25f214af285c", "name": "Commented-code block (7 lines) in src/frontend/web/von_interface/static/js/vontology.js:3338", "shortDescription": {"text": "Commented-code block (7 lines) in src/frontend/web/von_interface/static/js/vontology.js:3338"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e702cb1c8bcb62e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/vontology.js:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/vontology.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-93fb155d4e194a46", "name": "Legacy-named symbol `von_background_tasks_active_v1` in src/frontend/web/von_interface/static/js/backgroundTaskTracker.j", "shortDescription": {"text": "Legacy-named symbol `von_background_tasks_active_v1` in src/frontend/web/von_interface/static/js/backgroundTaskTracker.js:1"}, "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-9cc6a50558b35875", "name": "Commented-code block (15 lines) in src/frontend/web/von_interface/static/js/main.js:2167", "shortDescription": {"text": "Commented-code block (15 lines) in src/frontend/web/von_interface/static/js/main.js:2167"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5651436c609d4b7b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/main.js:1181", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/main.js:1181"}, "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-9756d0cafa979e68", "name": "Legacy-named symbol `von_footer_db_probe_stats_v1` in src/frontend/web/von_interface/static/js/domUtils.js:356", "shortDescription": {"text": "Legacy-named symbol `von_footer_db_probe_stats_v1` in src/frontend/web/von_interface/static/js/domUtils.js:356"}, "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-f3d51ac2732d12c5", "name": "Legacy-named symbol `buttonify_prompt_v1` in src/frontend/web/von_interface/static/js/settingsPage.js:3890", "shortDescription": {"text": "Legacy-named symbol `buttonify_prompt_v1` in src/frontend/web/von_interface/static/js/settingsPage.js:3890"}, "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-535554f1c6cfc63b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/settingsPage.js:1491", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/settingsPage.js:1491"}, "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-35cc4f461fd35fca", "name": "Legacy-named symbol `screen_backfill_from_response_with_operational_summary_v1` in src/frontend/web/von_interface/static", "shortDescription": {"text": "Legacy-named symbol `screen_backfill_from_response_with_operational_summary_v1` in src/frontend/web/von_interface/static/js/test/chatTab.test.js:4571"}, "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-4e8a83d624f3eef0", "name": "Commented-code block (5 lines) in src/frontend/web/von_interface/static/js/utils/nameSelection.js:143", "shortDescription": {"text": "Commented-code block (5 lines) in src/frontend/web/von_interface/static/js/utils/nameSelection.js:143"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eed17e1be5cb11c7", "name": "Commented-code block (9 lines) in src/frontend/web/von_interface/static/js/utils/textDecorator.js:12", "shortDescription": {"text": "Commented-code block (9 lines) in src/frontend/web/von_interface/static/js/utils/textDecorator.js:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fbea2ed0da9d9374", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/components/promptCartoucheOverlay", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/components/promptCartoucheOverlay.js:454"}, "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-0e26306815f78b8f", "name": "Legacy-named symbol `von_task_group_filter_v1` in src/frontend/web/von_interface/static/js/components/taskPanel.js:47", "shortDescription": {"text": "Legacy-named symbol `von_task_group_filter_v1` in src/frontend/web/von_interface/static/js/components/taskPanel.js:47"}, "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-8979c34c38f5ab28", "name": "Commented-code block (5 lines) in src/workflows/von/main.py:385", "shortDescription": {"text": "Commented-code block (5 lines) in src/workflows/von/main.py:385"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd9ac7c187923766", "name": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in src/backend/integrations/internal_mcp/tool_c", "shortDescription": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in src/backend/integrations/internal_mcp/tool_contract_registry.py:122"}, "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-de153f5789c74e8a", "name": "Commented-code block (6 lines) in src/backend/security/role_resolver.py:152", "shortDescription": {"text": "Commented-code block (6 lines) in src/backend/security/role_resolver.py:152"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-435f40773a0d2cf8", "name": "Network/subprocess call without timeout or try/except \u2014 src/backend/utils/pytest_lane_catalogue.py:613", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/backend/utils/pytest_lane_catalogue.py:613"}, "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-4e05a59887a2d7f1", "name": "Commented-code block (7 lines) in src/backend/utils/knowledge_interaction_logger.py:32", "shortDescription": {"text": "Commented-code block (7 lines) in src/backend/utils/knowledge_interaction_logger.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-742ac7af042ae98a", "name": "Legacy-named symbol `canonical_old` in src/backend/utils/concept_id_utils.py:181", "shortDescription": {"text": "Legacy-named symbol `canonical_old` in src/backend/utils/concept_id_utils.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-be620072985d67e1", "name": "Legacy-named symbol `include_legacy` in src/backend/server/utils_flask.py:3009", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in src/backend/server/utils_flask.py:3009"}, "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-71e31794e3c843dc", "name": "Commented-code block (5 lines) in src/backend/server/utils_flask.py:1419", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/server/utils_flask.py:1419"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-916503f6cccbf9c6", "name": "Legacy-named symbol `computer_file_copy` in src/backend/server/routes/von_routes.py:4607", "shortDescription": {"text": "Legacy-named symbol `computer_file_copy` in src/backend/server/routes/von_routes.py:4607"}, "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-044293171ee08fc2", "name": "Commented-code block (7 lines) in src/backend/server/routes/von_routes.py:165", "shortDescription": {"text": "Commented-code block (7 lines) in src/backend/server/routes/von_routes.py:165"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-97386de895d0939a", "name": "Commented-code block (7 lines) in src/backend/server/routes/concept_routes.py:1073", "shortDescription": {"text": "Commented-code block (7 lines) in src/backend/server/routes/concept_routes.py:1073"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1edfbc8b44ecf618", "name": "Commented-code block (6 lines) in src/backend/server/routes/settings_routes.py:355", "shortDescription": {"text": "Commented-code block (6 lines) in src/backend/server/routes/settings_routes.py:355"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-67735fb6dcd5a195", "name": "Commented-code block (6 lines) in src/backend/server/routes/vontology_routes.py:2117", "shortDescription": {"text": "Commented-code block (6 lines) in src/backend/server/routes/vontology_routes.py:2117"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-21eedf2492126745", "name": "Legacy-named symbol `pdf_computer_file_copy` in src/backend/services/file_copy_typing_service.py:87", "shortDescription": {"text": "Legacy-named symbol `pdf_computer_file_copy` in src/backend/services/file_copy_typing_service.py:87"}, "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-84ae50da375cd2fa", "name": "Legacy-named symbol `turn_pipeline_monitoring_background_v1` in src/backend/services/turn_pipeline_monitoring_schedule_b", "shortDescription": {"text": "Legacy-named symbol `turn_pipeline_monitoring_background_v1` in src/backend/services/turn_pipeline_monitoring_schedule_bootstrap_service.py:19"}, "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-9efffe1aea7a2aef", "name": "Legacy-named symbol `file_copy` in src/backend/services/workflow_discovery_service.py:645", "shortDescription": {"text": "Legacy-named symbol `file_copy` in src/backend/services/workflow_discovery_service.py:645"}, "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-2864db0aca37d823", "name": "Commented-code block (6 lines) in src/backend/services/test_concept_merge_service.py:44", "shortDescription": {"text": "Commented-code block (6 lines) in src/backend/services/test_concept_merge_service.py:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-54189ca5de745660", "name": "Legacy-named symbol `grounded_tool_path_unused` in src/backend/services/episode_critic_evidence_service.py:1472", "shortDescription": {"text": "Legacy-named symbol `grounded_tool_path_unused` in src/backend/services/episode_critic_evidence_service.py:1472"}, "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-2e94a067289adfa6", "name": "Commented-code block (9 lines) in src/backend/services/episode_evaluation_workflow_vontology_service.py:245", "shortDescription": {"text": "Commented-code block (9 lines) in src/backend/services/episode_evaluation_workflow_vontology_service.py:245"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-be24bdf0e0c2076c", "name": "Legacy-named symbol `import_local_file_copy` in src/backend/services/ai_chat_session_ingestion_service.py:21", "shortDescription": {"text": "Legacy-named symbol `import_local_file_copy` in src/backend/services/ai_chat_session_ingestion_service.py:21"}, "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-03b47b5494e39e02", "name": "Legacy-named symbol `computer_file_copy` in src/backend/services/computer_file_copy_service.py:178", "shortDescription": {"text": "Legacy-named symbol `computer_file_copy` in src/backend/services/computer_file_copy_service.py:178"}, "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-c572595f7b25727b", "name": "Legacy-named symbol `include_legacy` in src/backend/services/concept_relation_service.py:2566", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/concept_relation_service.py:2566"}, "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-c8271d90d649b462", "name": "Legacy-named symbol `file_copy` in src/backend/services/representation_contract_vontology_service.py:67", "shortDescription": {"text": "Legacy-named symbol `file_copy` in src/backend/services/representation_contract_vontology_service.py:67"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7230115af09e19e", "name": "Legacy-named symbol `turn_display_elements_v1` in src/backend/services/display_elements_service.py:13", "shortDescription": {"text": "Legacy-named symbol `turn_display_elements_v1` in src/backend/services/display_elements_service.py:13"}, "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-f653bb0cedd9f1b9", "name": "Legacy-named symbol `s_copy` in src/backend/services/annotation_extraction_service.py:752", "shortDescription": {"text": "Legacy-named symbol `s_copy` in src/backend/services/annotation_extraction_service.py:752"}, "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-abfefe9bf99b2c9e", "name": "Legacy-named symbol `relations_only_v2` in src/backend/services/concept_service.py:3282", "shortDescription": {"text": "Legacy-named symbol `relations_only_v2` in src/backend/services/concept_service.py:3282"}, "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-d076775b5ef00b60", "name": "Commented-code block (5 lines) in src/backend/services/concept_service.py:7", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/services/concept_service.py: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-e2a1d89327551a5f", "name": "Commented-code block (5 lines) in src/backend/services/workflow_continuation_service.py:25", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/services/workflow_continuation_service.py:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f8c223aad2080e85", "name": "Commented-code block (5 lines) in src/backend/services/turn_execution_diagnostics_service.py:2111", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/services/turn_execution_diagnostics_service.py:2111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73ef492f1de26fe0", "name": "Legacy-named symbol `grounded_tool_path_unused` in src/backend/services/episode_critique_memory_service.py:448", "shortDescription": {"text": "Legacy-named symbol `grounded_tool_path_unused` in src/backend/services/episode_critique_memory_service.py:448"}, "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-029a07cb07bfd3ea", "name": "Legacy-named symbol `parent_specificity_background_v1` in src/backend/services/parent_specificity_schedule_bootstrap_ser", "shortDescription": {"text": "Legacy-named symbol `parent_specificity_background_v1` in src/backend/services/parent_specificity_schedule_bootstrap_service.py:26"}, "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-05381a3c900fa54b", "name": "Legacy-named symbol `include_legacy` in src/backend/services/failure_case_intake_service.py:222", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/failure_case_intake_service.py:222"}, "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-a5ca223871fffeed", "name": "Legacy-named symbol `turn_output_health_v1` in src/backend/services/turn_output_health_service.py:6", "shortDescription": {"text": "Legacy-named symbol `turn_output_health_v1` in src/backend/services/turn_output_health_service.py:6"}, "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-d7a9872a2081b529", "name": "Legacy-named symbol `legacy_document_has_file_copy` in src/backend/services/ai_chat_session_source_profile_vontology_ser", "shortDescription": {"text": "Legacy-named symbol `legacy_document_has_file_copy` in src/backend/services/ai_chat_session_source_profile_vontology_service.py:275"}, "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-a5a258899aacf57d", "name": "Commented-code block (6 lines) in src/backend/services/text_value_service.py:106", "shortDescription": {"text": "Commented-code block (6 lines) in src/backend/services/text_value_service.py:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba96e3d11ed7eaf4", "name": "Commented-code block (5 lines) in src/backend/services/settings_service.py:158", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/services/settings_service.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-339e956110180083", "name": "Commented-code block (5 lines) in src/backend/services/concept_embedding_service.py:566", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/services/concept_embedding_service.py:566"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9280b2391177e22e", "name": "Legacy-named symbol `buttonify_prompt_v1` in src/backend/services/buttonify_service.py:9", "shortDescription": {"text": "Legacy-named symbol `buttonify_prompt_v1` in src/backend/services/buttonify_service.py:9"}, "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-2459e13c1a6e95f1", "name": "Legacy-named symbol `include_legacy` in src/backend/services/relation_elicitation_service.py:122", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/relation_elicitation_service.py:122"}, "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-eb5ccd35090cbaa2", "name": "Legacy-named symbol `tool_evidence_contract_vocabulary_v1` in src/backend/services/tool_evidence_contract_vontology_serv", "shortDescription": {"text": "Legacy-named symbol `tool_evidence_contract_vocabulary_v1` in src/backend/services/tool_evidence_contract_vontology_service.py:25"}, "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-41fefb3b601ce8b0", "name": "Legacy-named symbol `canonical_old` in src/backend/services/concept_rename_service.py:320", "shortDescription": {"text": "Legacy-named symbol `canonical_old` in src/backend/services/concept_rename_service.py:320"}, "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-b2b49726ebf244aa", "name": "Legacy-named symbol `remove_legacy` in src/backend/services/visibility_predicate_migration_service.py:107", "shortDescription": {"text": "Legacy-named symbol `remove_legacy` in src/backend/services/visibility_predicate_migration_service.py:107"}, "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-261f5fe018078f65", "name": "Legacy-named symbol `multilingual_concept_enrichment_background_v1` in src/backend/services/multilingual_concept_enrichm", "shortDescription": {"text": "Legacy-named symbol `multilingual_concept_enrichment_background_v1` in src/backend/services/multilingual_concept_enrichment_schedule_bootstrap_service.py:30"}, "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-188acd024bddb559", "name": "Legacy-named symbol `include_legacy` in src/backend/services/uncertain_relationship_service.py:237", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/uncertain_relationship_service.py:237"}, "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-c6eba0b578f56593", "name": "Legacy-named symbol `import_bytes_file_copy` in src/backend/services/jira_task_import_service.py:1262", "shortDescription": {"text": "Legacy-named symbol `import_bytes_file_copy` in src/backend/services/jira_task_import_service.py:1262"}, "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-21c3ea4da98a76ee", "name": "Legacy-named symbol `include_legacy` in src/backend/services/tool_metadata_service.py:219", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/tool_metadata_service.py:219"}, "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-0eb389cf7d878864", "name": "Commented-code block (5 lines) in src/backend/services/tool_metadata_service.py:180", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/services/tool_metadata_service.py:180"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b71935efbdfa27f1", "name": "Legacy-named symbol `renderer_filtering_boundary_v1` in src/backend/services/renderer_applicability_service.py:71", "shortDescription": {"text": "Legacy-named symbol `renderer_filtering_boundary_v1` in src/backend/services/renderer_applicability_service.py:71"}, "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-1b038e81253a5910", "name": "Legacy-named symbol `file_copy` in src/backend/services/tool_evidence_projection_service.py:177", "shortDescription": {"text": "Legacy-named symbol `file_copy` in src/backend/services/tool_evidence_projection_service.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-5837d094d63f2aba", "name": "Legacy-named symbol `file_copy` in src/backend/services/workflow_event_integration_service.py:63", "shortDescription": {"text": "Legacy-named symbol `file_copy` in src/backend/services/workflow_event_integration_service.py:63"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a947ae42041e11c6", "name": "Network/subprocess call without timeout or try/except \u2014 src/backend/services/repo_dossier_service.py:279", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/backend/services/repo_dossier_service.py:279"}, "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-3d7884b6c90ebcd0", "name": "Legacy-named symbol `import_bytes_file_copy` in src/backend/services/remote_file_copy_ingestion_service.py:16", "shortDescription": {"text": "Legacy-named symbol `import_bytes_file_copy` in src/backend/services/remote_file_copy_ingestion_service.py:16"}, "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-e5ab94e1f35af831", "name": "Commented-code block (5 lines) in src/backend/services/identity_resolution_workflow_request_service.py:24", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/services/identity_resolution_workflow_request_service.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-ebe96693b5522860", "name": "Legacy-named symbol `msword_docx_computer_file_copy` in src/backend/services/file_copy_interpretation_service.py:33", "shortDescription": {"text": "Legacy-named symbol `msword_docx_computer_file_copy` in src/backend/services/file_copy_interpretation_service.py:33"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00a8cb6dfb230aa1", "name": "Legacy-named symbol `include_legacy` in src/backend/services/conversation_telemetry_locator_service.py:114", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/conversation_telemetry_locator_service.py:114"}, "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-5a8c50da5e8b9156", "name": "Legacy-named symbol `_bounded_copy` in src/backend/services/context_bundle_service.py:293", "shortDescription": {"text": "Legacy-named symbol `_bounded_copy` in src/backend/services/context_bundle_service.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-29dca1e67246cb44", "name": "Legacy-named symbol `computer_file_copy` in src/backend/services/arxiv_paper_link_service.py:643", "shortDescription": {"text": "Legacy-named symbol `computer_file_copy` in src/backend/services/arxiv_paper_link_service.py:643"}, "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-2634ed3d4bee085e", "name": "Legacy-named symbol `materialise_person_representation_for_file_copy` in src/backend/services/person_file_representation", "shortDescription": {"text": "Legacy-named symbol `materialise_person_representation_for_file_copy` in src/backend/services/person_file_representation_service.py:25"}, "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-f9bbe76454a12ef5", "name": "Legacy-named symbol `list_objects_v2` in src/backend/services/blob_store.py:963", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in src/backend/services/blob_store.py:963"}, "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-d802cafde246764d", "name": "Legacy-named symbol `identity_resolution_background_v1` in src/backend/services/identity_resolution_schedule_bootstrap_s", "shortDescription": {"text": "Legacy-named symbol `identity_resolution_background_v1` in src/backend/services/identity_resolution_schedule_bootstrap_service.py:36"}, "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-7669b6ccf69dd561", "name": "Legacy-named symbol `namespace_user_recency_session_metadata_v1` in src/backend/services/chat_history_service.py:56", "shortDescription": {"text": "Legacy-named symbol `namespace_user_recency_session_metadata_v1` in src/backend/services/chat_history_service.py:56"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-589f939af98a25d0", "name": "Commented-code block (5 lines) in src/backend/services/chat_history_service.py:2051", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/services/chat_history_service.py:2051"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-685fd1c0e1ec5999", "name": "Legacy-named symbol `file_copy` in src/backend/services/workflow_description_vontology_service.py:39", "shortDescription": {"text": "Legacy-named symbol `file_copy` in src/backend/services/workflow_description_vontology_service.py:39"}, "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-5b18f4cc76e5f1a2", "name": "Legacy-named symbol `paper_recommendation_background_v1` in src/backend/services/paper_recommendation_background_schedul", "shortDescription": {"text": "Legacy-named symbol `paper_recommendation_background_v1` in src/backend/services/paper_recommendation_background_schedule_bootstrap_service.py:16"}, "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-c51cb0773aebb7eb", "name": "Commented-code block (5 lines) in src/backend/services/workflow_selection_experience.py:373", "shortDescription": {"text": "Commented-code block (5 lines) in src/backend/services/workflow_selection_experience.py:373"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf57f1ff5f63e181", "name": "Legacy-named symbol `file_copy` in src/backend/services/turn_execution_record_service.py:6248", "shortDescription": {"text": "Legacy-named symbol `file_copy` in src/backend/services/turn_execution_record_service.py:6248"}, "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-27051d7167799f58", "name": "Legacy-named symbol `live_prompt_sampler_replay_evaluation_rubric_v1` in src/backend/services/replay_evaluation_authorit", "shortDescription": {"text": "Legacy-named symbol `live_prompt_sampler_replay_evaluation_rubric_v1` in src/backend/services/replay_evaluation_authority_service.py:20"}, "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-066750ef2f704ec9", "name": "Legacy-named symbol `materialise_company_representation_for_file_copy` in src/backend/services/company_file_representati", "shortDescription": {"text": "Legacy-named symbol `materialise_company_representation_for_file_copy` in src/backend/services/company_file_representation_service.py:25"}, "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-9f388b8f7b38d866", "name": "Legacy-named symbol `file_copy` in src/backend/services/file_copy_reference_service.py:9", "shortDescription": {"text": "Legacy-named symbol `file_copy` in src/backend/services/file_copy_reference_service.py:9"}, "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-6b457536187f33f8", "name": "Legacy-named symbol `materialise_meeting_representation_for_file_copy` in src/backend/services/meeting_file_representati", "shortDescription": {"text": "Legacy-named symbol `materialise_meeting_representation_for_file_copy` in src/backend/services/meeting_file_representation_service.py:25"}, "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-5e1d9fd77a1ee877", "name": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in src/backend/services/minimal_imposition_runt", "shortDescription": {"text": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in src/backend/services/minimal_imposition_runtime_profile_vontology_service.py:23"}, "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-1b151ea1870905a4", "name": "Legacy-named symbol `email_arxiv_representation_convergence_v1` in src/backend/services/email_source_representation_conv", "shortDescription": {"text": "Legacy-named symbol `email_arxiv_representation_convergence_v1` in src/backend/services/email_source_representation_convergence_schedule_bootstrap_service.py:18"}, "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-377169ab77732a33", "name": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in src/backend/services/minimal_imposition_bench", "shortDescription": {"text": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in src/backend/services/minimal_imposition_benchmark_profile_vontology_service.py:21"}, "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-5de23ae50acb68d2", "name": "Legacy-named symbol `gmail_tool_evidence_contract_v1` in src/backend/services/gmail_tool_evidence_contract_vontology_ser", "shortDescription": {"text": "Legacy-named symbol `gmail_tool_evidence_contract_v1` in src/backend/services/gmail_tool_evidence_contract_vontology_service.py:33"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-185ace946246664f", "name": "Legacy-named symbol `response_transformations_v1` in src/backend/services/response_transformation_telemetry.py:13", "shortDescription": {"text": "Legacy-named symbol `response_transformations_v1` in src/backend/services/response_transformation_telemetry.py:13"}, "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-56457e84cee35afd", "name": "Commented-code block (6 lines) in src/backend/services/rag_backends/llamaindex_backend.py:689", "shortDescription": {"text": "Commented-code block (6 lines) in src/backend/services/rag_backends/llamaindex_backend.py:689"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eeee9549aa90fcaf", "name": "Commented-code block (9 lines) in src/backend/workflows/mcp_tool_bridge.py:219", "shortDescription": {"text": "Commented-code block (9 lines) in src/backend/workflows/mcp_tool_bridge.py:219"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dbde8a52d28fc7d8", "name": "Legacy-named symbol `vontology_process_graph_v1` in src/backend/workflows/vontology_loader.py:3289", "shortDescription": {"text": "Legacy-named symbol `vontology_process_graph_v1` in src/backend/workflows/vontology_loader.py:3289"}, "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-948a69b3690d296d", "name": "Commented-code block (7 lines) in src/backend/workflows/llm_step_executor.py:1690", "shortDescription": {"text": "Commented-code block (7 lines) in src/backend/workflows/llm_step_executor.py:1690"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6feb30c779cc44e3", "name": "Legacy-named symbol `used_existing_file_copy` in src/backend/workflows/execution_contracts.py:397", "shortDescription": {"text": "Legacy-named symbol `used_existing_file_copy` in src/backend/workflows/execution_contracts.py:397"}, "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-404c14498d142d60", "name": "Legacy-named symbol `event_copy` in src/backend/workflows/workflow_baseline_telemetry.py:142", "shortDescription": {"text": "Legacy-named symbol `event_copy` in src/backend/workflows/workflow_baseline_telemetry.py:142"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f0f906f299c120ce", "name": "Commented-code block (8 lines) in src/backend/workflows/durable/workflow_instance_submission_service.py:71", "shortDescription": {"text": "Commented-code block (8 lines) in src/backend/workflows/durable/workflow_instance_submission_service.py:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2daeb67a329b44c", "name": "Legacy-named symbol `materialise_scholarly_representation_for_arxiv_file_copy` in src/backend/workflows/durable/paper_re", "shortDescription": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_arxiv_file_copy` in src/backend/workflows/durable/paper_representation_workflow.py:18"}, "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-6702ad2694d14bb8", "name": "Commented-code block (8 lines) in src/backend/workflows/durable/instance_manager.py:689", "shortDescription": {"text": "Commented-code block (8 lines) in src/backend/workflows/durable/instance_manager.py:689"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-550532a5e6f01773", "name": "Legacy-named symbol `forward_inference_planning_prompt_v1` in src/backend/workflows/durable/planning_workflow.py:44", "shortDescription": {"text": "Legacy-named symbol `forward_inference_planning_prompt_v1` in src/backend/workflows/durable/planning_workflow.py:44"}, "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-f1e0a7627c6b2e44", "name": "Legacy-named symbol `include_legacy` in src/backend/workflows/durable/rumination_workflow.py:554", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in src/backend/workflows/durable/rumination_workflow.py:554"}, "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-ee7eb0136d43c9a8", "name": "Legacy-named symbol `interpret_file_copy` in src/backend/workflows/durable/file_copy_interpretation_workflow.py:36", "shortDescription": {"text": "Legacy-named symbol `interpret_file_copy` in src/backend/workflows/durable/file_copy_interpretation_workflow.py:36"}, "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-118e5067603f77eb", "name": "Legacy-named symbol `include_legacy` in src/backend/workflows/durable/failure_case_prompt_improvement_actions.py:125", "shortDescription": {"text": "Legacy-named symbol `include_legacy` in src/backend/workflows/durable/failure_case_prompt_improvement_actions.py:125"}, "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-f1c3622b62010c88", "name": "Legacy-named symbol `file_copy` in src/backend/workflows/durable/turn_execution_actions.py:267", "shortDescription": {"text": "Legacy-named symbol `file_copy` in src/backend/workflows/durable/turn_execution_actions.py:267"}, "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-8a32d95db6cc9d44", "name": "Commented-code block (9 lines) in src/backend/db/playground-1.mongodb.js:2", "shortDescription": {"text": "Commented-code block (9 lines) in src/backend/db/playground-1.mongodb.js:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-21a684c4ea5d9632", "name": "Commented-code block (8 lines) in src/backend/db/mongo_client.py:1257", "shortDescription": {"text": "Commented-code block (8 lines) in src/backend/db/mongo_client.py:1257"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-38e068cbdcdb0703", "name": "Commented-code block (8 lines) in src/backend/db/mongo_setup.py:70", "shortDescription": {"text": "Commented-code block (8 lines) in src/backend/db/mongo_setup.py:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8976f3a065259229", "name": "Legacy-named symbol `_handle_materialise_scholarly_representation_for_file_copy` in src/backend/mcp_server/mcp_stdio_ser", "shortDescription": {"text": "Legacy-named symbol `_handle_materialise_scholarly_representation_for_file_copy` in src/backend/mcp_server/mcp_stdio_server.py:2533"}, "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-ac879df4c5f3514a", "name": "Commented-code block (6 lines) in src/backend/languagemodels/local_model_preflight.py:108", "shortDescription": {"text": "Commented-code block (6 lines) in src/backend/languagemodels/local_model_preflight.py: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-947205a5a47d731c", "name": "Network/subprocess call without timeout or try/except \u2014 src/backend/utilities/workspace_idle.py:391", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/backend/utilities/workspace_idle.py:391"}, "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-a00dad7e2862b71d", "name": "Legacy-named symbol `raw_doc_copy` in src/backend/vontology/utils_vontology.py:1488", "shortDescription": {"text": "Legacy-named symbol `raw_doc_copy` in src/backend/vontology/utils_vontology.py:1488"}, "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-d3ed720c8d5b1daf", "name": "Commented-code block (7 lines) in src/utilities/start_ollama_server.py:26", "shortDescription": {"text": "Commented-code block (7 lines) in src/utilities/start_ollama_server.py:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a1fbe9bffdee63f", "name": "256 env vars used in code but missing from .env.example", "shortDescription": {"text": "256 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `APPDATA`, `ARXIV_CACHE_PATH`, `ARXIV_STORAGE_PATH`, `ATLASSIAN_API_EMAIL`, `ATLASSIAN_API_TOKEN`, `ATLASSIAN_SITE_BASE`, `CODEX_HOME`, `CONCEPT_INDEX_BATCH_SIZE` + 248 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/scan_vscode_selected_tools.py:load_selected_tools_counts, scripts/scan_vscode_selected_tools.py:scan_other_keys_for_selection_signals\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/backend/integrations/internal_mcp/jira_proxy_mcp.py:get_stats, src/backend/integrations/internal_mcp/github_proxy_mcp.py:get_stats, src/backend/integrations/internal_mcp/linkedin_proxy_mcp.py:get_stats\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/backend/services/file_copy_entity_representation_vontology_service.py:resolve_file_copy_entity_representation_prompt_concept_id, src/backend/services/workflow_gap_vontology_service.py:resolve_workflow_gap_analysis_prompt_concept_id, src/backend/services/workflow_gap_vontology_service.py:resolve_workflow_gap_test_prompt_concept_id, src/backend/services/workflow_gap_vontology_service.py:resolve_workflow_gap_candidate_prompt_concept_id\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-c4815ddf5394b54f", "name": "Flask mutation route `admin_chat_history_backfill` without `@login_required` \u2014 src/backend/server/utils_flask.py:1986", "shortDescription": {"text": "Flask mutation route `admin_chat_history_backfill` without `@login_required` \u2014 src/backend/server/utils_flask.py:1986"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-413a372d217e048b", "name": "Flask mutation route `admin_chat_history_agent_provenance_backfill` without `@login_required` \u2014 src/backend/server/utils", "shortDescription": {"text": "Flask mutation route `admin_chat_history_agent_provenance_backfill` without `@login_required` \u2014 src/backend/server/utils_flask.py:1996"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2d7af78ffdc37b38", "name": "Flask mutation route `admin_chat_history_reindex` without `@login_required` \u2014 src/backend/server/utils_flask.py:2005", "shortDescription": {"text": "Flask mutation route `admin_chat_history_reindex` without `@login_required` \u2014 src/backend/server/utils_flask.py:2005"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-088c219a028b2253", "name": "Flask mutation route `admin_rag_integrity` without `@login_required` \u2014 src/backend/server/utils_flask.py:2028", "shortDescription": {"text": "Flask mutation route `admin_rag_integrity` without `@login_required` \u2014 src/backend/server/utils_flask.py:2028"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6fae5830ad53e6d0", "name": "Flask mutation route `admin_rag_sync` without `@login_required` \u2014 src/backend/server/utils_flask.py:2032", "shortDescription": {"text": "Flask mutation route `admin_rag_sync` without `@login_required` \u2014 src/backend/server/utils_flask.py:2032"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9ee39f81b735d8a0", "name": "Flask mutation route `admin_shutdown` without `@login_required` \u2014 src/backend/server/utils_flask.py:2062", "shortDescription": {"text": "Flask mutation route `admin_shutdown` without `@login_required` \u2014 src/backend/server/utils_flask.py:2062"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d617bb627fb38a3e", "name": "Dangling fetch: POST /vontology/api/vontology/record_name_normalization (src/frontend/web/von_interface/static/js/nameUt", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/record_name_normalization (src/frontend/web/von_interface/static/js/nameUtils.js:38)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/nameUtils.js:38` calls `POST /vontology/api/vontology/record_name_normalization` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/record_name_normalization`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5851dca1e052fd25", "name": "Dangling fetch: POST /api/annotations/turn (src/frontend/web/von_interface/static/js/apiService.js:310)", "shortDescription": {"text": "Dangling fetch: POST /api/annotations/turn (src/frontend/web/von_interface/static/js/apiService.js:310)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/apiService.js:310` calls `POST /api/annotations/turn` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/annotations/turn`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fdafe058422186da", "name": "Dangling fetch: POST /api/annotations/accept (src/frontend/web/von_interface/static/js/apiService.js:341)", "shortDescription": {"text": "Dangling fetch: POST /api/annotations/accept (src/frontend/web/von_interface/static/js/apiService.js:341)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/apiService.js:341` calls `POST /api/annotations/accept` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/annotations/accept`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ad2949a33b043cce", "name": "Dangling fetch: POST /api/annotations/revoke (src/frontend/web/von_interface/static/js/apiService.js:357)", "shortDescription": {"text": "Dangling fetch: POST /api/annotations/revoke (src/frontend/web/von_interface/static/js/apiService.js:357)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/apiService.js:357` calls `POST /api/annotations/revoke` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/annotations/revoke`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0b20f9f9f6817d56", "name": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/rename (src/frontend/web/von_interface/static/js/con", "shortDescription": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/rename (src/frontend/web/von_interface/static/js/conceptTab.js:481)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:481` calls `POST /api/concepts/${encodeURIComponent(conceptId)}/rename` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/rename`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7bd5905e895b1f51", "name": "Dangling fetch: GET /api/concepts/${encodeURIComponent(newId)} (src/frontend/web/von_interface/static/js/conceptTab.js:5", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(newId)} (src/frontend/web/von_interface/static/js/conceptTab.js:517)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:517` calls `GET /api/concepts/${encodeURIComponent(newId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-6925ca3e73d75eef", "name": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/co", "shortDescription": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/conceptTab.js:627)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:627` calls `DELETE /api/concepts/${encodeURIComponent(conceptId)}/texts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a4144c38bae1a4d4", "name": "Dangling fetch: GET /api/concepts/${encodedConceptId} (src/frontend/web/von_interface/static/js/conceptTab.js:1097)", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodedConceptId} (src/frontend/web/von_interface/static/js/conceptTab.js:1097)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:1097` calls `GET /api/concepts/${encodedConceptId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-db911eb03fbc45d8", "name": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/start_interaction (src/frontend/web", "shortDescription": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/start_interaction (src/frontend/web/von_interface/static/js/conceptTab.js:1721)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:1721` calls `POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/start_interaction` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/start_interaction`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7fc5b66ad6c95af3", "name": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/generate_initial_question (src/fron", "shortDescription": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/generate_initial_question (src/frontend/web/von_interface/static/js/conceptTab.js:1741)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:1741` calls `POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/generate_initial_question` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/generate_initial_question`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b5952c069dbb8cb2", "name": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/submit_answer (src/frontend/web/von", "shortDescription": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/submit_answer (src/frontend/web/von_interface/static/js/conceptTab.js:1950)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:1950` calls `POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/submit_answer` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/submit_answer`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-444b085cee3905e2", "name": "Dangling fetch: GET /api/concepts/${encodedConceptId} (src/frontend/web/von_interface/static/js/conceptTab.js:2197)", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodedConceptId} (src/frontend/web/von_interface/static/js/conceptTab.js:2197)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:2197` calls `GET /api/concepts/${encodedConceptId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-9df5cbdc56f593f0", "name": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/conceptTab.", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/conceptTab.js:3450)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:3450` calls `GET /api/concepts/${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-545dbda3a4bd13e2", "name": "Dangling fetch: GET /vontology/api/vontology/text_relations?concept_id=${encodeURIComponent(conceptId)}&limit=200 (src/f", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/text_relations?concept_id=${encodeURIComponent(conceptId)}&limit=200 (src/frontend/web/von_interface/static/js/conceptTab.js:3542)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/conceptTab.js:3542` calls `GET /vontology/api/vontology/text_relations?concept_id=${encodeURIComponent(conceptId)}&limit=200` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/text_relations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e72c11de0449d1b", "name": "Dangling fetch: GET /api/settings/export-ontology (src/frontend/web/von_interface/static/js/importExportTab.js:116)", "shortDescription": {"text": "Dangling fetch: GET /api/settings/export-ontology (src/frontend/web/von_interface/static/js/importExportTab.js:116)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:116` calls `GET /api/settings/export-ontology` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/export-ontology`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-690d440b0823f911", "name": "Dangling fetch: POST /api/settings/import-ontology (src/frontend/web/von_interface/static/js/importExportTab.js:215)", "shortDescription": {"text": "Dangling fetch: POST /api/settings/import-ontology (src/frontend/web/von_interface/static/js/importExportTab.js:215)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:215` calls `POST /api/settings/import-ontology` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/import-ontology`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f82422f478f4b0d", "name": "Dangling fetch: POST /api/settings/repair-ontology (src/frontend/web/von_interface/static/js/importExportTab.js:285)", "shortDescription": {"text": "Dangling fetch: POST /api/settings/repair-ontology (src/frontend/web/von_interface/static/js/importExportTab.js:285)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:285` calls `POST /api/settings/repair-ontology` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/repair-ontology`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f210605a4b673f67", "name": "Dangling fetch: POST /vontology/api/vontology/import_preview (src/frontend/web/von_interface/static/js/importExportTab.j", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/import_preview (src/frontend/web/von_interface/static/js/importExportTab.js:469)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:469` calls `POST /vontology/api/vontology/import_preview` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/import_preview`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d75b119d9016a906", "name": "Dangling fetch: POST /vontology/api/vontology/import_nodes?async=1 (src/frontend/web/von_interface/static/js/importExpor", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/import_nodes?async=1 (src/frontend/web/von_interface/static/js/importExportTab.js:529)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:529` calls `POST /vontology/api/vontology/import_nodes?async=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/import_nodes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63ccf71983c052d5", "name": "Dangling fetch: GET /vontology/api/vontology/import_progress/${jobId} (src/frontend/web/von_interface/static/js/importEx", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/import_progress/${jobId} (src/frontend/web/von_interface/static/js/importExportTab.js:546)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:546` calls `GET /vontology/api/vontology/import_progress/${jobId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/import_progress/<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-58fbf1880cf83732", "name": "Dangling fetch: GET /vontology/api/vontology/export_nodes (src/frontend/web/von_interface/static/js/importExportTab.js:6", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/export_nodes (src/frontend/web/von_interface/static/js/importExportTab.js:634)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:634` calls `GET /vontology/api/vontology/export_nodes` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/export_nodes`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-796b552cc99a5d31", "name": "Dangling fetch: GET /api/concepts/export?${params} (src/frontend/web/von_interface/static/js/importExportTab.js:789)", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/export?${params} (src/frontend/web/von_interface/static/js/importExportTab.js:789)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:789` calls `GET /api/concepts/export?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/export`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c13a44bd6c5e0250", "name": "Dangling fetch: GET /api/entities/export?${params} (src/frontend/web/von_interface/static/js/importExportTab.js:791)", "shortDescription": {"text": "Dangling fetch: GET /api/entities/export?${params} (src/frontend/web/von_interface/static/js/importExportTab.js:791)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:791` calls `GET /api/entities/export?${params}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/entities/export`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ae5e32367b999394", "name": "Dangling fetch: GET /api/concepts/export-preview (src/frontend/web/von_interface/static/js/importExportTab.js:1178)", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/export-preview (src/frontend/web/von_interface/static/js/importExportTab.js:1178)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/importExportTab.js:1178` calls `GET /api/concepts/export-preview` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/export-preview`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5871b96c3fb56689", "name": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:569)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:569` calls `GET /api/concepts/${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-58783b46fff6a429", "name": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1098)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:1098` calls `GET /api/concepts/${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-90cf11d35788f37f", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1114)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:1114` calls `GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8009473ed4023545", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1193)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:1193` calls `GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9c25edc68b4c71d5", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1461)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:1461` calls `GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-624048c6931e0200", "name": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1522)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:1522` calls `GET /api/concepts/${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-44869c31dc25e38c", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1997)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:1997` calls `GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-de6984ccc103f276", "name": "Dangling fetch: GET /api/concepts/${encodedConceptId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:2427)", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodedConceptId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:2427)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:2427` calls `GET /api/concepts/${encodedConceptId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-518560472ec1f2f8", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:2764)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:2764` calls `GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dc5472eeeec6763e", "name": "Dangling fetch: GET /vontology/api/vontology/parents?identifier=${encodedId} (src/frontend/web/von_interface/static/js/d", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/parents?identifier=${encodedId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:3123)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:3123` calls `GET /vontology/api/vontology/parents?identifier=${encodedId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/parents`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-44a2281042900131", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodedId} (src/frontend/web/von_interface/static", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodedId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:3124)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:3124` calls `GET /vontology/api/vontology/node_content?identifier=${encodedId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-900984506d75dc81", "name": "Dangling fetch: GET /api/concepts/${encodedId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:3125)", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodedId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:3125)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:3125` calls `GET /api/concepts/${encodedId}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-1134b08902787eb9", "name": "Dangling fetch: POST /vontology/api/vontology/update_description (src/frontend/web/von_interface/static/js/dynamicTabs.j", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/update_description (src/frontend/web/von_interface/static/js/dynamicTabs.js:3257)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:3257` calls `POST /vontology/api/vontology/update_description` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/update_description`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-295a9384ecd84fd5", "name": "Dangling fetch: POST /vontology/api/vontology/concept/key-concept (src/frontend/web/von_interface/static/js/dynamicTabs.", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/concept/key-concept (src/frontend/web/von_interface/static/js/dynamicTabs.js:3963)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:3963` calls `POST /vontology/api/vontology/concept/key-concept` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/concept/key-concept`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5d6a9dc5ed945f02", "name": "Dangling fetch: GET /api/concepts/${encodeURIComponent(currentConceptId)}/texts?predicate=hasNote&limit=200 (src/fronten", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(currentConceptId)}/texts?predicate=hasNote&limit=200 (src/frontend/web/von_interface/static/js/dynamicTabs.js:4865)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:4865` calls `GET /api/concepts/${encodeURIComponent(currentConceptId)}/texts?predicate=hasNote&limit=200` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-41262601d6b4b3d8", "name": "Dangling fetch: PATCH /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(note.relation_id)", "shortDescription": {"text": "Dangling fetch: PATCH /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(note.relation_id)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:5047)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:5047` calls `PATCH /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(note.relation_id)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts/<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-9730a56d1114cefe", "name": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(note.relation_id", "shortDescription": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(note.relation_id)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:5094)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:5094` calls `DELETE /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(note.relation_id)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts/<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-e63712122f7e2b55", "name": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentConceptId)}/texts (src/frontend/web/von_interface/static/", "shortDescription": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentConceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:5154)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:5154` calls `POST /api/concepts/${encodeURIComponent(currentConceptId)}/texts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ce3fadaa5048693b", "name": "Dangling fetch: GET /api/concepts/${encodeURIComponent(currentConceptId)}/texts?limit=200 (src/frontend/web/von_interfac", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(currentConceptId)}/texts?limit=200 (src/frontend/web/von_interface/static/js/dynamicTabs.js:5231)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:5231` calls `GET /api/concepts/${encodeURIComponent(currentConceptId)}/texts?limit=200` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6d0a7fa83036adfa", "name": "Dangling fetch: PATCH /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(content.relation_", "shortDescription": {"text": "Dangling fetch: PATCH /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(content.relation_id)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:5417)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:5417` calls `PATCH /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(content.relation_id)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts/<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-25c32d821ff516f8", "name": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(content.relation", "shortDescription": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(content.relation_id)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:5464)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:5464` calls `DELETE /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(content.relation_id)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts/<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-d187c0e989777982", "name": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentConceptId)}/texts (src/frontend/web/von_interface/static/", "shortDescription": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentConceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:5524)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:5524` calls `POST /api/concepts/${encodeURIComponent(currentConceptId)}/texts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-83112516fc7b9b76", "name": "Dangling fetch: GET /vontology/api/vontology/predicates/elicitation (src/frontend/web/von_interface/static/js/dynamicTab", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/predicates/elicitation (src/frontend/web/von_interface/static/js/dynamicTabs.js:6008)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:6008` calls `GET /vontology/api/vontology/predicates/elicitation` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/predicates/elicitation`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e003c0d19e3a9674", "name": "Dangling fetch: GET /vontology/api/vontology/predicates/salient?instance_id=${encodeURIComponent(conceptId)} (src/fronte", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/predicates/salient?instance_id=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:6053)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:6053` calls `GET /vontology/api/vontology/predicates/salient?instance_id=${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/predicates/salient`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-04ca2412c009e928", "name": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/dy", "shortDescription": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:6234)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:6234` calls `DELETE /api/concepts/${encodeURIComponent(conceptId)}/texts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-286a6366a43749cb", "name": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/dyna", "shortDescription": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:6241)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:6241` calls `POST /api/concepts/${encodeURIComponent(conceptId)}/texts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6bac588449ded4eb", "name": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/dyna", "shortDescription": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:6482)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:6482` calls `POST /api/concepts/${encodeURIComponent(conceptId)}/texts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d94c870c56ff7c04", "name": "Dangling fetch: POST /vontology/api/vontology/relationships/add (src/frontend/web/von_interface/static/js/dynamicTabs.js", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/add (src/frontend/web/von_interface/static/js/dynamicTabs.js:6509)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:6509` calls `POST /vontology/api/vontology/relationships/add` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/relationships/add`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-19167cb32d94ebdb", "name": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:6935)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:6935` calls `GET /api/concepts/${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-28a7590c9d9de56f", "name": "Dangling fetch: GET /vontology/api/vontology/relationships/extent?${params.toString()} (src/frontend/web/von_interface/s", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/relationships/extent?${params.toString()} (src/frontend/web/von_interface/static/js/dynamicTabs.js:6970)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:6970` calls `GET /vontology/api/vontology/relationships/extent?${params.toString()}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/relationships/extent`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-86e7a20231160826", "name": "Dangling fetch: POST /vontology/api/vontology/relationships/uncertain/promote (src/frontend/web/von_interface/static/js/", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/uncertain/promote (src/frontend/web/von_interface/static/js/dynamicTabs.js:7189)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7189` calls `POST /vontology/api/vontology/relationships/uncertain/promote` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/relationships/uncertain/promote`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed5d61fd22bf2429", "name": "Dangling fetch: POST /vontology/api/vontology/relationships/uncertain/reject (src/frontend/web/von_interface/static/js/d", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/uncertain/reject (src/frontend/web/von_interface/static/js/dynamicTabs.js:7223)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7223` calls `POST /vontology/api/vontology/relationships/uncertain/reject` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/relationships/uncertain/reject`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d86f72ed693e91b7", "name": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(row.arg1_value)}/texts (src/frontend/web/von_interface/static/", "shortDescription": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(row.arg1_value)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:7260)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7260` calls `DELETE /api/concepts/${encodeURIComponent(row.arg1_value)}/texts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-899fe718749e99aa", "name": "Dangling fetch: POST /vontology/api/vontology/relationships/remove (src/frontend/web/von_interface/static/js/dynamicTabs", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/remove (src/frontend/web/von_interface/static/js/dynamicTabs.js:7271)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7271` calls `POST /vontology/api/vontology/relationships/remove` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/relationships/remove`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fd7c847ee7c39f17", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encoded} (src/frontend/web/von_interface/static/j", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encoded} (src/frontend/web/von_interface/static/js/dynamicTabs.js:7568)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7568` calls `GET /vontology/api/vontology/node_content?identifier=${encoded}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ef34c70b27d3ff93", "name": "Dangling fetch: POST /vontology/api/vontology/concept/flag (src/frontend/web/von_interface/static/js/dynamicTabs.js:7608", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/concept/flag (src/frontend/web/von_interface/static/js/dynamicTabs.js:7608)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7608` calls `POST /vontology/api/vontology/concept/flag` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/concept/flag`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-68898fc99d506f63", "name": "Dangling fetch: POST /vontology/api/vontology/concept/organization-relation (src/frontend/web/von_interface/static/js/dy", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/concept/organization-relation (src/frontend/web/von_interface/static/js/dynamicTabs.js:7642)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7642` calls `POST /vontology/api/vontology/concept/organization-relation` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/concept/organization-relation`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd96df9285a42c34", "name": "Dangling fetch: POST /vontology/api/vontology/concept/user-relation (src/frontend/web/von_interface/static/js/dynamicTab", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/concept/user-relation (src/frontend/web/von_interface/static/js/dynamicTabs.js:7694)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7694` calls `POST /vontology/api/vontology/concept/user-relation` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/concept/user-relation`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4b2ebf8cd5deec90", "name": "Dangling fetch: GET /api/settings/user/current (src/frontend/web/von_interface/static/js/dynamicTabs.js:7764)", "shortDescription": {"text": "Dangling fetch: GET /api/settings/user/current (src/frontend/web/von_interface/static/js/dynamicTabs.js:7764)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7764` calls `GET /api/settings/user/current` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/user/current`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3a986c4a711cdf06", "name": "Dangling fetch: GET /api/settings/user/current (src/frontend/web/von_interface/static/js/dynamicTabs.js:7778)", "shortDescription": {"text": "Dangling fetch: GET /api/settings/user/current (src/frontend/web/von_interface/static/js/dynamicTabs.js:7778)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/dynamicTabs.js:7778` calls `GET /api/settings/user/current` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/user/current`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3471de5dd9cd4b37", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(item.id)} (src/frontend/web/vo", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(item.id)} (src/frontend/web/von_interface/static/js/vontology.js:3720)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/vontology.js:3720` calls `GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(item.id)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ac5327f08ad481aa", "name": "Dangling fetch: GET /vontology/api/vontology/nodes_details?identifier=${encodedIdentifier} (src/frontend/web/von_interfa", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/nodes_details?identifier=${encodedIdentifier} (src/frontend/web/von_interface/static/js/vontology.js:3824)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/vontology.js:3824` calls `GET /vontology/api/vontology/nodes_details?identifier=${encodedIdentifier}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/nodes_details`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-167dcbcce81f6f47", "name": "Dangling fetch: GET /vontology/api/vontology/tree (src/frontend/web/von_interface/static/js/vontology.js:4331)", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/tree (src/frontend/web/von_interface/static/js/vontology.js:4331)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/vontology.js:4331` calls `GET /vontology/api/vontology/tree` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/tree`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b20dcc577a7785b5", "name": "Dangling fetch: GET /vontology/api/vontology/tree (src/frontend/web/von_interface/static/js/vontology.js:4388)", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/tree (src/frontend/web/von_interface/static/js/vontology.js:4388)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/vontology.js:4388` calls `GET /vontology/api/vontology/tree` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/tree`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ed15d6dddb09adb6", "name": "Dangling fetch: GET /vontology/api/vontology/entity_counts (src/frontend/web/von_interface/static/js/vontology.js:4392)", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/entity_counts (src/frontend/web/von_interface/static/js/vontology.js:4392)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/vontology.js:4392` calls `GET /vontology/api/vontology/entity_counts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/entity_counts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f12d31168b787d59", "name": "Dangling fetch: POST /api/annotations/accept (src/frontend/web/von_interface/static/js/chat.js:105)", "shortDescription": {"text": "Dangling fetch: POST /api/annotations/accept (src/frontend/web/von_interface/static/js/chat.js:105)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/chat.js:105` calls `POST /api/annotations/accept` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/annotations/accept`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-72f67c7c33a94a2c", "name": "Dangling fetch: POST /api/annotations/revoke (src/frontend/web/von_interface/static/js/chat.js:132)", "shortDescription": {"text": "Dangling fetch: POST /api/annotations/revoke (src/frontend/web/von_interface/static/js/chat.js:132)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/chat.js:132` calls `POST /api/annotations/revoke` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/annotations/revoke`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ff3fc276ad2d52fa", "name": "Dangling fetch: POST /api/client_capabilities (src/frontend/web/von_interface/static/js/clientCapabilitiesReporter.js:14", "shortDescription": {"text": "Dangling fetch: POST /api/client_capabilities (src/frontend/web/von_interface/static/js/clientCapabilitiesReporter.js:145)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/clientCapabilitiesReporter.js:145` calls `POST /api/client_capabilities` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/client_capabilities`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-729121b1fe886c49", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/annotationTab.js:26)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/annotationTab.js:26` calls `GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-63aee1bc04858f54", "name": "Dangling fetch: GET /api/annotations/llm_history (src/frontend/web/von_interface/static/js/annotationTab.js:585)", "shortDescription": {"text": "Dangling fetch: GET /api/annotations/llm_history (src/frontend/web/von_interface/static/js/annotationTab.js:585)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/annotationTab.js:585` calls `GET /api/annotations/llm_history` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/annotations/llm_history`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-98e1e7b970bc8c20", "name": "Dangling fetch: POST /api/annotations/prompt_preview (src/frontend/web/von_interface/static/js/annotationTab.js:640)", "shortDescription": {"text": "Dangling fetch: POST /api/annotations/prompt_preview (src/frontend/web/von_interface/static/js/annotationTab.js:640)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/annotationTab.js:640` calls `POST /api/annotations/prompt_preview` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/annotations/prompt_preview`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-50d6ffe6b880a418", "name": "Dangling fetch: GET /api/concepts/${encoded}/texts?predicate=hasDescription&limit=1 (src/frontend/web/von_interface/stat", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encoded}/texts?predicate=hasDescription&limit=1 (src/frontend/web/von_interface/static/js/domUtils.js:96)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/domUtils.js:96` calls `GET /api/concepts/${encoded}/texts?predicate=hasDescription&limit=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/texts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9bd099a8758507d5", "name": "Dangling fetch: GET /api/settings/db/info (src/frontend/web/von_interface/static/js/domUtils.js:788)", "shortDescription": {"text": "Dangling fetch: GET /api/settings/db/info (src/frontend/web/von_interface/static/js/domUtils.js:788)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/domUtils.js:788` calls `GET /api/settings/db/info` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/db/info`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b8c5fd3c88787f0", "name": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(id)} (src/frontend/web/von_int", "shortDescription": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(id)} (src/frontend/web/von_interface/static/js/domUtils.js:1002)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/domUtils.js:1002` calls `GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(id)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/node_content`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-90941dae7c04e49e", "name": "Dangling fetch: POST /von/api/render_markdown (src/frontend/web/von_interface/static/js/markdownUtils.js:301)", "shortDescription": {"text": "Dangling fetch: POST /von/api/render_markdown (src/frontend/web/von_interface/static/js/markdownUtils.js:301)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/markdownUtils.js:301` calls `POST /von/api/render_markdown` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/von/api/render_markdown`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9212c55636b003b9", "name": "Dangling fetch: GET /api/concepts/${encodeURIComponent(normalisedConceptId)} (src/frontend/web/von_interface/static/js/p", "shortDescription": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(normalisedConceptId)} (src/frontend/web/von_interface/static/js/predicateExtentDisplay.js:52)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/predicateExtentDisplay.js:52` calls `GET /api/concepts/${encodeURIComponent(normalisedConceptId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<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-efb6314c85d05f25", "name": "Dangling fetch: POST /vontology/api/vontology/relationships/add (src/frontend/web/von_interface/static/js/predicateExten", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/add (src/frontend/web/von_interface/static/js/predicateExtentDisplay.js:615)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/predicateExtentDisplay.js:615` calls `POST /vontology/api/vontology/relationships/add` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/relationships/add`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0c5f286e306fe92d", "name": "Dangling fetch: GET /von/api/session/context (src/frontend/web/von_interface/static/js/settingsPage.js:1541)", "shortDescription": {"text": "Dangling fetch: GET /von/api/session/context (src/frontend/web/von_interface/static/js/settingsPage.js:1541)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/settingsPage.js:1541` calls `GET /von/api/session/context` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/von/api/session/context`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e459d0dffbc63702", "name": "Dangling fetch: GET /von/api/auth/status (src/frontend/web/von_interface/static/js/settingsPage.js:1554)", "shortDescription": {"text": "Dangling fetch: GET /von/api/auth/status (src/frontend/web/von_interface/static/js/settingsPage.js:1554)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/settingsPage.js:1554` calls `GET /von/api/auth/status` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/von/api/auth/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-b70f674e5c84ca67", "name": "Dangling fetch: GET /von/api/agent/gmail/oauth/status?profile_id=${encodeURIComponent(profileId)} (src/frontend/web/von_", "shortDescription": {"text": "Dangling fetch: GET /von/api/agent/gmail/oauth/status?profile_id=${encodeURIComponent(profileId)} (src/frontend/web/von_interface/static/js/settingsPage.js:1864)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/settingsPage.js:1864` calls `GET /von/api/agent/gmail/oauth/status?profile_id=${encodeURIComponent(profileId)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/von/api/agent/gmail/oauth/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-eb953c85faab1a38", "name": "Dangling fetch: GET /api/settings/metrics/deprecations (src/frontend/web/von_interface/static/js/settingsPage.js:3983)", "shortDescription": {"text": "Dangling fetch: GET /api/settings/metrics/deprecations (src/frontend/web/von_interface/static/js/settingsPage.js:3983)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/settingsPage.js:3983` calls `GET /api/settings/metrics/deprecations` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/metrics/deprecations`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4c8f2f55fb0bd84e", "name": "Dangling fetch: GET /api/settings/db/info (src/frontend/web/von_interface/static/js/settingsPage.js:4043)", "shortDescription": {"text": "Dangling fetch: GET /api/settings/db/info (src/frontend/web/von_interface/static/js/settingsPage.js:4043)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/settingsPage.js:4043` calls `GET /api/settings/db/info` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/db/info`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-24e2c318a1484a07", "name": "Dangling fetch: POST /api/settings/user_prefs/${encodeURIComponent(storedUser.concept_id)} (src/frontend/web/von_interfa", "shortDescription": {"text": "Dangling fetch: POST /api/settings/user_prefs/${encodeURIComponent(storedUser.concept_id)} (src/frontend/web/von_interface/static/js/settingsPage.js:4253)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/settingsPage.js:4253` calls `POST /api/settings/user_prefs/${encodeURIComponent(storedUser.concept_id)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/user_prefs/<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-fb4cfd252fc519cc", "name": "Dangling fetch: GET /api/settings/ollama/hosts (src/frontend/web/von_interface/static/js/settingsPage.js:4543)", "shortDescription": {"text": "Dangling fetch: GET /api/settings/ollama/hosts (src/frontend/web/von_interface/static/js/settingsPage.js:4543)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/settingsPage.js:4543` calls `GET /api/settings/ollama/hosts` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/settings/ollama/hosts`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c79981356890d24e", "name": "Dangling fetch: POST /vontology/api/vontology/predicates/salient/recompute_inherited (src/frontend/web/von_interface/sta", "shortDescription": {"text": "Dangling fetch: POST /vontology/api/vontology/predicates/salient/recompute_inherited (src/frontend/web/von_interface/static/js/settingsPage.js:4633)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/settingsPage.js:4633` calls `POST /vontology/api/vontology/predicates/salient/recompute_inherited` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/vontology/api/vontology/predicates/salient/recompute_inherited`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e3bc3668dd61dd0a", "name": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/paper_recommendation_profile (src/frontend/web/von_i", "shortDescription": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/paper_recommendation_profile (src/frontend/web/von_interface/static/js/components/paperRecommendationProfilePanel.js:199)"}, "fullDescription": {"text": "`src/frontend/web/von_interface/static/js/components/paperRecommendationProfilePanel.js:199` calls `POST /api/concepts/${encodeURIComponent(conceptId)}/paper_recommendation_profile` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/concepts/<p>/paper_recommendation_profile`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a630284fdcb3e29a", "name": "Unused endpoint: ANY /chat_tab", "shortDescription": {"text": "Unused endpoint: ANY /chat_tab"}, "fullDescription": {"text": "`src/workflows/von/main.py` declares `ANY /chat_tab` 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-33d66b4b9b3379c1", "name": "Unused endpoint: ANY /vontology_tab", "shortDescription": {"text": "Unused endpoint: ANY /vontology_tab"}, "fullDescription": {"text": "`src/workflows/von/main.py` declares `ANY /vontology_tab` 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-1339384bf0b36204", "name": "Unused endpoint: ANY /import_export_tab", "shortDescription": {"text": "Unused endpoint: ANY /import_export_tab"}, "fullDescription": {"text": "`src/workflows/von/main.py` declares `ANY /import_export_tab` 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-a1f933643b25701f", "name": "Unused endpoint: ANY /entity_tab", "shortDescription": {"text": "Unused endpoint: ANY /entity_tab"}, "fullDescription": {"text": "`src/workflows/von/main.py` declares `ANY /entity_tab` 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-b97db37f65b624be", "name": "Unused endpoint: ANY /settings_tab", "shortDescription": {"text": "Unused endpoint: ANY /settings_tab"}, "fullDescription": {"text": "`src/workflows/von/main.py` declares `ANY /settings_tab` 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-1070e450ed40253b", "name": "Unused endpoint: ANY /api/vontology/predicates/salient", "shortDescription": {"text": "Unused endpoint: ANY /api/vontology/predicates/salient"}, "fullDescription": {"text": "`src/backend/server/app.py` declares `ANY /api/vontology/predicates/salient` 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-1a6d91f2236825bf", "name": "Unused endpoint: ANY /", "shortDescription": {"text": "Unused endpoint: ANY /"}, "fullDescription": {"text": "`src/backend/server/utils_flask.py` declares `ANY /` 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-f51fc0570b42b4da", "name": "Unused endpoint: ANY /admin/rag_runtime", "shortDescription": {"text": "Unused endpoint: ANY /admin/rag_runtime"}, "fullDescription": {"text": "`src/backend/server/utils_flask.py` declares `ANY /admin/rag_runtime` 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-344a42fd94bfb871", "name": "Unused endpoint: ANY /admin/chat_history_agent_provenance_backfill", "shortDescription": {"text": "Unused endpoint: ANY /admin/chat_history_agent_provenance_backfill"}, "fullDescription": {"text": "`src/backend/server/utils_flask.py` declares `ANY /admin/chat_history_agent_provenance_backfill` 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-aef678e4911bdf9e", "name": "Unused endpoint: ANY /admin/chat_history_reindex", "shortDescription": {"text": "Unused endpoint: ANY /admin/chat_history_reindex"}, "fullDescription": {"text": "`src/backend/server/utils_flask.py` declares `ANY /admin/chat_history_reindex` 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-e140910a060dc884", "name": "Unused endpoint: ANY /admin/rag_integrity", "shortDescription": {"text": "Unused endpoint: ANY /admin/rag_integrity"}, "fullDescription": {"text": "`src/backend/server/utils_flask.py` declares `ANY /admin/rag_integrity` 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-2bea82d48ce49db6", "name": "Unused endpoint: ANY /diag", "shortDescription": {"text": "Unused endpoint: ANY /diag"}, "fullDescription": {"text": "`src/backend/server/utils_flask.py` declares `ANY /diag` 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-2fdfe7bf17d71f5c", "name": "Unused endpoint: ANY /api/system/db_status", "shortDescription": {"text": "Unused endpoint: ANY /api/system/db_status"}, "fullDescription": {"text": "`src/backend/server/utils_flask.py` declares `ANY /api/system/db_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-02cb834e223ca635", "name": "Unused endpoint: ANY /api/version", "shortDescription": {"text": "Unused endpoint: ANY /api/version"}, "fullDescription": {"text": "`src/backend/server/utils_flask.py` declares `ANY /api/version` 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-ce150642a643bbe2", "name": "Unused endpoint: ANY /admin/policy_comparison", "shortDescription": {"text": "Unused endpoint: ANY /admin/policy_comparison"}, "fullDescription": {"text": "`src/backend/server/utils_flask.py` declares `ANY /admin/policy_comparison` 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-62058516c4a2299f", "name": "Unused endpoint: ANY /<concept_id>/extent", "shortDescription": {"text": "Unused endpoint: ANY /<concept_id>/extent"}, "fullDescription": {"text": "`src/backend/server/routes/predicate_routes.py` declares `ANY /<concept_id>/extent` 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-a5e35a556e390d68", "name": "Unused endpoint: ANY /<concept_id>/metadata", "shortDescription": {"text": "Unused endpoint: ANY /<concept_id>/metadata"}, "fullDescription": {"text": "`src/backend/server/routes/predicate_routes.py` declares `ANY /<concept_id>/metadata` 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-66599ec9f5b5458f", "name": "Unused endpoint: ANY /prompt_preview", "shortDescription": {"text": "Unused endpoint: ANY /prompt_preview"}, "fullDescription": {"text": "`src/backend/server/routes/annotations_routes.py` declares `ANY /prompt_preview` 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-e9ae38bfa38f9312", "name": "Unused endpoint: ANY /turn", "shortDescription": {"text": "Unused endpoint: ANY /turn"}, "fullDescription": {"text": "`src/backend/server/routes/annotations_routes.py` declares `ANY /turn` 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-2014f9e3e9254bc9", "name": "Unused endpoint: ANY /accept", "shortDescription": {"text": "Unused endpoint: ANY /accept"}, "fullDescription": {"text": "`src/backend/server/routes/annotations_routes.py` declares `ANY /accept` 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-b0f1d7df99862449", "name": "Unused endpoint: ANY /revoke", "shortDescription": {"text": "Unused endpoint: ANY /revoke"}, "fullDescription": {"text": "`src/backend/server/routes/annotations_routes.py` declares `ANY /revoke` 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-d2b35b62328d9f45", "name": "Unused endpoint: ANY /manual_instance", "shortDescription": {"text": "Unused endpoint: ANY /manual_instance"}, "fullDescription": {"text": "`src/backend/server/routes/annotations_routes.py` declares `ANY /manual_instance` 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-2e1305f58484e043", "name": "Unused endpoint: ANY /manual_type", "shortDescription": {"text": "Unused endpoint: ANY /manual_type"}, "fullDescription": {"text": "`src/backend/server/routes/annotations_routes.py` declares `ANY /manual_type` 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-4d7dbe590619fd40", "name": "Unused endpoint: ANY /llm_history", "shortDescription": {"text": "Unused endpoint: ANY /llm_history"}, "fullDescription": {"text": "`src/backend/server/routes/annotations_routes.py` declares `ANY /llm_history` 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-e99da49e29e64b2b", "name": "Unused endpoint: ANY /opportunities/<instance_id>", "shortDescription": {"text": "Unused endpoint: ANY /opportunities/<instance_id>"}, "fullDescription": {"text": "`src/backend/server/routes/elicitation_routes.py` declares `ANY /opportunities/<instance_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-868b7c22a9ee29f1", "name": "Unused endpoint: ANY /ask", "shortDescription": {"text": "Unused endpoint: ANY /ask"}, "fullDescription": {"text": "`src/backend/server/routes/elicitation_routes.py` declares `ANY /ask` 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-eca43ccb28b2d648", "name": "Unused endpoint: ANY /submit", "shortDescription": {"text": "Unused endpoint: ANY /submit"}, "fullDescription": {"text": "`src/backend/server/routes/elicitation_routes.py` declares `ANY /submit` 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-f790bd8c6d48c111", "name": "Unused endpoint: ANY /<message_id>", "shortDescription": {"text": "Unused endpoint: ANY /<message_id>"}, "fullDescription": {"text": "`src/backend/server/routes/message_routes.py` declares `ANY /<message_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-f5aad7cd263e44e4", "name": "Unused endpoint: ANY /<message_id>/paper_recommendation_review", "shortDescription": {"text": "Unused endpoint: ANY /<message_id>/paper_recommendation_review"}, "fullDescription": {"text": "`src/backend/server/routes/message_routes.py` declares `ANY /<message_id>/paper_recommendation_review` 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-64951bb91cbab15d", "name": "Unused endpoint: ANY /<message_id>/paper_recommendation_feedback", "shortDescription": {"text": "Unused endpoint: ANY /<message_id>/paper_recommendation_feedback"}, "fullDescription": {"text": "`src/backend/server/routes/message_routes.py` declares `ANY /<message_id>/paper_recommendation_feedback` 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-017917ff8532b032", "name": "Unused endpoint: ANY /conversation/<other_user_id>", "shortDescription": {"text": "Unused endpoint: ANY /conversation/<other_user_id>"}, "fullDescription": {"text": "`src/backend/server/routes/message_routes.py` declares `ANY /conversation/<other_user_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-1835372a3921c21a", "name": "Unused endpoint: ANY /unread/count", "shortDescription": {"text": "Unused endpoint: ANY /unread/count"}, "fullDescription": {"text": "`src/backend/server/routes/message_routes.py` declares `ANY /unread/count` 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-546b1b8406c21aa7", "name": "Unused endpoint: ANY /<message_id>/read", "shortDescription": {"text": "Unused endpoint: ANY /<message_id>/read"}, "fullDescription": {"text": "`src/backend/server/routes/message_routes.py` declares `ANY /<message_id>/read` 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-50340f683bc8a6c3", "name": "Unused endpoint: ANY /read/bulk", "shortDescription": {"text": "Unused endpoint: ANY /read/bulk"}, "fullDescription": {"text": "`src/backend/server/routes/message_routes.py` declares `ANY /read/bulk` 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-eaefcbe77340ac66", "name": "Unused endpoint: ANY /threads", "shortDescription": {"text": "Unused endpoint: ANY /threads"}, "fullDescription": {"text": "`src/backend/server/routes/message_routes.py` declares `ANY /threads` 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-117531c0d0465186", "name": "Unused endpoint: ANY /search", "shortDescription": {"text": "Unused endpoint: ANY /search"}, "fullDescription": {"text": "`src/backend/server/routes/message_routes.py` declares `ANY /search` 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-adc6cd201283fe21", "name": "Unused endpoint: GET /api/workflows/definitions/<path:workflow_id>", "shortDescription": {"text": "Unused endpoint: GET /api/workflows/definitions/<path:workflow_id>"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `GET /api/workflows/definitions/<path:workflow_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-65e53123174de493", "name": "Unused endpoint: GET /api/workflows/definitions", "shortDescription": {"text": "Unused endpoint: GET /api/workflows/definitions"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `GET /api/workflows/definitions` 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-b83b909f21e2e79d", "name": "Unused endpoint: GET /api/workflows/capability-index/status", "shortDescription": {"text": "Unused endpoint: GET /api/workflows/capability-index/status"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `GET /api/workflows/capability-index/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-41a56d73fa44df81", "name": "Unused endpoint: GET /api/workflow-studio/catalogue", "shortDescription": {"text": "Unused endpoint: GET /api/workflow-studio/catalogue"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `GET /api/workflow-studio/catalogue` 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-af7d77c5c88745d5", "name": "Unused endpoint: GET /api/workflow-studio/workflows/<path:workflow_id>", "shortDescription": {"text": "Unused endpoint: GET /api/workflow-studio/workflows/<path:workflow_id>"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `GET /api/workflow-studio/workflows/<path:workflow_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-8d5c49c7b0027a00", "name": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/authoring/preview", "shortDescription": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/authoring/preview"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `POST /api/workflow-studio/workflows/<path:workflow_id>/authoring/preview` 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-3f5c875f14ed4a2b", "name": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/authoring/apply", "shortDescription": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/authoring/apply"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `POST /api/workflow-studio/workflows/<path:workflow_id>/authoring/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-cf153dbb53cc4910", "name": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/authoring", "shortDescription": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/authoring"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/authoring` 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-6cb6cbfe38515ce6", "name": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/review", "shortDescription": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/review"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/review` 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-f4d1b2bd29ef525a", "name": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/rollback", "shortDescription": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/rollback"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/rollback` 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-d098e81f9eeff402", "name": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/publication/demote", "shortDescription": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/publication/demote"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `POST /api/workflow-studio/workflows/<path:workflow_id>/publication/demote` 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-8f45e0c6d0fea4d6", "name": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/publication/supersede", "shortDescription": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/publication/supersede"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `POST /api/workflow-studio/workflows/<path:workflow_id>/publication/supersede` 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-0412fbb061aff600", "name": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/description", "shortDescription": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/description"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/description` 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-5ce2ebad066b0d46", "name": "Unused endpoint: GET /api/workflows/executions/<execution_id>", "shortDescription": {"text": "Unused endpoint: GET /api/workflows/executions/<execution_id>"}, "fullDescription": {"text": "`src/backend/server/routes/workflows_routes.py` declares `GET /api/workflows/executions/<execution_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}}]}}, "automationDetails": {"id": "repobility/20404"}, "properties": {"repository": "Strong-AI-Lab/Von", "repoUrl": "https://github.com/Strong-AI-Lab/Von", "branch": "main"}, "results": [{"ruleId": "scanner-83880de202aa6ddf", "level": "note", "message": {"text": "Possibly dead Python function: build_repaired_arxiv_wrapper_definition"}, "properties": {"repobilityId": "3ab3ce58ad7fc093", "scanner": "scanner-primary", "fingerprint": "83880de202aa6ddf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/repair_arxiv_email_paper_workflow_consistency.py:332"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a978e849fca4c1ab", "level": "note", "message": {"text": "Possibly dead Python function: parse_feature_version"}, "properties": {"repobilityId": "ebe4d74cc264ff7e", "scanner": "scanner-primary", "fingerprint": "a978e849fca4c1ab", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/check_python_min_syntax.py:115"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-962e8ce3f820ff25", "level": "note", "message": {"text": "Possibly dead Python function: open_folder"}, "properties": {"repobilityId": "1f1cb9405afdf968", "scanner": "scanner-primary", "fingerprint": "962e8ce3f820ff25", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/memories/cloud/google_drive/save_drive.py:35"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ffdbb4bb1c41a3ba", "level": "note", "message": {"text": "Possibly dead Python function: save_to_drive"}, "properties": {"repobilityId": "606f5b9776093853", "scanner": "scanner-primary", "fingerprint": "ffdbb4bb1c41a3ba", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/memories/cloud/google_drive/save_drive.py:144"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fc52edb5aff52011", "level": "note", "message": {"text": "Possibly dead Python function: iterate_files_in_folder"}, "properties": {"repobilityId": "79acd05036a1e3c3", "scanner": "scanner-primary", "fingerprint": "fc52edb5aff52011", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/memories/cloud/google_drive/save_drive.py:174"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09518d9c81595f10", "level": "note", "message": {"text": "Possibly dead Python function: delete_file_from_drive"}, "properties": {"repobilityId": "d9317f73c4ca2f27", "scanner": "scanner-primary", "fingerprint": "09518d9c81595f10", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/memories/cloud/google_drive/save_drive.py:273"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-628407f3e7890a9a", "level": "note", "message": {"text": "Possibly dead Python function: run_onboarding_workflow"}, "properties": {"repobilityId": "34e2d0f78644141b", "scanner": "scanner-primary", "fingerprint": "628407f3e7890a9a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/workflows/onboarding_workflow.py:56"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fdf77106902eeaf7", "level": "note", "message": {"text": "Possibly dead Python function: check_server_and_open"}, "properties": {"repobilityId": "0324a47a26f0e83b", "scanner": "scanner-primary", "fingerprint": "fdf77106902eeaf7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/workflows/von/main.py:425"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f9aeea180c1b194", "level": "note", "message": {"text": "Possibly dead Python function: fetch_issue"}, "properties": {"repobilityId": "90bdf182f5711686", "scanner": "scanner-primary", "fingerprint": "8f9aeea180c1b194", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/integrations/jira_client.py:122"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ca7c15cbe6df51ce", "level": "note", "message": {"text": "Possibly dead Python function: disable"}, "properties": {"repobilityId": "3b7cf60d372b1603", "scanner": "scanner-primary", "fingerprint": "ca7c15cbe6df51ce", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/integrations/internal_mcp/gateway.py:166"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b1f3facc1cdc586d", "level": "note", "message": {"text": "Possibly dead Python function: extend_catalogue"}, "properties": {"repobilityId": "86d4e0b9fbf510d8", "scanner": "scanner-primary", "fingerprint": "b1f3facc1cdc586d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/integrations/internal_mcp/gateway.py:364"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9189a95f91d84e32", "level": "note", "message": {"text": "Possibly dead Python function: shutdown_arxiv_proxy"}, "properties": {"repobilityId": "0cba63602bdbc548", "scanner": "scanner-primary", "fingerprint": "9189a95f91d84e32", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/integrations/internal_mcp/arxiv_proxy.py:379"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-71560b101d9e9a00", "level": "note", "message": {"text": "Possibly dead Python function: iter_exposed_tool_names"}, "properties": {"repobilityId": "17e60653a0e54899", "scanner": "scanner-primary", "fingerprint": "71560b101d9e9a00", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/integrations/internal_mcp/tool_contract_registry.py:614"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-660b704b8b139c99", "level": "note", "message": {"text": "Possibly dead Python function: visibility_relationship_field"}, "properties": {"repobilityId": "575e415fc0c7f366", "scanner": "scanner-primary", "fingerprint": "660b704b8b139c99", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/security/visibility_predicates.py:161"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab16024ec54547e", "level": "note", "message": {"text": "Possibly dead Python function: has_permission"}, "properties": {"repobilityId": "34bb91e46826662f", "scanner": "scanner-primary", "fingerprint": "3ab16024ec54547e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/security/role_resolver.py:114"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4be37746d46ae01e", "level": "note", "message": {"text": "Possibly dead Python function: safe_strip"}, "properties": {"repobilityId": "d8bea5d31ef8fc56", "scanner": "scanner-primary", "fingerprint": "4be37746d46ae01e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/utils/string_utils.py:5"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a41694c3d0a3f45d", "level": "note", "message": {"text": "Possibly dead Python function: log_knowledge_interaction"}, "properties": {"repobilityId": "83f9f4aad1ca6233", "scanner": "scanner-primary", "fingerprint": "a41694c3d0a3f45d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/utils/knowledge_interaction_logger.py:20"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fd414e8b21372834", "level": "note", "message": {"text": "Possibly dead Python function: dummy_list_models_func"}, "properties": {"repobilityId": "738ffe90c7664065", "scanner": "scanner-primary", "fingerprint": "fd414e8b21372834", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/utils_flask.py:4059"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-674a7a148ef9d812", "level": "note", "message": {"text": "Possibly dead Python function: dummy_generate_func"}, "properties": {"repobilityId": "1e2a0f84d2a13c3d", "scanner": "scanner-primary", "fingerprint": "674a7a148ef9d812", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/utils_flask.py:4062"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd14ffa9ec3861c0", "level": "note", "message": {"text": "Possibly dead Python function: sort_key"}, "properties": {"repobilityId": "ac2a4181eae38738", "scanner": "scanner-primary", "fingerprint": "cd14ffa9ec3861c0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/routes/predicate_routes.py:624"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3b6e0eaadff482ff", "level": "note", "message": {"text": "Possibly dead Python function: cleanup_old_states"}, "properties": {"repobilityId": "33f29dc9c41115d5", "scanner": "scanner-primary", "fingerprint": "3b6e0eaadff482ff", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/routes/auth_routes.py:303"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-49bb44297a2bb0a2", "level": "note", "message": {"text": "Possibly dead Python function: ticker"}, "properties": {"repobilityId": "a2d5cae85b5e85cc", "scanner": "scanner-primary", "fingerprint": "49bb44297a2bb0a2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/routes/vontology_routes.py:661"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-afbffbf66cdf26d5", "level": "note", "message": {"text": "Possibly dead Python function: mark"}, "properties": {"repobilityId": "2a34a4139a3e053c", "scanner": "scanner-primary", "fingerprint": "afbffbf66cdf26d5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/routes/task_routes.py:54"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ac5372ee07597f88", "level": "note", "message": {"text": "Possibly dead Python function: is_debug_payload_blob_ref"}, "properties": {"repobilityId": "9c83e9e38593c6f1", "scanner": "scanner-primary", "fingerprint": "ac5372ee07597f88", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/services/debug_payload_store.py:187"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f0c53a3a65a22157", "level": "note", "message": {"text": "Possibly dead Python function: list_types"}, "properties": {"repobilityId": "b8d28ebcc6107087", "scanner": "scanner-primary", "fingerprint": "f0c53a3a65a22157", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/services/vontology_service.py:135"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2b3debc4ac76f68d", "level": "note", "message": {"text": "Possibly dead Python function: search_types"}, "properties": {"repobilityId": "0690c0d9b5f420c5", "scanner": "scanner-primary", "fingerprint": "2b3debc4ac76f68d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/services/vontology_service.py:220"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-911bc6500a6c5325", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/tabNavigation.js:15"}, "properties": {"repobilityId": "1d9b4618a90287bb", "scanner": "scanner-primary", "fingerprint": "911bc6500a6c5325", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3030a6028241a2f7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/predicateView.js:34"}, "properties": {"repobilityId": "1b22deb7e42daf2f", "scanner": "scanner-primary", "fingerprint": "3030a6028241a2f7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0b73cc83e7c38508", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/frontend/web/von_interface/static/js/conceptTab.js:981"}, "properties": {"repobilityId": "e54ff27faf3aab19", "scanner": "scanner-primary", "fingerprint": "0b73cc83e7c38508", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-fe3997117c39aeca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/conceptTab.js:723"}, "properties": {"repobilityId": "40e9f287906bb002", "scanner": "scanner-primary", "fingerprint": "fe3997117c39aeca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-32b30d6df3edd1c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/importExportTab.js:7"}, "properties": {"repobilityId": "ac22c4c5b786a028", "scanner": "scanner-primary", "fingerprint": "32b30d6df3edd1c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d5f36341b4a55a0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/dynamicTabs.js:588"}, "properties": {"repobilityId": "e36e95e8db636238", "scanner": "scanner-primary", "fingerprint": "d5f36341b4a55a0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-549eca211b8d3323", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/vontology.js:412"}, "properties": {"repobilityId": "245b3e610c395096", "scanner": "scanner-primary", "fingerprint": "549eca211b8d3323", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7bf008b855893032", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/frontend/web/von_interface/static/js/chat.js:152"}, "properties": {"repobilityId": "b5500a0cf7efc89b", "scanner": "scanner-primary", "fingerprint": "7bf008b855893032", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-79bd7744258f1e57", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/annotationTab.js:551"}, "properties": {"repobilityId": "efb480008b73d975", "scanner": "scanner-primary", "fingerprint": "79bd7744258f1e57", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f506a9ee388b8cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/state.js:43"}, "properties": {"repobilityId": "b9be3e97747b8f5b", "scanner": "scanner-primary", "fingerprint": "2f506a9ee388b8cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-79cfcd9280af2711", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 src/frontend/web/von_interface/static/js/main.js:161"}, "properties": {"repobilityId": "f3edebdcbeb40e5b", "scanner": "scanner-primary", "fingerprint": "79cfcd9280af2711", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8f017b87181bad32", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/main.js:43"}, "properties": {"repobilityId": "50a3da1432303cc4", "scanner": "scanner-primary", "fingerprint": "8f017b87181bad32", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6236d910cad6b94d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/domUtils.js:229"}, "properties": {"repobilityId": "acdfd11dc1d8682f", "scanner": "scanner-primary", "fingerprint": "6236d910cad6b94d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e0cf39ee43d27790", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/settingsPage.js:3129"}, "properties": {"repobilityId": "550d54918e6d929f", "scanner": "scanner-primary", "fingerprint": "e0cf39ee43d27790", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6604ec3cd51c0bce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/test/languageConfigTest.js:18"}, "properties": {"repobilityId": "63240f773d8dcbc3", "scanner": "scanner-primary", "fingerprint": "6604ec3cd51c0bce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a27fe57ab735b323", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 src/frontend/web/von_interface/static/js/test/chatTab.test.js:5540"}, "properties": {"repobilityId": "d200f22bae0d870a", "scanner": "scanner-primary", "fingerprint": "a27fe57ab735b323", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-ac5702312a6580a5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/orgSelector.js:378"}, "properties": {"repobilityId": "925e850d3981fca3", "scanner": "scanner-primary", "fingerprint": "ac5702312a6580a5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5c0ee1c5d0f77a47", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 src/frontend/web/von_interface/static/js/components/messagePanel.js:156"}, "properties": {"repobilityId": "8cabf1a9484b0642", "scanner": "scanner-primary", "fingerprint": "5c0ee1c5d0f77a47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-07c5c2460174a8f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/messagePanel.js:54"}, "properties": {"repobilityId": "29376e556041bdc0", "scanner": "scanner-primary", "fingerprint": "07c5c2460174a8f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-633c19509a22bc7b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/conceptAutocomplete.js:232"}, "properties": {"repobilityId": "cc5808dbfc979c5a", "scanner": "scanner-primary", "fingerprint": "633c19509a22bc7b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3c4fc85ae3537a7b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/frontend/web/von_interface/static/js/components/taskPanel.js:540"}, "properties": {"repobilityId": "125ddd1057db9fbb", "scanner": "scanner-primary", "fingerprint": "3c4fc85ae3537a7b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4f13e24388f5989b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/backend/db/playground-1.mongodb.js:8"}, "properties": {"repobilityId": "d6e9df75ce72d1f0", "scanner": "scanner-primary", "fingerprint": "4f13e24388f5989b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-5204afaab8592682", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/lint_frontend_static.cjs:1"}, "properties": {"repobilityId": "c26a1df742ea9383", "scanner": "scanner-primary", "fingerprint": "5204afaab8592682", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/lint_frontend_static.cjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e6de4efcb4a27fc2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/settings.js:58"}, "properties": {"repobilityId": "8d0364d90b2f98b0", "scanner": "scanner-primary", "fingerprint": "e6de4efcb4a27fc2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/settings.js"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-005395f4cd97b115", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/tabNavigation.js:179"}, "properties": {"repobilityId": "3455a8e8f41294b5", "scanner": "scanner-primary", "fingerprint": "005395f4cd97b115", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/tabNavigation.js"}, "region": {"startLine": 179}}}]}, {"ruleId": "scanner-3ab4849382921a39", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/workflowStudioPage.js:382"}, "properties": {"repobilityId": "23caf5028491f105", "scanner": "scanner-primary", "fingerprint": "3ab4849382921a39", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/workflowStudioPage.js"}, "region": {"startLine": 382}}}]}, {"ruleId": "scanner-d7953246705e6617", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/predicateView.js:73"}, "properties": {"repobilityId": "0f1875e3d8d9f158", "scanner": "scanner-primary", "fingerprint": "d7953246705e6617", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/predicateView.js"}, "region": {"startLine": 73}}}]}, {"ruleId": "scanner-850c57f1de850955", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/conceptTab.js:23"}, "properties": {"repobilityId": "fc31cf244273e3a4", "scanner": "scanner-primary", "fingerprint": "850c57f1de850955", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/conceptTab.js"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-998839b9b1db663c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/languageConfig.js:71"}, "properties": {"repobilityId": "4deeaddec699b3b9", "scanner": "scanner-primary", "fingerprint": "998839b9b1db663c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/languageConfig.js"}, "region": {"startLine": 71}}}]}, {"ruleId": "scanner-c807276780ae3f62", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/importExportTab.js:862"}, "properties": {"repobilityId": "ee6724e4136f8719", "scanner": "scanner-primary", "fingerprint": "c807276780ae3f62", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/importExportTab.js"}, "region": {"startLine": 862}}}]}, {"ruleId": "scanner-2a398c0501cba8c1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/dynamicTabs.js:661"}, "properties": {"repobilityId": "2fe9e32009cf0445", "scanner": "scanner-primary", "fingerprint": "2a398c0501cba8c1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/dynamicTabs.js"}, "region": {"startLine": 661}}}]}, {"ruleId": "scanner-5eced70d6b30a23f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/vontology.js:781"}, "properties": {"repobilityId": "4fcefcfbfa7351d3", "scanner": "scanner-primary", "fingerprint": "5eced70d6b30a23f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/vontology.js"}, "region": {"startLine": 781}}}]}, {"ruleId": "scanner-e85b57ee8d37da77", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/chat.js:83"}, "properties": {"repobilityId": "41573b83375c454d", "scanner": "scanner-primary", "fingerprint": "e85b57ee8d37da77", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/chat.js"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-a2d7f1f75f73ce0f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/predicateMetadataPanel.js:51"}, "properties": {"repobilityId": "9f818e1b1eba769b", "scanner": "scanner-primary", "fingerprint": "a2d7f1f75f73ce0f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/predicateMetadataPanel.js"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-1f38da4d3357f4c6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/annotationTab.js:211"}, "properties": {"repobilityId": "a1c8373cb38d37d5", "scanner": "scanner-primary", "fingerprint": "1f38da4d3357f4c6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/annotationTab.js"}, "region": {"startLine": 211}}}]}, {"ruleId": "scanner-093ef45324917cc5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/main.js:1277"}, "properties": {"repobilityId": "5507b8e70fca9f19", "scanner": "scanner-primary", "fingerprint": "093ef45324917cc5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/main.js"}, "region": {"startLine": 1277}}}]}, {"ruleId": "scanner-3afc77a42d3b0286", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/domUtils.js:186"}, "properties": {"repobilityId": "4fe69564819d8dba", "scanner": "scanner-primary", "fingerprint": "3afc77a42d3b0286", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/domUtils.js"}, "region": {"startLine": 186}}}]}, {"ruleId": "scanner-e0fa7169a5bfb457", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/predicateExtentDisplay.js:211"}, "properties": {"repobilityId": "f5663714a1c3b314", "scanner": "scanner-primary", "fingerprint": "e0fa7169a5bfb457", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/predicateExtentDisplay.js"}, "region": {"startLine": 211}}}]}, {"ruleId": "scanner-169000841ddfbdd5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/settingsPage.js:551"}, "properties": {"repobilityId": "f7a2d9003e9acf2e", "scanner": "scanner-primary", "fingerprint": "169000841ddfbdd5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/settingsPage.js"}, "region": {"startLine": 551}}}]}, {"ruleId": "scanner-24b95ef1a03d3e2e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/utils/jsonInspector.js:255"}, "properties": {"repobilityId": "d356e071d23ddde8", "scanner": "scanner-primary", "fingerprint": "24b95ef1a03d3e2e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/utils/jsonInspector.js"}, "region": {"startLine": 255}}}]}, {"ruleId": "scanner-5470fc9cdfd5b87b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/utils/selectConceptByIdHandler.js:617"}, "properties": {"repobilityId": "3c110c44980fb071", "scanner": "scanner-primary", "fingerprint": "5470fc9cdfd5b87b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/utils/selectConceptByIdHandler.js"}, "region": {"startLine": 617}}}]}, {"ruleId": "scanner-70fc28dd42b64153", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/utils/textDecorator.js:307"}, "properties": {"repobilityId": "5615ae3229a9d765", "scanner": "scanner-primary", "fingerprint": "70fc28dd42b64153", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/utils/textDecorator.js"}, "region": {"startLine": 307}}}]}, {"ruleId": "scanner-b5599ae2b661ffb4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/paperRecommendationProfilePanel.js:42"}, "properties": {"repobilityId": "42752894a5f1d4a6", "scanner": "scanner-primary", "fingerprint": "b5599ae2b661ffb4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/components/paperRecommendationProfilePanel.js"}, "region": {"startLine": 42}}}]}, {"ruleId": "scanner-0931d48e815b98c5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/orgSelector.js:65"}, "properties": {"repobilityId": "e1f83c205db7e72e", "scanner": "scanner-primary", "fingerprint": "0931d48e815b98c5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/components/orgSelector.js"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-7830467c4ccf4593", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/messagePanel.js:103"}, "properties": {"repobilityId": "43426a9183049024", "scanner": "scanner-primary", "fingerprint": "7830467c4ccf4593", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/components/messagePanel.js"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-e14d6e5b741c3e92", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/conceptAutocomplete.js:161"}, "properties": {"repobilityId": "c30e5c8900e6f0d0", "scanner": "scanner-primary", "fingerprint": "e14d6e5b741c3e92", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/components/conceptAutocomplete.js"}, "region": {"startLine": 161}}}]}, {"ruleId": "scanner-137ac0b9be9d0aa2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/conceptSummaryRendererPanel.js:95"}, "properties": {"repobilityId": "8810a7a19f1b7aac", "scanner": "scanner-primary", "fingerprint": "137ac0b9be9d0aa2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/components/conceptSummaryRendererPanel.js"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-5ba79005d380336e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/frontend/web/von_interface/static/js/components/taskPanel.js:324"}, "properties": {"repobilityId": "44770aa09a2b265e", "scanner": "scanner-primary", "fingerprint": "5ba79005d380336e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/frontend/web/von_interface/static/js/components/taskPanel.js"}, "region": {"startLine": 324}}}]}, {"ruleId": "scanner-695c372f096f0ba7", "level": "note", "message": {"text": "Insecure pattern 'debug_true' in src/workflows/von/main.py:447"}, "properties": {"repobilityId": "96dd50a4b46d034d", "scanner": "scanner-primary", "fingerprint": "695c372f096f0ba7", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "debug_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/workflows/von/main.py"}, "region": {"startLine": 447}}}]}, {"ruleId": "scanner-ecfc34ee8cca134d", "level": "note", "message": {"text": "Insecure pattern 'debug_true' in src/backend/server/utils_flask.py:4070"}, "properties": {"repobilityId": "e0f96421cb42134a", "scanner": "scanner-primary", "fingerprint": "ecfc34ee8cca134d", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "debug_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/utils_flask.py"}, "region": {"startLine": 4070}}}]}, {"ruleId": "scanner-8d9ded98bd48f751", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "012e355f7519bb0b", "scanner": "scanner-primary", "fingerprint": "8d9ded98bd48f751", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/python-compatibility.yml"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-8d9ded98bd48f751", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "167ec08ade574810", "scanner": "scanner-primary", "fingerprint": "8d9ded98bd48f751", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/python-compatibility.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-160cc42ece489481", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e81615abd6d26ed2", "scanner": "scanner-primary", "fingerprint": "160cc42ece489481", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/openstack-deploy.yml"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-160cc42ece489481", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "9ef9c2d18dc118c6", "scanner": "scanner-primary", "fingerprint": "160cc42ece489481", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/openstack-deploy.yml"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-160cc42ece489481", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "71ceb08a5f49e6cf", "scanner": "scanner-primary", "fingerprint": "160cc42ece489481", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/openstack-deploy.yml"}, "region": {"startLine": 57}}}]}, {"ruleId": "scanner-160cc42ece489481", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b9743afee0ad8ea0", "scanner": "scanner-primary", "fingerprint": "160cc42ece489481", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/openstack-deploy.yml"}, "region": {"startLine": 98}}}]}, {"ruleId": "scanner-160cc42ece489481", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e81615abd6d26ed2", "scanner": "scanner-primary", "fingerprint": "160cc42ece489481", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/openstack-deploy.yml"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-160cc42ece489481", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b298e1ab2d167d5f", "scanner": "scanner-primary", "fingerprint": "160cc42ece489481", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/openstack-deploy.yml"}, "region": {"startLine": 132}}}]}, {"ruleId": "scanner-160cc42ece489481", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b9743afee0ad8ea0", "scanner": "scanner-primary", "fingerprint": "160cc42ece489481", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/openstack-deploy.yml"}, "region": {"startLine": 195}}}]}, {"ruleId": "scanner-c27afd4ea554884b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "42043c3600e6538b", "scanner": "scanner-primary", "fingerprint": "c27afd4ea554884b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/secret-scanning.yml"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-c27afd4ea554884b", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "354d943f28a92952", "scanner": "scanner-primary", "fingerprint": "c27afd4ea554884b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/secret-scanning.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-c27afd4ea554884b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "429c8e47cc0051d9", "scanner": "scanner-primary", "fingerprint": "c27afd4ea554884b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/secret-scanning.yml"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-53543d5435ae0543", "level": "note", "message": {"text": "Very large file: run.sh (3083 lines)"}, "properties": {"repobilityId": "26b3fc77061e5b4a", "scanner": "scanner-primary", "fingerprint": "53543d5435ae0543", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ac059dde3f4aa86e", "level": "note", "message": {"text": "Very large file: tests/test_run_live_kb_tool_prompt_sampler.py (2650 lines)"}, "properties": {"repobilityId": "ef14e34e5802dcfd", "scanner": "scanner-primary", "fingerprint": "ac059dde3f4aa86e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d4a2137cd5df3173", "level": "note", "message": {"text": "Very large file: tests/frontend/chatTabSpeechPlanning.test.js (1279 lines)"}, "properties": {"repobilityId": "2f5162d82dd61a63", "scanner": "scanner-primary", "fingerprint": "d4a2137cd5df3173", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-da1330c8e892bf72", "level": "note", "message": {"text": "Very large file: tests/backend/test_von_generate_authenticated_identity_routing.py (2926 lines)"}, "properties": {"repobilityId": "a4b72e5933220d14", "scanner": "scanner-primary", "fingerprint": "da1330c8e892bf72", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4decefe70816f856", "level": "note", "message": {"text": "Very large file: tests/backend/test_workflow_purity_report.py (1513 lines)"}, "properties": {"repobilityId": "8dc462b520d9a031", "scanner": "scanner-primary", "fingerprint": "4decefe70816f856", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-987b982eb2ab3b73", "level": "note", "message": {"text": "Very large file: tests/backend/test_workflow_discovery_service.py (1998 lines)"}, "properties": {"repobilityId": "ef57e709e91b693e", "scanner": "scanner-primary", "fingerprint": "987b982eb2ab3b73", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fb5acda6e592b051", "level": "note", "message": {"text": "Very large file: tests/backend/test_orchestrator_extraction.py (1986 lines)"}, "properties": {"repobilityId": "340c8bbb4c3c0e0a", "scanner": "scanner-primary", "fingerprint": "fb5acda6e592b051", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-139e3895e9788ab0", "level": "note", "message": {"text": "Very large file: tests/backend/test_conversation_turn_workflow_vontology_service.py (1741 lines)"}, "properties": {"repobilityId": "d351b65e77d2c222", "scanner": "scanner-primary", "fingerprint": "139e3895e9788ab0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3c1170934d8d24aa", "level": "note", "message": {"text": "Very large file: tests/backend/test_turn_execution_record_service_execution_summary.py (2382 lines)"}, "properties": {"repobilityId": "5dc4fb33c28494ef", "scanner": "scanner-primary", "fingerprint": "3c1170934d8d24aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c37dae4945e4fe98", "level": "note", "message": {"text": "Very large file: tests/backend/test_von_generate_presenter_protocol.py (2240 lines)"}, "properties": {"repobilityId": "92589e9d9e3f7bd4", "scanner": "scanner-primary", "fingerprint": "c37dae4945e4fe98", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d1811e18ca25e833", "level": "note", "message": {"text": "Very large file: tests/backend/test_orchestrator_structured_calling.py (2273 lines)"}, "properties": {"repobilityId": "35c51cab2bea38eb", "scanner": "scanner-primary", "fingerprint": "d1811e18ca25e833", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7aeda5d4925188d7", "level": "note", "message": {"text": "Very large file: tests/backend/test_vontology_loader.py (3391 lines)"}, "properties": {"repobilityId": "6d24e91fcc384d61", "scanner": "scanner-primary", "fingerprint": "7aeda5d4925188d7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dc76bcc8d0ac9c0b", "level": "note", "message": {"text": "Very large file: tests/backend/test_paper_representation_workflow_vontology_service.py (2644 lines)"}, "properties": {"repobilityId": "047f2ef6d9faa922", "scanner": "scanner-primary", "fingerprint": "dc76bcc8d0ac9c0b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ffe0eb09fd2a395c", "level": "note", "message": {"text": "Very large file: tests/backend/test_internal_mcp_orchestrator_preflight.py (2120 lines)"}, "properties": {"repobilityId": "68d36334d6ecde86", "scanner": "scanner-primary", "fingerprint": "ffe0eb09fd2a395c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b791a6386cf53f1d", "level": "note", "message": {"text": "Very large file: tests/backend/test_workflows_routes.py (1718 lines)"}, "properties": {"repobilityId": "d19e0188b74fa29c", "scanner": "scanner-primary", "fingerprint": "b791a6386cf53f1d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-eb7c02d3ac7ad20f", "level": "note", "message": {"text": "Very large file: tests/backend/test_workflow_concept_authority_service.py (1557 lines)"}, "properties": {"repobilityId": "e1e04e409cc48b99", "scanner": "scanner-primary", "fingerprint": "eb7c02d3ac7ad20f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9ad7707657107eeb", "level": "note", "message": {"text": "Very large file: tests/backend/test_tool_progress_liveness.py (3484 lines)"}, "properties": {"repobilityId": "ac3b8bcba08e2f8b", "scanner": "scanner-primary", "fingerprint": "9ad7707657107eeb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f785b24525d3c5cf", "level": "note", "message": {"text": "Very large file: tests/backend/test_orchestrator_model_fallback_execution.py (2446 lines)"}, "properties": {"repobilityId": "d16c0add0cb89ac7", "scanner": "scanner-primary", "fingerprint": "f785b24525d3c5cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-99219e09e23c59d6", "level": "note", "message": {"text": "Very large file: tests/backend/test_durable_workflow_executor_safety.py (1593 lines)"}, "properties": {"repobilityId": "a562e97f3f08e538", "scanner": "scanner-primary", "fingerprint": "99219e09e23c59d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2b6e760c372cb6d3", "level": "note", "message": {"text": "Very large file: tests/backend/test_llm_step_executor.py (1573 lines)"}, "properties": {"repobilityId": "7b60ecc99dd06566", "scanner": "scanner-primary", "fingerprint": "2b6e760c372cb6d3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-745dd87a44041232", "level": "note", "message": {"text": "Very large file: tests/backend/test_display_elements_service.py (2354 lines)"}, "properties": {"repobilityId": "65395357586bb77d", "scanner": "scanner-primary", "fingerprint": "745dd87a44041232", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7e85bf10a2a61df9", "level": "note", "message": {"text": "Very large file: tests/backend/test_internal_mcp_workflow_tools.py (2516 lines)"}, "properties": {"repobilityId": "1e5078019a1b52b5", "scanner": "scanner-primary", "fingerprint": "7e85bf10a2a61df9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b0d4347848da2e97", "level": "note", "message": {"text": "Very large file: tests/backend/test_orchestrator_missing_tool_call_retry_arxiv.py (3429 lines)"}, "properties": {"repobilityId": "6143020e174d8a3b", "scanner": "scanner-primary", "fingerprint": "b0d4347848da2e97", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-654ce35a263a864a", "level": "note", "message": {"text": "Very large file: tests/backend/test_task_management_service.py (1551 lines)"}, "properties": {"repobilityId": "4adf79261335820d", "scanner": "scanner-primary", "fingerprint": "654ce35a263a864a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-144af0f5538f5c1f", "level": "note", "message": {"text": "Very large file: tests/backend/test_workflow_creation_workflow.py (1409 lines)"}, "properties": {"repobilityId": "830261a475f1e690", "scanner": "scanner-primary", "fingerprint": "144af0f5538f5c1f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e0c9807c20997f9e", "level": "note", "message": {"text": "Very large file: tests/backend/test_workflow_instance_submission_service.py (1480 lines)"}, "properties": {"repobilityId": "5e83a7f2f9e747b3", "scanner": "scanner-primary", "fingerprint": "e0c9807c20997f9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-579316aeb664cbac", "level": "note", "message": {"text": "Very large file: tests/backend/test_rag_turn_execution_records_mcp_read_tools.py (2939 lines)"}, "properties": {"repobilityId": "03b66e53a3bbe1a9", "scanner": "scanner-primary", "fingerprint": "579316aeb664cbac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e49fa9ceebc72272", "level": "note", "message": {"text": "Very large file: tests/backend/test_turn_execution_required_effects_contract.py (2102 lines)"}, "properties": {"repobilityId": "66e34245c1f372fb", "scanner": "scanner-primary", "fingerprint": "e49fa9ceebc72272", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e8f489aa55dd0f9f", "level": "note", "message": {"text": "Very large file: tests/backend/test_orchestrator_supervised_turn_reporting.py (3013 lines)"}, "properties": {"repobilityId": "d42547466f13f942", "scanner": "scanner-primary", "fingerprint": "e8f489aa55dd0f9f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-942baf9a52c39607", "level": "note", "message": {"text": "Very large file: tests/backend/test_turn_execution_workflow_definitions.py (1866 lines)"}, "properties": {"repobilityId": "506cd84f7ab0216e", "scanner": "scanner-primary", "fingerprint": "942baf9a52c39607", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e6b43179db783cbe", "level": "note", "message": {"text": "Very large file: tests/backend/test_turn_execution_selected_workflow_output_propagation.py (1401 lines)"}, "properties": {"repobilityId": "d71f44067c534db6", "scanner": "scanner-primary", "fingerprint": "e6b43179db783cbe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b2393c8ee8b765ae", "level": "note", "message": {"text": "Very large file: tests/backend/test_durable_workflow_system.py (1810 lines)"}, "properties": {"repobilityId": "c71caac05bdb9eb9", "scanner": "scanner-primary", "fingerprint": "b2393c8ee8b765ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-748aaecdc427ecfe", "level": "note", "message": {"text": "Very large file: tests/backend/test_orchestrator_turn_execution_gate.py (1947 lines)"}, "properties": {"repobilityId": "b4b724b58cb87b8e", "scanner": "scanner-primary", "fingerprint": "748aaecdc427ecfe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-47bff80987837d70", "level": "note", "message": {"text": "Very large file: tests/backend/test_orchestrator_custom_workflow_dispatch.py (1590 lines)"}, "properties": {"repobilityId": "2b99c23ce4bf4903", "scanner": "scanner-primary", "fingerprint": "47bff80987837d70", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5bbf0806341aa362", "level": "note", "message": {"text": "Very large file: tests/backend/test_von_generate_render_plan_debug.py (1532 lines)"}, "properties": {"repobilityId": "76cddd78d149f02b", "scanner": "scanner-primary", "fingerprint": "5bbf0806341aa362", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-def1394a393289be", "level": "note", "message": {"text": "Very large file: tests/backend/test_workflow_capability_service.py (1584 lines)"}, "properties": {"repobilityId": "8a4254b8e2a9111a", "scanner": "scanner-primary", "fingerprint": "def1394a393289be", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-03c8aab8f6e5d02e", "level": "note", "message": {"text": "Very large file: scripts/run_live_kb_tool_prompt_sampler.py (4646 lines)"}, "properties": {"repobilityId": "271cda86d13c49d9", "scanner": "scanner-primary", "fingerprint": "03c8aab8f6e5d02e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b715a54d5549736f", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/workflowStudioPage.js (1555 lines)"}, "properties": {"repobilityId": "8499d9e233928028", "scanner": "scanner-primary", "fingerprint": "b715a54d5549736f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1a950fe06ef7671f", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/conceptTab.js (3901 lines)"}, "properties": {"repobilityId": "44778f6ea383dfd7", "scanner": "scanner-primary", "fingerprint": "1a950fe06ef7671f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cd8599eb0506c204", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/dynamicTabs.js (7792 lines)"}, "properties": {"repobilityId": "192d6af683872afe", "scanner": "scanner-primary", "fingerprint": "cd8599eb0506c204", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-115a4302770bb05b", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/vontology.js (4959 lines)"}, "properties": {"repobilityId": "ec5d92ebbde904ec", "scanner": "scanner-primary", "fingerprint": "115a4302770bb05b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-49e169788b0e892d", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/annotationTab.js (1370 lines)"}, "properties": {"repobilityId": "99ce3c85a36669ab", "scanner": "scanner-primary", "fingerprint": "49e169788b0e892d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-71feec833e4f6314", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/main.js (2336 lines)"}, "properties": {"repobilityId": "403e480b3648e255", "scanner": "scanner-primary", "fingerprint": "71feec833e4f6314", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d81fbdd364db766d", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/domUtils.js (1485 lines)"}, "properties": {"repobilityId": "b0ea80df2b75e0ed", "scanner": "scanner-primary", "fingerprint": "d81fbdd364db766d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ee03289245c12d53", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/settingsPage.js (4715 lines)"}, "properties": {"repobilityId": "91fb20b2fcdc2d8d", "scanner": "scanner-primary", "fingerprint": "ee03289245c12d53", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9e25dac2fd1d1134", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/test/chatTab.test.js (9584 lines)"}, "properties": {"repobilityId": "81c9035e4d0f92a5", "scanner": "scanner-primary", "fingerprint": "9e25dac2fd1d1134", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-586b4177fe5e9ae7", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/utils/selectConceptByIdHandler.js (1284 lines)"}, "properties": {"repobilityId": "7c46bec806846478", "scanner": "scanner-primary", "fingerprint": "586b4177fe5e9ae7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8944ce055cc5b4bf", "level": "note", "message": {"text": "Very large file: src/frontend/web/von_interface/static/js/components/taskPanel.js (2802 lines)"}, "properties": {"repobilityId": "192d1264f47d9d1c", "scanner": "scanner-primary", "fingerprint": "8944ce055cc5b4bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-13d81e5ae131bda4", "level": "note", "message": {"text": "Very large file: src/backend/server/utils_flask.py (4070 lines)"}, "properties": {"repobilityId": "56a295690f1eab77", "scanner": "scanner-primary", "fingerprint": "13d81e5ae131bda4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1ae670d2d88e2ac1", "level": "note", "message": {"text": "Very large file: src/backend/server/routes/workflows_routes.py (2099 lines)"}, "properties": {"repobilityId": "17eb73fa33e0f9c3", "scanner": "scanner-primary", "fingerprint": "1ae670d2d88e2ac1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-884d02a3347299dc", "level": "note", "message": {"text": "Very large file: src/backend/server/routes/von_routes.py (18616 lines)"}, "properties": {"repobilityId": "4f44c7a59835b76d", "scanner": "scanner-primary", "fingerprint": "884d02a3347299dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1058923c997d493f", "level": "note", "message": {"text": "Very large file: src/backend/server/routes/concept_routes.py (1477 lines)"}, "properties": {"repobilityId": "01043a94436e29ba", "scanner": "scanner-primary", "fingerprint": "1058923c997d493f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7d0037437d0f6cca", "level": "note", "message": {"text": "Very large file: src/backend/server/routes/settings_routes.py (3326 lines)"}, "properties": {"repobilityId": "00763a7c1f4cb54d", "scanner": "scanner-primary", "fingerprint": "7d0037437d0f6cca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-21e9e2364d52d43b", "level": "note", "message": {"text": "Very large file: src/backend/server/routes/vontology_routes.py (5579 lines)"}, "properties": {"repobilityId": "fa4aaeae64eca381", "scanner": "scanner-primary", "fingerprint": "21e9e2364d52d43b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-11f38b2a48bc4db3", "level": "note", "message": {"text": "Very large file: src/backend/services/workflow_discovery_service.py (2630 lines)"}, "properties": {"repobilityId": "71fa3d06034bc493", "scanner": "scanner-primary", "fingerprint": "11f38b2a48bc4db3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-54285a3ceeca089a", "level": "note", "message": {"text": "Very large file: src/backend/services/episode_critic_evidence_service.py (2023 lines)"}, "properties": {"repobilityId": "1d448e48ac553daf", "scanner": "scanner-primary", "fingerprint": "54285a3ceeca089a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c12b8b70ff9b5a8", "level": "note", "message": {"text": "Very large file: src/backend/services/ai_chat_session_ingestion_service.py (1606 lines)"}, "properties": {"repobilityId": "a91546b85a0e04d2", "scanner": "scanner-primary", "fingerprint": "0c12b8b70ff9b5a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6df7c63fc9b986c4", "level": "note", "message": {"text": "Very large file: src/backend/services/concept_relation_service.py (3038 lines)"}, "properties": {"repobilityId": "eb44fae6f1d4ce68", "scanner": "scanner-primary", "fingerprint": "6df7c63fc9b986c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ff08e7fd42700df0", "level": "note", "message": {"text": "Very large file: src/backend/services/display_elements_service.py (3827 lines)"}, "properties": {"repobilityId": "e210af1778800b70", "scanner": "scanner-primary", "fingerprint": "ff08e7fd42700df0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4b396e486d20d50e", "level": "note", "message": {"text": "Very large file: src/backend/services/concept_service.py (4302 lines)"}, "properties": {"repobilityId": "525d7c8083e4179b", "scanner": "scanner-primary", "fingerprint": "4b396e486d20d50e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-622045a96242a5fb", "level": "note", "message": {"text": "Very large file: src/backend/services/turn_execution_diagnostics_service.py (2183 lines)"}, "properties": {"repobilityId": "51a0588b9633a90f", "scanner": "scanner-primary", "fingerprint": "622045a96242a5fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ce464021ec176279", "level": "note", "message": {"text": "Very large file: src/backend/services/episode_critique_benchmark_service.py (1701 lines)"}, "properties": {"repobilityId": "085ed150d5addc58", "scanner": "scanner-primary", "fingerprint": "ce464021ec176279", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d16c11c1c1e08e4e", "level": "note", "message": {"text": "Very large file: src/backend/services/concept_search_service.py (1444 lines)"}, "properties": {"repobilityId": "7c30f9896c489c13", "scanner": "scanner-primary", "fingerprint": "d16c11c1c1e08e4e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a608e0fd74c280ab", "level": "note", "message": {"text": "Very large file: src/backend/services/paper_recommendation_materialisation_service.py (1654 lines)"}, "properties": {"repobilityId": "008b4ea6ddb990d7", "scanner": "scanner-primary", "fingerprint": "a608e0fd74c280ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-abdcc6a596b31166", "level": "note", "message": {"text": "Very large file: src/backend/services/episode_critique_memory_service.py (2038 lines)"}, "properties": {"repobilityId": "3683756780a457a9", "scanner": "scanner-primary", "fingerprint": "abdcc6a596b31166", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-78288454e183ce19", "level": "note", "message": {"text": "Very large file: src/backend/services/failure_case_intake_service.py (1617 lines)"}, "properties": {"repobilityId": "5a82142958171203", "scanner": "scanner-primary", "fingerprint": "78288454e183ce19", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cfd669d63bba75c4", "level": "note", "message": {"text": "Very large file: src/backend/services/settings_service.py (2230 lines)"}, "properties": {"repobilityId": "c649efd341ce3db5", "scanner": "scanner-primary", "fingerprint": "cfd669d63bba75c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7a2b34069238a72b", "level": "note", "message": {"text": "Very large file: src/backend/services/mongo_observability_service.py (1476 lines)"}, "properties": {"repobilityId": "40cacfccd5c87338", "scanner": "scanner-primary", "fingerprint": "7a2b34069238a72b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-262c3cca542477e6", "level": "note", "message": {"text": "Very large file: src/backend/services/workflow_repo_seed_bootstrap.py (1693 lines)"}, "properties": {"repobilityId": "490916d1d687e82f", "scanner": "scanner-primary", "fingerprint": "262c3cca542477e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-65504fd230fd2296", "level": "note", "message": {"text": "Very large file: src/backend/services/jira_task_import_service.py (2653 lines)"}, "properties": {"repobilityId": "314332e42f8241f8", "scanner": "scanner-primary", "fingerprint": "65504fd230fd2296", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f2313ea4680f7213", "level": "note", "message": {"text": "Very large file: src/backend/services/tool_metadata_service.py (2266 lines)"}, "properties": {"repobilityId": "8e3763ea1ee11b63", "scanner": "scanner-primary", "fingerprint": "f2313ea4680f7213", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a172e7cbbc2c167d", "level": "note", "message": {"text": "Very large file: src/backend/services/experiment_run_service.py (2384 lines)"}, "properties": {"repobilityId": "08b14efb5c227f01", "scanner": "scanner-primary", "fingerprint": "a172e7cbbc2c167d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f27528914136ac53", "level": "note", "message": {"text": "Very large file: src/backend/services/workflow_event_integration_service.py (1745 lines)"}, "properties": {"repobilityId": "e3e9c2a035f8fa3f", "scanner": "scanner-primary", "fingerprint": "f27528914136ac53", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-144c10a6ef047159", "level": "note", "message": {"text": "Very large file: src/backend/services/task_management_service.py (4736 lines)"}, "properties": {"repobilityId": "095e8b53e2e314bf", "scanner": "scanner-primary", "fingerprint": "144c10a6ef047159", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-48551228265b0bba", "level": "note", "message": {"text": "Very large file: src/backend/services/context_bundle_service.py (1763 lines)"}, "properties": {"repobilityId": "538910bca64983d9", "scanner": "scanner-primary", "fingerprint": "48551228265b0bba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5c223a0202af03c7", "level": "note", "message": {"text": "Very large file: src/backend/services/chat_history_service.py (4478 lines)"}, "properties": {"repobilityId": "fb2efc48ba5fb056", "scanner": "scanner-primary", "fingerprint": "5c223a0202af03c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6742e6011eed8ad1", "level": "note", "message": {"text": "Very large file: src/backend/services/turn_execution_record_service.py (10644 lines)"}, "properties": {"repobilityId": "f8057fc8af76648f", "scanner": "scanner-primary", "fingerprint": "6742e6011eed8ad1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1de2f5b6b9795fb0", "level": "note", "message": {"text": "Very large file: src/backend/services/workflow_capability_service.py (2695 lines)"}, "properties": {"repobilityId": "3df372b3c962754c", "scanner": "scanner-primary", "fingerprint": "1de2f5b6b9795fb0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-35aa0c17e6bab325", "level": "note", "message": {"text": "Very large file: src/backend/services/relationship_removal_service.py (1546 lines)"}, "properties": {"repobilityId": "0543ad4277787eff", "scanner": "scanner-primary", "fingerprint": "35aa0c17e6bab325", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8f9db932bf650a42", "level": "note", "message": {"text": "Very large file: src/backend/workflows/workflow_concept_authority_service.py (4484 lines)"}, "properties": {"repobilityId": "d189bacfb355b75b", "scanner": "scanner-primary", "fingerprint": "8f9db932bf650a42", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3068919980002a81", "level": "note", "message": {"text": "Very large file: src/backend/workflows/workflow_definition_identity_service.py (1671 lines)"}, "properties": {"repobilityId": "9b7b8af4398a4de9", "scanner": "scanner-primary", "fingerprint": "3068919980002a81", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2aceba6e5ee71420", "level": "note", "message": {"text": "Very large file: src/backend/workflows/workflow_studio_service.py (2562 lines)"}, "properties": {"repobilityId": "08f61ccad809b0fa", "scanner": "scanner-primary", "fingerprint": "2aceba6e5ee71420", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2e534f892b8cc576", "level": "note", "message": {"text": "Very large file: src/backend/workflows/engine.py (2452 lines)"}, "properties": {"repobilityId": "984ff756a008772d", "scanner": "scanner-primary", "fingerprint": "2e534f892b8cc576", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cd863f9c732dd8b1", "level": "note", "message": {"text": "Very large file: src/backend/workflows/workflow_selector.py (1682 lines)"}, "properties": {"repobilityId": "f8a774ce1f4097f3", "scanner": "scanner-primary", "fingerprint": "cd863f9c732dd8b1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2c05ecfa91366bb5", "level": "note", "message": {"text": "Very large file: src/backend/workflows/vontology_loader.py (4429 lines)"}, "properties": {"repobilityId": "29e38dc657aeb8a4", "scanner": "scanner-primary", "fingerprint": "2c05ecfa91366bb5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f3023e64fdf0d74c", "level": "note", "message": {"text": "Very large file: src/backend/workflows/llm_step_executor.py (2799 lines)"}, "properties": {"repobilityId": "d9a2aac566937aff", "scanner": "scanner-primary", "fingerprint": "f3023e64fdf0d74c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-32852697edbdf54c", "level": "note", "message": {"text": "Very large file: src/backend/workflows/write_tool_policy.py (1892 lines)"}, "properties": {"repobilityId": "c51ddb6300c4b1a7", "scanner": "scanner-primary", "fingerprint": "32852697edbdf54c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e6f5df17fcaa71f8", "level": "note", "message": {"text": "Very large file: src/backend/workflows/workflow_purity_report.py (1891 lines)"}, "properties": {"repobilityId": "2a36c0117e47ee6e", "scanner": "scanner-primary", "fingerprint": "e6f5df17fcaa71f8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-38c62f57979546b6", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/workflow_creation_workflow.py (2828 lines)"}, "properties": {"repobilityId": "848cf4128c65af45", "scanner": "scanner-primary", "fingerprint": "38c62f57979546b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6cb1d91f10e0c48d", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/turn_execution_runtime_support.py (3848 lines)"}, "properties": {"repobilityId": "e0fa92a5052a1596", "scanner": "scanner-primary", "fingerprint": "6cb1d91f10e0c48d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-891555682b3e45df", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/workflow_instance_submission_service.py (1423 lines)"}, "properties": {"repobilityId": "37f740f4c46952e0", "scanner": "scanner-primary", "fingerprint": "891555682b3e45df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-29c56cf72c3444bd", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/paper_representation_workflow.py (1867 lines)"}, "properties": {"repobilityId": "32da79125ee847e7", "scanner": "scanner-primary", "fingerprint": "29c56cf72c3444bd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ff387f0d817cbb5d", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/instance_manager.py (2177 lines)"}, "properties": {"repobilityId": "2d020f2b1b13fa6a", "scanner": "scanner-primary", "fingerprint": "ff387f0d817cbb5d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-37e4803412486556", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/rumination_workflow.py (1631 lines)"}, "properties": {"repobilityId": "200690159ef2cc4b", "scanner": "scanner-primary", "fingerprint": "37e4803412486556", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-99765adf01c4dcee", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/registry_factory.py (1629 lines)"}, "properties": {"repobilityId": "3d3f3b3e05ceca33", "scanner": "scanner-primary", "fingerprint": "99765adf01c4dcee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fee80a442ba60c10", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/testing_workflow_actions.py (1385 lines)"}, "properties": {"repobilityId": "208d82d77a3718f1", "scanner": "scanner-primary", "fingerprint": "fee80a442ba60c10", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f589dfb389161b1d", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/workflow_introspection_maintenance_workflow.py (1748 lines)"}, "properties": {"repobilityId": "08712709dce19660", "scanner": "scanner-primary", "fingerprint": "f589dfb389161b1d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9131971b84a32bd4", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/control_flow_actions.py (1392 lines)"}, "properties": {"repobilityId": "91a6250ee495c311", "scanner": "scanner-primary", "fingerprint": "9131971b84a32bd4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-324a29fe72339068", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/turn_execution_actions.py (1331 lines)"}, "properties": {"repobilityId": "3135fc1759dd3015", "scanner": "scanner-primary", "fingerprint": "324a29fe72339068", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fb6d22d9266f809f", "level": "note", "message": {"text": "Very large file: src/backend/workflows/durable/workflow_gap_recovery_workflow.py (2238 lines)"}, "properties": {"repobilityId": "dc87a63b2d04a7a5", "scanner": "scanner-primary", "fingerprint": "fb6d22d9266f809f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2bd3d8aeba3eebcc", "level": "note", "message": {"text": "Very large file: src/backend/db/mongo_client.py (1639 lines)"}, "properties": {"repobilityId": "3081bb7421b9da96", "scanner": "scanner-primary", "fingerprint": "2bd3d8aeba3eebcc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7cc7c192b122892d", "level": "note", "message": {"text": "Very large file: src/backend/mcp_server/mcp_server.py (1374 lines)"}, "properties": {"repobilityId": "a35e17599d6f95ba", "scanner": "scanner-primary", "fingerprint": "7cc7c192b122892d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-81bca0b5f294425f", "level": "note", "message": {"text": "Very large file: src/backend/mcp_server/mcp_stdio_server.py (4629 lines)"}, "properties": {"repobilityId": "44ae338f1dd09360", "scanner": "scanner-primary", "fingerprint": "81bca0b5f294425f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-37a437a0c5af6f26", "level": "note", "message": {"text": "Very large file: src/backend/languagemodels/llm_interface.py (2220 lines)"}, "properties": {"repobilityId": "e8814a9c97ce04e9", "scanner": "scanner-primary", "fingerprint": "37a437a0c5af6f26", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab95c86f7da436f", "level": "note", "message": {"text": "Very large file: src/backend/vontology/utils_vontology.py (4542 lines)"}, "properties": {"repobilityId": "a373aa7a20889f58", "scanner": "scanner-primary", "fingerprint": "3ab95c86f7da436f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1d5c69f6b9af62d4", "level": "note", "message": {"text": "57 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "1d5c69f6b9af62d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-b3ed68815bca2f8c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: package.json"}, "properties": {"repobilityId": "7edae0550c126386", "scanner": "scanner-primary", "fingerprint": "b3ed68815bca2f8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "be444ff9d702c720", "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": "3d116d59b2c8b63b", "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": "cae31bbf1c760647", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "f12974fc8e9e7b03", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "432ba6b1fca1bcc8", "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": "ff55c76a996f0d5e", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-e725d2ab884fbd49", "level": "note", "message": {"text": "Multiple root agent instruction files without precedence"}, "properties": {"repobilityId": "1953db6c89508d22", "scanner": "scanner-primary", "fingerprint": "e725d2ab884fbd49", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["agent-instructions", "governance"]}}, {"ruleId": "scanner-bd02b35bc87d0d78", "level": "note", "message": {"text": "Legacy-named symbol `gemma_mail_answer_prompt_v2` in tests/test_run_live_kb_tool_prompt_sampler.py:2133"}, "properties": {"repobilityId": "2ab706ce9dd39666", "scanner": "scanner-primary", "fingerprint": "bd02b35bc87d0d78", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2c0bb149c811dbd6", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in tests/test_blob_store.py:518"}, "properties": {"repobilityId": "ae4583d75b8d62ee", "scanner": "scanner-primary", "fingerprint": "2c0bb149c811dbd6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-de2c9c95a377409d", "level": "note", "message": {"text": "Legacy-named symbol `_zip_backup` in tests/test_restore_von_db.py:37"}, "properties": {"repobilityId": "9d74c2f97eb83fa8", "scanner": "scanner-primary", "fingerprint": "de2c9c95a377409d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2ae140c2f6f2b3cb", "level": "note", "message": {"text": "Legacy-named symbol `enable_daily_backup` in tests/test_run_ps1_daily_backup_receipts.py:45"}, "properties": {"repobilityId": "a311f1e3b2cb7542", "scanner": "scanner-primary", "fingerprint": "2ae140c2f6f2b3cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a26f183ae0dc6356", "level": "note", "message": {"text": "Legacy-named symbol `import_url_file_copy` in tests/test_run_authenticated_browser_workflow_replay.py:216"}, "properties": {"repobilityId": "92bfc2fe7dbd701c", "scanner": "scanner-primary", "fingerprint": "a26f183ae0dc6356", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9b1cd80c740a19e5", "level": "note", "message": {"text": "Legacy-named symbol `tagged_blocks_v1` in tests/frontend/chatTabLatestLlmExecutionTelemetry.test.js:188"}, "properties": {"repobilityId": "c482441295d2667b", "scanner": "scanner-primary", "fingerprint": "9b1cd80c740a19e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b4e000c9908496d7", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/frontend/chatSessionAgentCreatedFilter.test.js:202"}, "properties": {"repobilityId": "429e5816d100f7ad", "scanner": "scanner-primary", "fingerprint": "b4e000c9908496d7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c71847e1e0393a4a", "level": "note", "message": {"text": "Legacy-named symbol `computer_file_copy` in tests/frontend/dynamicTabsFileCopyActions.test.js:67"}, "properties": {"repobilityId": "308699477a466bca", "scanner": "scanner-primary", "fingerprint": "c71847e1e0393a4a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-67b6011a7212662f", "level": "note", "message": {"text": "Legacy-named symbol `von_task_group_filter_v1` in tests/frontend/taskPanelGroupFilters.test.js:152"}, "properties": {"repobilityId": "2873317202bf4825", "scanner": "scanner-primary", "fingerprint": "67b6011a7212662f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cfa64cc85cc12ee7", "level": "note", "message": {"text": "Legacy-named symbol `turn_display_elements_v1` in tests/frontend/chatTabSpeechPlanning.test.js:104"}, "properties": {"repobilityId": "dd0545b60178cbe0", "scanner": "scanner-primary", "fingerprint": "cfa64cc85cc12ee7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fa3962b3dec68ab2", "level": "note", "message": {"text": "Legacy-named symbol `wf_backup` in tests/backend/test_experiment_run_service.py:199"}, "properties": {"repobilityId": "a76bfd0e28ee0a70", "scanner": "scanner-primary", "fingerprint": "fa3962b3dec68ab2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9e68df3ed9ebb1c4", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_von_generate_authenticated_identity_routing.py:859"}, "properties": {"repobilityId": "0641f2fdc864ab9e", "scanner": "scanner-primary", "fingerprint": "9e68df3ed9ebb1c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2ea360b5779333a1", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_workflow_registry_factory_parity.py:478"}, "properties": {"repobilityId": "96329a73eafe4cfe", "scanner": "scanner-primary", "fingerprint": "2ea360b5779333a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-51406507dfea726c", "level": "note", "message": {"text": "Legacy-named symbol `read_file_copy` in tests/backend/test_orchestrator_extraction.py:62"}, "properties": {"repobilityId": "c205f86233416f40", "scanner": "scanner-primary", "fingerprint": "51406507dfea726c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bcb7b78aeff8af75", "level": "note", "message": {"text": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in tests/backend/test_orchestrator_minimal_imposition_runtime_e2e.py:97"}, "properties": {"repobilityId": "5ace5e5632128d09", "scanner": "scanner-primary", "fingerprint": "bcb7b78aeff8af75", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-88c97a224d020cf3", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_conversation_telemetry_locator_service.py:99"}, "properties": {"repobilityId": "7501946eee21cb0b", "scanner": "scanner-primary", "fingerprint": "88c97a224d020cf3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-af9da887c81f1e21", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_concept_relation_service_uncertainty.py:449"}, "properties": {"repobilityId": "c83111c6252a6944", "scanner": "scanner-primary", "fingerprint": "af9da887c81f1e21", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-18d0e474942eb3b2", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_entity_information_retrieval_workflow_vontology_service.py:125"}, "properties": {"repobilityId": "783db19ebc19039e", "scanner": "scanner-primary", "fingerprint": "18d0e474942eb3b2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0c9bb9cefc2883e8", "level": "note", "message": {"text": "Legacy-named symbol `buttonify_prompt_v1` in tests/backend/test_von_generate_presenter_protocol.py:119"}, "properties": {"repobilityId": "5f9d40595f3aa4e0", "scanner": "scanner-primary", "fingerprint": "0c9bb9cefc2883e8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a583e05ff7e9e095", "level": "note", "message": {"text": "Legacy-named symbol `_read_file_copy` in tests/backend/test_representation_intent_cross_domain_regression_suite.py:84"}, "properties": {"repobilityId": "11e4beec377e50a4", "scanner": "scanner-primary", "fingerprint": "a583e05ff7e9e095", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-86b084ecbefc3215", "level": "note", "message": {"text": "Legacy-named symbol `buttonify_prompt_v1` in tests/backend/test_orchestrator_bespoke_prompt_contracts.py:99"}, "properties": {"repobilityId": "fca99870bed8010d", "scanner": "scanner-primary", "fingerprint": "86b084ecbefc3215", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-283b6fb005d3725c", "level": "note", "message": {"text": "Legacy-named symbol `content_type_application_json_computer_file_copy` in tests/backend/test_file_copy_typing_service.py:18"}, "properties": {"repobilityId": "0dbfdc5d07eed452", "scanner": "scanner-primary", "fingerprint": "283b6fb005d3725c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8dbcc773621edfda", "level": "note", "message": {"text": "Legacy-named symbol `vontology_process_graph_v1` in tests/backend/test_vontology_loader.py:75"}, "properties": {"repobilityId": "465ebb34964218c1", "scanner": "scanner-primary", "fingerprint": "8dbcc773621edfda", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5e6df949ce5cb573", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_internal_mcp_locator_tools.py:20"}, "properties": {"repobilityId": "48bbb697b3fbed58", "scanner": "scanner-primary", "fingerprint": "5e6df949ce5cb573", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-96a7c73c2e699d95", "level": "note", "message": {"text": "Legacy-named symbol `test_arxiv_decide_acquisition_mode_prefers_existing_file_copy` in tests/backend/test_paper_representation_workflow.py:80"}, "properties": {"repobilityId": "1b85025f7ae5f1ed", "scanner": "scanner-primary", "fingerprint": "96a7c73c2e699d95", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fe354c2b67a61792", "level": "note", "message": {"text": "Legacy-named symbol `inline_legacy` in tests/backend/test_description_metadata_preservation.py:64"}, "properties": {"repobilityId": "75ffb8d48dd298fe", "scanner": "scanner-primary", "fingerprint": "fe354c2b67a61792", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ec6a7c31c8a75384", "level": "note", "message": {"text": "Legacy-named symbol `import_url_file_copy` in tests/backend/test_paper_representation_workflow_vontology_service.py:1074"}, "properties": {"repobilityId": "963519b41ad1b5c9", "scanner": "scanner-primary", "fingerprint": "ec6a7c31c8a75384", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3bce9562a3ef222a", "level": "note", "message": {"text": "Legacy-named symbol `read_file_copy` in tests/backend/test_von_generate_orchestrator_unavailable_scholarly_fail_closed.py:20"}, "properties": {"repobilityId": "9866a5e8680eb319", "scanner": "scanner-primary", "fingerprint": "3bce9562a3ef222a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9fe811cc63b8d2d1", "level": "note", "message": {"text": "Legacy-named symbol `_read_file_copy` in tests/backend/test_file_copy_ingestion_mcp_tools.py:28"}, "properties": {"repobilityId": "637c23cb0b8816c5", "scanner": "scanner-primary", "fingerprint": "9fe811cc63b8d2d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8fb3a928a380dd3f", "level": "note", "message": {"text": "Legacy-named symbol `import_bytes_file_copy` in tests/backend/test_jira_task_import_service.py:619"}, "properties": {"repobilityId": "7c3e4a5e9a60a696", "scanner": "scanner-primary", "fingerprint": "8fb3a928a380dd3f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8e6edd212b4e8744", "level": "note", "message": {"text": "Legacy-named symbol `grounded_tool_path_unused` in tests/backend/test_episode_evaluation_workflow.py:143"}, "properties": {"repobilityId": "62fd60d67b7adf4f", "scanner": "scanner-primary", "fingerprint": "8e6edd212b4e8744", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ead256171bcbcf0d", "level": "note", "message": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_workflow_continuation_service.py:53"}, "properties": {"repobilityId": "64c9f487763f523a", "scanner": "scanner-primary", "fingerprint": "ead256171bcbcf0d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4becbb24dfcb030d", "level": "note", "message": {"text": "Legacy-named symbol `computer_file_copy` in tests/backend/test_von_file_upload_endpoint.py:65"}, "properties": {"repobilityId": "0420cd820e7bb5e9", "scanner": "scanner-primary", "fingerprint": "4becbb24dfcb030d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3d1d72dd0daa653f", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_chat_history_session_summaries_resilience.py:143"}, "properties": {"repobilityId": "27e9e918a6701cd9", "scanner": "scanner-primary", "fingerprint": "3d1d72dd0daa653f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9b53ab575375847e", "level": "note", "message": {"text": "Legacy-named symbol `paper_old` in tests/backend/test_paper_recommendation_materialisation_service.py:52"}, "properties": {"repobilityId": "d2f239f24116a609", "scanner": "scanner-primary", "fingerprint": "9b53ab575375847e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-68c1fca5397889c4", "level": "note", "message": {"text": "Legacy-named symbol `renderer_filtering_boundary_v1` in tests/backend/test_orchestrator_renderer_applicability.py:51"}, "properties": {"repobilityId": "f2244d4f3af6fd3a", "scanner": "scanner-primary", "fingerprint": "68c1fca5397889c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a7ba9c286ee2d2cf", "level": "note", "message": {"text": "Legacy-named symbol `live_prompt_sampler_replay_evaluation_rubric_v1` in tests/backend/test_replay_experiment_support_services.py:25"}, "properties": {"repobilityId": "8c7f710764c1b929", "scanner": "scanner-primary", "fingerprint": "a7ba9c286ee2d2cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cb15cdc0736983f2", "level": "note", "message": {"text": "Legacy-named symbol `read_file_copy` in tests/backend/test_office_document_extraction.py:1"}, "properties": {"repobilityId": "02aa9b5da44961f7", "scanner": "scanner-primary", "fingerprint": "cb15cdc0736983f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cc38b02ae1afcdb8", "level": "note", "message": {"text": "Legacy-named symbol `computer_file_copy` in tests/backend/test_catalogue_download_paper_prefers_finalise.py:106"}, "properties": {"repobilityId": "a6635b2d02c5005d", "scanner": "scanner-primary", "fingerprint": "cc38b02ae1afcdb8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9a9a869ca272f0f8", "level": "note", "message": {"text": "Legacy-named symbol `vontology_process_graph_v1` in tests/backend/test_workflows_routes.py:155"}, "properties": {"repobilityId": "3749e1992ed7f181", "scanner": "scanner-primary", "fingerprint": "9a9a869ca272f0f8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f671f01aa7b92f0b", "level": "note", "message": {"text": "Legacy-named symbol `test_uncertain_relationship_tools_gateway_reject_and_migrate_legacy` in tests/backend/test_internal_mcp_uncertain_relationship_tools.py:75"}, "properties": {"repobilityId": "f63620443c619256", "scanner": "scanner-primary", "fingerprint": "f671f01aa7b92f0b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a250c3c27a9aa669", "level": "note", "message": {"text": "Legacy-named symbol `ai_assisted_programming_chat_session_file_copy` in tests/backend/test_ai_chat_session_ingestion_service.py:51"}, "properties": {"repobilityId": "bca9e1ca56318d07", "scanner": "scanner-primary", "fingerprint": "a250c3c27a9aa669", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-58404efe01250b40", "level": "note", "message": {"text": "Legacy-named symbol `computer_file_copy` in tests/backend/test_von_file_upload_scholarly_integration.py:115"}, "properties": {"repobilityId": "5a5020c73720b1ab", "scanner": "scanner-primary", "fingerprint": "58404efe01250b40", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-30ae629a6904fc8a", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_workflow_event_integration_service.py:333"}, "properties": {"repobilityId": "07a1b49912ada7bb", "scanner": "scanner-primary", "fingerprint": "30ae629a6904fc8a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-96adf62230d9caa1", "level": "note", "message": {"text": "Legacy-named symbol `screen_backfill_from_response_with_operational_summary_v1` in tests/backend/test_tool_progress_liveness.py:2849"}, "properties": {"repobilityId": "f77c89d91ce44c84", "scanner": "scanner-primary", "fingerprint": "96adf62230d9caa1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ed8fc6960cc43d47", "level": "note", "message": {"text": "Legacy-named symbol `grounded_tool_path_unused` in tests/backend/test_episode_critic_evidence_service.py:652"}, "properties": {"repobilityId": "26c4fbebc2232984", "scanner": "scanner-primary", "fingerprint": "ed8fc6960cc43d47", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8e481cd3964d753c", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_internal_mcp_locator_tools_gateway.py:38"}, "properties": {"repobilityId": "8883fc2cd3a7427f", "scanner": "scanner-primary", "fingerprint": "8e481cd3964d753c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-336135db138b569f", "level": "note", "message": {"text": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in tests/backend/test_minimal_imposition_runtime_profile_vontology_service.py:12"}, "properties": {"repobilityId": "e7bc21e58eab2fb1", "scanner": "scanner-primary", "fingerprint": "336135db138b569f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7aa443019ff957c3", "level": "note", "message": {"text": "Legacy-named symbol `episode_critique_memory_old` in tests/backend/test_episode_critique_routing_service.py:128"}, "properties": {"repobilityId": "73866d4b2432d242", "scanner": "scanner-primary", "fingerprint": "7aa443019ff957c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-548c4e6844cc10f4", "level": "note", "message": {"text": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in tests/backend/test_minimal_imposition_benchmark_profile_vontology_service.py:13"}, "properties": {"repobilityId": "9419333317d08e7f", "scanner": "scanner-primary", "fingerprint": "548c4e6844cc10f4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8f2df45085866d6c", "level": "note", "message": {"text": "Legacy-named symbol `test_rewrite_arxiv_resource_workflow_reads_wrapper_file_copy` in tests/backend/test_arxiv_email_paper_workflow_consistency.py:113"}, "properties": {"repobilityId": "2965221969c13985", "scanner": "scanner-primary", "fingerprint": "8f2df45085866d6c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-daa8171a7c61cd02", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_chat_history_backfill_endpoint.py:193"}, "properties": {"repobilityId": "816fd7fe3b9445f7", "scanner": "scanner-primary", "fingerprint": "daa8171a7c61cd02", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-75a0a72542797771", "level": "note", "message": {"text": "Legacy-named symbol `tagged_blocks_v1` in tests/backend/test_display_elements_service.py:15"}, "properties": {"repobilityId": "2ad8fce056c6d68d", "scanner": "scanner-primary", "fingerprint": "75a0a72542797771", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d7ed5d7bce4f8fa9", "level": "note", "message": {"text": "Legacy-named symbol `materialise_person_representation_for_file_copy` in tests/backend/test_person_file_representation_service.py:8"}, "properties": {"repobilityId": "0ad9ef5cf963f6e1", "scanner": "scanner-primary", "fingerprint": "d7ed5d7bce4f8fa9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dc31985f9b56d0b7", "level": "note", "message": {"text": "Legacy-named symbol `import_url_file_copy` in tests/backend/test_write_tool_policy.py:61"}, "properties": {"repobilityId": "2e90ea90c21aab82", "scanner": "scanner-primary", "fingerprint": "dc31985f9b56d0b7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7cf671ed1a695c5d", "level": "note", "message": {"text": "Legacy-named symbol `gmail_tool_evidence_contract_v1` in tests/backend/test_gmail_tool_evidence_contract_vontology_service.py:53"}, "properties": {"repobilityId": "f41f6b2477a8125d", "scanner": "scanner-primary", "fingerprint": "7cf671ed1a695c5d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-dca878cac0a23862", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_internal_mcp_workflow_tools.py:2313"}, "properties": {"repobilityId": "b6e9255605836b7e", "scanner": "scanner-primary", "fingerprint": "dca878cac0a23862", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-53b1ced867c605cf", "level": "note", "message": {"text": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in tests/backend/test_von_generate_bare_arxiv_url_integration.py:156"}, "properties": {"repobilityId": "8bb26e1e62cc5aa9", "scanner": "scanner-primary", "fingerprint": "53b1ced867c605cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e5ce27976df534d9", "level": "note", "message": {"text": "Legacy-named symbol `computer_file_copy` in tests/backend/test_computer_file_copy_artifact_ingestion.py:43"}, "properties": {"repobilityId": "32b8e0d9856ffe23", "scanner": "scanner-primary", "fingerprint": "e5ce27976df534d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e1edcf7cafd5e9db", "level": "note", "message": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_orchestrator_missing_tool_call_retry_arxiv.py:112"}, "properties": {"repobilityId": "6ad1ba5ffc1b8cc6", "scanner": "scanner-primary", "fingerprint": "e1edcf7cafd5e9db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9d2eba513aec1554", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_chat_history_length_resilience.py:28"}, "properties": {"repobilityId": "2d7aa0b8b5901893", "scanner": "scanner-primary", "fingerprint": "9d2eba513aec1554", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9274e039ce44f893", "level": "note", "message": {"text": "Legacy-named symbol `test_llamaindex_backend_omits_legacy_service_context_kwargs_when_deprecated` in tests/backend/test_rag_namespace_isolation.py:98"}, "properties": {"repobilityId": "b26f617f5a58c538", "scanner": "scanner-primary", "fingerprint": "9274e039ce44f893", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1a7fe66f1e0f2b6d", "level": "note", "message": {"text": "Legacy-named symbol `task_legacy` in tests/backend/test_task_management_service.py:255"}, "properties": {"repobilityId": "a4bd54ddd61c0ab4", "scanner": "scanner-primary", "fingerprint": "1a7fe66f1e0f2b6d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5621da3ef2258572", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_uncertain_relationship_service.py:50"}, "properties": {"repobilityId": "cb5df65a1a6957e5", "scanner": "scanner-primary", "fingerprint": "5621da3ef2258572", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-df9370f3c1892fd1", "level": "note", "message": {"text": "Legacy-named symbol `scholarly_paper_file_copy` in tests/backend/test_file_copy_upload_classification_workflow.py:154"}, "properties": {"repobilityId": "9a1699f92f6f523b", "scanner": "scanner-primary", "fingerprint": "df9370f3c1892fd1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-299b56849ff88b21", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in tests/backend/representation_intent_regression_helpers.py:29"}, "properties": {"repobilityId": "7902646086b0d834", "scanner": "scanner-primary", "fingerprint": "299b56849ff88b21", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-97ad449114cc8a12", "level": "note", "message": {"text": "Legacy-named symbol `test_fetch_file_copy_bytes_returns_data_for_s3_backed_file_copy` in tests/backend/test_file_copy_retrieval_service.py:59"}, "properties": {"repobilityId": "04d32172ba6d4573", "scanner": "scanner-primary", "fingerprint": "97ad449114cc8a12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-41fb4e43a1f74321", "level": "note", "message": {"text": "Legacy-named symbol `narration_fallback_v1` in tests/backend/test_von_history_backfill_spoken.py:183"}, "properties": {"repobilityId": "afadd89906fc7538", "scanner": "scanner-primary", "fingerprint": "41fb4e43a1f74321", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f532f2def4d16662", "level": "note", "message": {"text": "Legacy-named symbol `tool_evidence_contract_vocabulary_v1` in tests/backend/test_tool_evidence_contract_vontology_service.py:40"}, "properties": {"repobilityId": "38eed9327569d0e4", "scanner": "scanner-primary", "fingerprint": "f532f2def4d16662", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-609a776a1f2b5b3e", "level": "note", "message": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_mcp_stdio_server_exposes_finalise_cached_paper.py:10"}, "properties": {"repobilityId": "0fd1a4f296044805", "scanner": "scanner-primary", "fingerprint": "609a776a1f2b5b3e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5e052c4e55b5667c", "level": "note", "message": {"text": "Legacy-named symbol `payload_copy` in tests/backend/test_internal_mcp_orchestrator_batch_execution.py:59"}, "properties": {"repobilityId": "edae8607040d1547", "scanner": "scanner-primary", "fingerprint": "5e052c4e55b5667c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9371751a5fa1b79e", "level": "note", "message": {"text": "Legacy-named symbol `wf_backup` in tests/backend/test_rag_experiment_runs_mcp_read_tools.py:203"}, "properties": {"repobilityId": "4ad7ff935e74ec0a", "scanner": "scanner-primary", "fingerprint": "9371751a5fa1b79e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3997279c93a8342b", "level": "note", "message": {"text": "Legacy-named symbol `_read_file_copy` in tests/backend/test_read_file_copy_tool.py:12"}, "properties": {"repobilityId": "a3ecaadf83f88699", "scanner": "scanner-primary", "fingerprint": "3997279c93a8342b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6fdc8c1dc0a33648", "level": "note", "message": {"text": "Legacy-named symbol `grounded_tool_path_unused` in tests/backend/test_episode_critique_memory_service.py:256"}, "properties": {"repobilityId": "923ece5a4998dfca", "scanner": "scanner-primary", "fingerprint": "6fdc8c1dc0a33648", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-040613f7923ff7a2", "level": "note", "message": {"text": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in tests/backend/test_minimal_imposition_benchmark_service.py:8"}, "properties": {"repobilityId": "5894f456355a3853", "scanner": "scanner-primary", "fingerprint": "040613f7923ff7a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-645ffc015e7b62ec", "level": "note", "message": {"text": "Legacy-named symbol `presenter_protocol_v1` in tests/backend/test_chat_history_rag_namespace.py:74"}, "properties": {"repobilityId": "6cf933c115ce4765", "scanner": "scanner-primary", "fingerprint": "645ffc015e7b62ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cd23f0b5739ac0a6", "level": "note", "message": {"text": "Legacy-named symbol `forward_inference_planning_prompt_v1` in tests/backend/test_planning_workflow.py:212"}, "properties": {"repobilityId": "b37ac369b44492cc", "scanner": "scanner-primary", "fingerprint": "cd23f0b5739ac0a6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-85f178591971b4e5", "level": "note", "message": {"text": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in tests/backend/test_rag_turn_execution_records_mcp_read_tools.py:345"}, "properties": {"repobilityId": "3ea81109d7785843", "scanner": "scanner-primary", "fingerprint": "85f178591971b4e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8d769a57a2305ab8", "level": "note", "message": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_turn_execution_required_effects_contract.py:30"}, "properties": {"repobilityId": "f9b06413163164c5", "scanner": "scanner-primary", "fingerprint": "8d769a57a2305ab8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d75e9f503c6f0c62", "level": "note", "message": {"text": "Legacy-named symbol `interpret_file_copy` in tests/backend/test_orchestrator_continuation_routing.py:230"}, "properties": {"repobilityId": "7827b103a0411e2f", "scanner": "scanner-primary", "fingerprint": "d75e9f503c6f0c62", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-007597b54cc2606d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/backend/test_orchestrator_continuation_routing.py:772"}, "properties": {"repobilityId": "4c571547cc5608f7", "scanner": "scanner-primary", "fingerprint": "007597b54cc2606d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48bddd7045f2857b", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/backend/test_email_resource_link_extraction_workflow.py:139"}, "properties": {"repobilityId": "86ed7603191a5e47", "scanner": "scanner-primary", "fingerprint": "48bddd7045f2857b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-043038edca1d136c", "level": "note", "message": {"text": "Legacy-named symbol `synthetic_chat_session_file_copy` in tests/backend/test_ai_chat_session_source_profile_vontology_service.py:29"}, "properties": {"repobilityId": "f50b896e49473d32", "scanner": "scanner-primary", "fingerprint": "043038edca1d136c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-027a249dfed70450", "level": "note", "message": {"text": "Legacy-named symbol `my_backup` in tests/backend/test_backup_blob_upload.py:225"}, "properties": {"repobilityId": "bebda02f24b987d2", "scanner": "scanner-primary", "fingerprint": "027a249dfed70450", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1bca8398a4821b75", "level": "note", "message": {"text": "Legacy-named symbol `materialise_meeting_representation_for_file_copy` in tests/backend/test_meeting_file_representation_service.py:8"}, "properties": {"repobilityId": "3b8a1de2187e5b6e", "scanner": "scanner-primary", "fingerprint": "1bca8398a4821b75", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-34dee3129ae148d3", "level": "note", "message": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in tests/backend/test_turn_execution_workflow_definitions.py:1775"}, "properties": {"repobilityId": "79849bb76a1c9b81", "scanner": "scanner-primary", "fingerprint": "34dee3129ae148d3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-01a9727de4c45f11", "level": "note", "message": {"text": "Legacy-named symbol `interpret_file_copy` in tests/backend/test_file_copy_interpretation_workflow.py:21"}, "properties": {"repobilityId": "2b86dc42236b1393", "scanner": "scanner-primary", "fingerprint": "01a9727de4c45f11", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-35dd1c0850771663", "level": "note", "message": {"text": "Legacy-named symbol `test_finalise_cached_paper_uploads_cached_pdf_and_registers_file_copy` in tests/backend/test_finalise_cached_paper_tool.py:6"}, "properties": {"repobilityId": "0afbc4f9c184b298", "scanner": "scanner-primary", "fingerprint": "35dd1c0850771663", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-88ff0b3d82a17f06", "level": "note", "message": {"text": "Legacy-named symbol `materialise_company_representation_for_file_copy` in tests/backend/test_company_file_representation_service.py:8"}, "properties": {"repobilityId": "d700b729d2603be1", "scanner": "scanner-primary", "fingerprint": "88ff0b3d82a17f06", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-38aadcb98493315f", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in tests/backend/test_failure_case_intake_service.py:48"}, "properties": {"repobilityId": "2af9c5dec21c81ba", "scanner": "scanner-primary", "fingerprint": "38aadcb98493315f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-77c9a0cce4998e20", "level": "note", "message": {"text": "Legacy-named symbol `import_local_file_copy` in tests/backend/test_internal_mcp_file_copy_ingestion_gateway.py:46"}, "properties": {"repobilityId": "313171d45f08ce8e", "scanner": "scanner-primary", "fingerprint": "77c9a0cce4998e20", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3473b77501d07ff8", "level": "note", "message": {"text": "Legacy-named symbol `_fake_import_bytes_file_copy` in tests/backend/test_remote_file_copy_ingestion_service.py:249"}, "properties": {"repobilityId": "400a8132b5d4400d", "scanner": "scanner-primary", "fingerprint": "3473b77501d07ff8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-875ca84fa0e509b3", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_representation_contract_vontology_service.py:36"}, "properties": {"repobilityId": "6b425a3ef4c441de", "scanner": "scanner-primary", "fingerprint": "875ca84fa0e509b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-00c06519ad8fded8", "level": "note", "message": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_arxiv_file_copy` in tests/backend/test_arxiv_paper_link_service.py:116"}, "properties": {"repobilityId": "c916cb9014e7e602", "scanner": "scanner-primary", "fingerprint": "00c06519ad8fded8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-844f787d979262ca", "level": "note", "message": {"text": "Legacy-named symbol `require_file_copy` in tests/backend/test_turn_execution_selected_workflow_output_propagation.py:946"}, "properties": {"repobilityId": "5d286e9ef6eb39e1", "scanner": "scanner-primary", "fingerprint": "844f787d979262ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0564ecb3dbfbd2b9", "level": "note", "message": {"text": "Legacy-named symbol `pending_alpha_old` in tests/backend/test_durable_workflow_system.py:810"}, "properties": {"repobilityId": "19fc3154ef6a22f9", "scanner": "scanner-primary", "fingerprint": "0564ecb3dbfbd2b9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-64df0b615d8421e1", "level": "note", "message": {"text": "Legacy-named symbol `s_old` in tests/backend/test_chat_history_service_segments.py:250"}, "properties": {"repobilityId": "72c2bebfc4087964", "scanner": "scanner-primary", "fingerprint": "64df0b615d8421e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5c9e9184ac750543", "level": "note", "message": {"text": "Legacy-named symbol `scholarly_paper_file_copy` in tests/backend/test_file_copy_typing_workflow.py:59"}, "properties": {"repobilityId": "89e9cc743f96c643", "scanner": "scanner-primary", "fingerprint": "5c9e9184ac750543", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2a15f2ff04519bec", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in tests/backend/test_orchestrator_turn_execution_gate.py:98"}, "properties": {"repobilityId": "8d78973a5bfa0957", "scanner": "scanner-primary", "fingerprint": "2a15f2ff04519bec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bc9b3d8eb29064fe", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_seed_bundle_version_bumps.py:39"}, "properties": {"repobilityId": "7d009290279080e6", "scanner": "scanner-primary", "fingerprint": "bc9b3d8eb29064fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bf861baf60e7c0e2", "level": "note", "message": {"text": "Legacy-named symbol `recovered_from_backup` in scripts/recover_paper_notes.py:206"}, "properties": {"repobilityId": "c3ee205108ae5fcc", "scanner": "scanner-primary", "fingerprint": "bf861baf60e7c0e2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c44529c3e345e77f", "level": "note", "message": {"text": "Legacy-named symbol `read_file_copy` in scripts/repair_arxiv_email_paper_workflow_consistency.py:52"}, "properties": {"repobilityId": "3afd6f80f58c45b0", "scanner": "scanner-primary", "fingerprint": "c44529c3e345e77f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-15813990cd27a18c", "level": "note", "message": {"text": "Legacy-named symbol `extracted_backup` in scripts/restore_von_db.py:87"}, "properties": {"repobilityId": "1bf29e6ca186dd64", "scanner": "scanner-primary", "fingerprint": "15813990cd27a18c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0d3eae3266e720bb", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/restore_von_db.py:275"}, "properties": {"repobilityId": "bc1f3a57e0144a91", "scanner": "scanner-primary", "fingerprint": "0d3eae3266e720bb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-be40be7374f58024", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in scripts/sync_ai_programming_chat_sessions.py:434"}, "properties": {"repobilityId": "2bf4e27c63d1187e", "scanner": "scanner-primary", "fingerprint": "be40be7374f58024", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-580e923823d1acce", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/pytest_lanes.py:246"}, "properties": {"repobilityId": "fc692151ec59f357", "scanner": "scanner-primary", "fingerprint": "580e923823d1acce", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-494c31bf2f5f19ba", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in scripts/run_live_kb_tool_prompt_sampler.py:1124"}, "properties": {"repobilityId": "12590025894c70c7", "scanner": "scanner-primary", "fingerprint": "494c31bf2f5f19ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d6f21e74cc3f9c12", "level": "note", "message": {"text": "Legacy-named symbol `live_prompt_sampler_replay_evaluation_rubric_v1` in scripts/run_replay_suite_report.py:224"}, "properties": {"repobilityId": "7c014b323dc886fb", "scanner": "scanner-primary", "fingerprint": "d6f21e74cc3f9c12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-479bf3b3e42d412c", "level": "note", "message": {"text": "Legacy-named symbol `_resolve_blob_store_for_backup` in scripts/backup_von_db.py:297"}, "properties": {"repobilityId": "951c5edd36dfccf1", "scanner": "scanner-primary", "fingerprint": "479bf3b3e42d412c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-738d477a0c9a1a6b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/backup_von_db.py:378"}, "properties": {"repobilityId": "9bcac914761edd08", "scanner": "scanner-primary", "fingerprint": "738d477a0c9a1a6b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-709f5a27f3f0e8d2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/check_python_min_syntax.py:64"}, "properties": {"repobilityId": "cc0696b0a78bbb94", "scanner": "scanner-primary", "fingerprint": "709f5a27f3f0e8d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0808590fba3a4aff", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in utilities/backfill_chat_history_namespace.py:8"}, "properties": {"repobilityId": "f0695816d4be759a", "scanner": "scanner-primary", "fingerprint": "0808590fba3a4aff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6811dd2f53218170", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/frontend/web/von_interface/static/js/suppressTooltips.js:1"}, "properties": {"repobilityId": "f6431c74c702c6c1", "scanner": "scanner-primary", "fingerprint": "6811dd2f53218170", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-97f121119126d6fd", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/frontend/web/von_interface/static/js/apiService.js:1"}, "properties": {"repobilityId": "723a60a8f4666bac", "scanner": "scanner-primary", "fingerprint": "97f121119126d6fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6dadccaa438b50b9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/apiService.js:53"}, "properties": {"repobilityId": "614274a57073a35f", "scanner": "scanner-primary", "fingerprint": "6dadccaa438b50b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-95a4c70a29b8c671", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/frontend/web/von_interface/static/js/conceptTab.js:894"}, "properties": {"repobilityId": "866b2c2eaf8fa5e9", "scanner": "scanner-primary", "fingerprint": "95a4c70a29b8c671", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e323b97249c6b68", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/conceptTab.js:627"}, "properties": {"repobilityId": "ee419a0c38afb9e0", "scanner": "scanner-primary", "fingerprint": "8e323b97249c6b68", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-20eb06df638e3322", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/frontend/web/von_interface/static/js/importExportTab.js:15"}, "properties": {"repobilityId": "ec65eee96cf490d0", "scanner": "scanner-primary", "fingerprint": "20eb06df638e3322", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1cc05737986e45d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/importExportTab.js:116"}, "properties": {"repobilityId": "85cda29c6f76b9b3", "scanner": "scanner-primary", "fingerprint": "1cc05737986e45d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-231e3e81006e4926", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in src/frontend/web/von_interface/static/js/dynamicTabs.js:7351"}, "properties": {"repobilityId": "ba7eafe2a0ea1935", "scanner": "scanner-primary", "fingerprint": "231e3e81006e4926", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-61b5617ff73e2f80", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/dynamicTabs.js:569"}, "properties": {"repobilityId": "7067ff04ad83b901", "scanner": "scanner-primary", "fingerprint": "61b5617ff73e2f80", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fe0f25f214af285c", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/frontend/web/von_interface/static/js/vontology.js:3338"}, "properties": {"repobilityId": "0bd0bddee4164f03", "scanner": "scanner-primary", "fingerprint": "fe0f25f214af285c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e702cb1c8bcb62e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/vontology.js:62"}, "properties": {"repobilityId": "2ef9be959b1920a8", "scanner": "scanner-primary", "fingerprint": "3e702cb1c8bcb62e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-93fb155d4e194a46", "level": "note", "message": {"text": "Legacy-named symbol `von_background_tasks_active_v1` in src/frontend/web/von_interface/static/js/backgroundTaskTracker.js:1"}, "properties": {"repobilityId": "20c0b18024358a2b", "scanner": "scanner-primary", "fingerprint": "93fb155d4e194a46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9cc6a50558b35875", "level": "none", "message": {"text": "Commented-code block (15 lines) in src/frontend/web/von_interface/static/js/main.js:2167"}, "properties": {"repobilityId": "45a21c61cdce0545", "scanner": "scanner-primary", "fingerprint": "9cc6a50558b35875", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5651436c609d4b7b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/main.js:1181"}, "properties": {"repobilityId": "b8e589d5bbe4aa2e", "scanner": "scanner-primary", "fingerprint": "5651436c609d4b7b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9756d0cafa979e68", "level": "note", "message": {"text": "Legacy-named symbol `von_footer_db_probe_stats_v1` in src/frontend/web/von_interface/static/js/domUtils.js:356"}, "properties": {"repobilityId": "aed180d86c09a51d", "scanner": "scanner-primary", "fingerprint": "9756d0cafa979e68", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f3d51ac2732d12c5", "level": "note", "message": {"text": "Legacy-named symbol `buttonify_prompt_v1` in src/frontend/web/von_interface/static/js/settingsPage.js:3890"}, "properties": {"repobilityId": "484eb385f6f59dfa", "scanner": "scanner-primary", "fingerprint": "f3d51ac2732d12c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-535554f1c6cfc63b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/settingsPage.js:1491"}, "properties": {"repobilityId": "4ef4007fabd218a8", "scanner": "scanner-primary", "fingerprint": "535554f1c6cfc63b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-35cc4f461fd35fca", "level": "note", "message": {"text": "Legacy-named symbol `screen_backfill_from_response_with_operational_summary_v1` in src/frontend/web/von_interface/static/js/test/chatTab.test.js:4571"}, "properties": {"repobilityId": "953ddd80fc491666", "scanner": "scanner-primary", "fingerprint": "35cc4f461fd35fca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4e8a83d624f3eef0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/frontend/web/von_interface/static/js/utils/nameSelection.js:143"}, "properties": {"repobilityId": "398d9b91c66b6bfa", "scanner": "scanner-primary", "fingerprint": "4e8a83d624f3eef0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eed17e1be5cb11c7", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/frontend/web/von_interface/static/js/utils/textDecorator.js:12"}, "properties": {"repobilityId": "72ef38869cc0a9a8", "scanner": "scanner-primary", "fingerprint": "eed17e1be5cb11c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbea2ed0da9d9374", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/frontend/web/von_interface/static/js/components/promptCartoucheOverlay.js:454"}, "properties": {"repobilityId": "9fb4f3c2992daf8d", "scanner": "scanner-primary", "fingerprint": "fbea2ed0da9d9374", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0e26306815f78b8f", "level": "note", "message": {"text": "Legacy-named symbol `von_task_group_filter_v1` in src/frontend/web/von_interface/static/js/components/taskPanel.js:47"}, "properties": {"repobilityId": "6292714ee6fa8523", "scanner": "scanner-primary", "fingerprint": "0e26306815f78b8f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8979c34c38f5ab28", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/workflows/von/main.py:385"}, "properties": {"repobilityId": "a71c4e154bbe54bb", "scanner": "scanner-primary", "fingerprint": "8979c34c38f5ab28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd9ac7c187923766", "level": "note", "message": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_file_copy` in src/backend/integrations/internal_mcp/tool_contract_registry.py:122"}, "properties": {"repobilityId": "c586cba271ef3ad6", "scanner": "scanner-primary", "fingerprint": "bd9ac7c187923766", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-de153f5789c74e8a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/backend/security/role_resolver.py:152"}, "properties": {"repobilityId": "a65d9919e0239063", "scanner": "scanner-primary", "fingerprint": "de153f5789c74e8a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-435f40773a0d2cf8", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/backend/utils/pytest_lane_catalogue.py:613"}, "properties": {"repobilityId": "7c0b0adf873c2469", "scanner": "scanner-primary", "fingerprint": "435f40773a0d2cf8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4e05a59887a2d7f1", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/backend/utils/knowledge_interaction_logger.py:32"}, "properties": {"repobilityId": "6a514123c2ccde0f", "scanner": "scanner-primary", "fingerprint": "4e05a59887a2d7f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-742ac7af042ae98a", "level": "note", "message": {"text": "Legacy-named symbol `canonical_old` in src/backend/utils/concept_id_utils.py:181"}, "properties": {"repobilityId": "06028798a0be3026", "scanner": "scanner-primary", "fingerprint": "742ac7af042ae98a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-be620072985d67e1", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in src/backend/server/utils_flask.py:3009"}, "properties": {"repobilityId": "bc18499aaa901ad1", "scanner": "scanner-primary", "fingerprint": "be620072985d67e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-71e31794e3c843dc", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/server/utils_flask.py:1419"}, "properties": {"repobilityId": "ddcd9d979944feb4", "scanner": "scanner-primary", "fingerprint": "71e31794e3c843dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-916503f6cccbf9c6", "level": "note", "message": {"text": "Legacy-named symbol `computer_file_copy` in src/backend/server/routes/von_routes.py:4607"}, "properties": {"repobilityId": "3584220e05ab91d3", "scanner": "scanner-primary", "fingerprint": "916503f6cccbf9c6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-044293171ee08fc2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/backend/server/routes/von_routes.py:165"}, "properties": {"repobilityId": "0f38207984e149d4", "scanner": "scanner-primary", "fingerprint": "044293171ee08fc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-97386de895d0939a", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/backend/server/routes/concept_routes.py:1073"}, "properties": {"repobilityId": "a1b93272a9a10284", "scanner": "scanner-primary", "fingerprint": "97386de895d0939a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1edfbc8b44ecf618", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/backend/server/routes/settings_routes.py:355"}, "properties": {"repobilityId": "973ca315602961bb", "scanner": "scanner-primary", "fingerprint": "1edfbc8b44ecf618", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-67735fb6dcd5a195", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/backend/server/routes/vontology_routes.py:2117"}, "properties": {"repobilityId": "f71a3033e0dbaa62", "scanner": "scanner-primary", "fingerprint": "67735fb6dcd5a195", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21eedf2492126745", "level": "note", "message": {"text": "Legacy-named symbol `pdf_computer_file_copy` in src/backend/services/file_copy_typing_service.py:87"}, "properties": {"repobilityId": "4588108e8cbbc1e9", "scanner": "scanner-primary", "fingerprint": "21eedf2492126745", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-84ae50da375cd2fa", "level": "note", "message": {"text": "Legacy-named symbol `turn_pipeline_monitoring_background_v1` in src/backend/services/turn_pipeline_monitoring_schedule_bootstrap_service.py:19"}, "properties": {"repobilityId": "03fa21bd9ef44434", "scanner": "scanner-primary", "fingerprint": "84ae50da375cd2fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9efffe1aea7a2aef", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in src/backend/services/workflow_discovery_service.py:645"}, "properties": {"repobilityId": "ce2d2c367bd39dea", "scanner": "scanner-primary", "fingerprint": "9efffe1aea7a2aef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2864db0aca37d823", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/backend/services/test_concept_merge_service.py:44"}, "properties": {"repobilityId": "598074616aaf7ac9", "scanner": "scanner-primary", "fingerprint": "2864db0aca37d823", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54189ca5de745660", "level": "note", "message": {"text": "Legacy-named symbol `grounded_tool_path_unused` in src/backend/services/episode_critic_evidence_service.py:1472"}, "properties": {"repobilityId": "cc9fa6aeb861d39a", "scanner": "scanner-primary", "fingerprint": "54189ca5de745660", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2e94a067289adfa6", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/backend/services/episode_evaluation_workflow_vontology_service.py:245"}, "properties": {"repobilityId": "5813151e1c6c6304", "scanner": "scanner-primary", "fingerprint": "2e94a067289adfa6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be24bdf0e0c2076c", "level": "note", "message": {"text": "Legacy-named symbol `import_local_file_copy` in src/backend/services/ai_chat_session_ingestion_service.py:21"}, "properties": {"repobilityId": "138303f165c2fdc5", "scanner": "scanner-primary", "fingerprint": "be24bdf0e0c2076c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-03b47b5494e39e02", "level": "note", "message": {"text": "Legacy-named symbol `computer_file_copy` in src/backend/services/computer_file_copy_service.py:178"}, "properties": {"repobilityId": "5dc5ad4ba5c35ac0", "scanner": "scanner-primary", "fingerprint": "03b47b5494e39e02", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c572595f7b25727b", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/concept_relation_service.py:2566"}, "properties": {"repobilityId": "9defc4a33d6e96f3", "scanner": "scanner-primary", "fingerprint": "c572595f7b25727b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c8271d90d649b462", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in src/backend/services/representation_contract_vontology_service.py:67"}, "properties": {"repobilityId": "8e7fb515e2f8648e", "scanner": "scanner-primary", "fingerprint": "c8271d90d649b462", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c7230115af09e19e", "level": "note", "message": {"text": "Legacy-named symbol `turn_display_elements_v1` in src/backend/services/display_elements_service.py:13"}, "properties": {"repobilityId": "fba48a92ea61c467", "scanner": "scanner-primary", "fingerprint": "c7230115af09e19e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f653bb0cedd9f1b9", "level": "note", "message": {"text": "Legacy-named symbol `s_copy` in src/backend/services/annotation_extraction_service.py:752"}, "properties": {"repobilityId": "0b0fcecdc65b15f0", "scanner": "scanner-primary", "fingerprint": "f653bb0cedd9f1b9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-abfefe9bf99b2c9e", "level": "note", "message": {"text": "Legacy-named symbol `relations_only_v2` in src/backend/services/concept_service.py:3282"}, "properties": {"repobilityId": "0d6a22cdd5eaa1e5", "scanner": "scanner-primary", "fingerprint": "abfefe9bf99b2c9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d076775b5ef00b60", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/services/concept_service.py:7"}, "properties": {"repobilityId": "45c73c89b2979f59", "scanner": "scanner-primary", "fingerprint": "d076775b5ef00b60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2a1d89327551a5f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/services/workflow_continuation_service.py:25"}, "properties": {"repobilityId": "f06ae38bb8310b34", "scanner": "scanner-primary", "fingerprint": "e2a1d89327551a5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8c223aad2080e85", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/services/turn_execution_diagnostics_service.py:2111"}, "properties": {"repobilityId": "b38c0d56a38b73ec", "scanner": "scanner-primary", "fingerprint": "f8c223aad2080e85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73ef492f1de26fe0", "level": "note", "message": {"text": "Legacy-named symbol `grounded_tool_path_unused` in src/backend/services/episode_critique_memory_service.py:448"}, "properties": {"repobilityId": "eefe283dcbaf20d8", "scanner": "scanner-primary", "fingerprint": "73ef492f1de26fe0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-029a07cb07bfd3ea", "level": "note", "message": {"text": "Legacy-named symbol `parent_specificity_background_v1` in src/backend/services/parent_specificity_schedule_bootstrap_service.py:26"}, "properties": {"repobilityId": "9d1965754ab4abf4", "scanner": "scanner-primary", "fingerprint": "029a07cb07bfd3ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-05381a3c900fa54b", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/failure_case_intake_service.py:222"}, "properties": {"repobilityId": "a73c4a3640d38665", "scanner": "scanner-primary", "fingerprint": "05381a3c900fa54b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a5ca223871fffeed", "level": "note", "message": {"text": "Legacy-named symbol `turn_output_health_v1` in src/backend/services/turn_output_health_service.py:6"}, "properties": {"repobilityId": "de4e1da906c6b959", "scanner": "scanner-primary", "fingerprint": "a5ca223871fffeed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d7a9872a2081b529", "level": "note", "message": {"text": "Legacy-named symbol `legacy_document_has_file_copy` in src/backend/services/ai_chat_session_source_profile_vontology_service.py:275"}, "properties": {"repobilityId": "f89d75f11ef76c2a", "scanner": "scanner-primary", "fingerprint": "d7a9872a2081b529", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a5a258899aacf57d", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/backend/services/text_value_service.py:106"}, "properties": {"repobilityId": "5d64df4fc05c1560", "scanner": "scanner-primary", "fingerprint": "a5a258899aacf57d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba96e3d11ed7eaf4", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/services/settings_service.py:158"}, "properties": {"repobilityId": "c9ed7fe7d8855f4b", "scanner": "scanner-primary", "fingerprint": "ba96e3d11ed7eaf4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-339e956110180083", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/services/concept_embedding_service.py:566"}, "properties": {"repobilityId": "2801340541513231", "scanner": "scanner-primary", "fingerprint": "339e956110180083", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9280b2391177e22e", "level": "note", "message": {"text": "Legacy-named symbol `buttonify_prompt_v1` in src/backend/services/buttonify_service.py:9"}, "properties": {"repobilityId": "d6ed686dd032fa1d", "scanner": "scanner-primary", "fingerprint": "9280b2391177e22e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2459e13c1a6e95f1", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/relation_elicitation_service.py:122"}, "properties": {"repobilityId": "595a18f5a087efbf", "scanner": "scanner-primary", "fingerprint": "2459e13c1a6e95f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-eb5ccd35090cbaa2", "level": "note", "message": {"text": "Legacy-named symbol `tool_evidence_contract_vocabulary_v1` in src/backend/services/tool_evidence_contract_vontology_service.py:25"}, "properties": {"repobilityId": "d528a2585f63116e", "scanner": "scanner-primary", "fingerprint": "eb5ccd35090cbaa2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-41fefb3b601ce8b0", "level": "note", "message": {"text": "Legacy-named symbol `canonical_old` in src/backend/services/concept_rename_service.py:320"}, "properties": {"repobilityId": "bfa7b492b9fbb794", "scanner": "scanner-primary", "fingerprint": "41fefb3b601ce8b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b2b49726ebf244aa", "level": "note", "message": {"text": "Legacy-named symbol `remove_legacy` in src/backend/services/visibility_predicate_migration_service.py:107"}, "properties": {"repobilityId": "efb85a06a727cd4e", "scanner": "scanner-primary", "fingerprint": "b2b49726ebf244aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-261f5fe018078f65", "level": "note", "message": {"text": "Legacy-named symbol `multilingual_concept_enrichment_background_v1` in src/backend/services/multilingual_concept_enrichment_schedule_bootstrap_service.py:30"}, "properties": {"repobilityId": "a35af23880f1dbe7", "scanner": "scanner-primary", "fingerprint": "261f5fe018078f65", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-188acd024bddb559", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/uncertain_relationship_service.py:237"}, "properties": {"repobilityId": "af43cd2d945292a1", "scanner": "scanner-primary", "fingerprint": "188acd024bddb559", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c6eba0b578f56593", "level": "note", "message": {"text": "Legacy-named symbol `import_bytes_file_copy` in src/backend/services/jira_task_import_service.py:1262"}, "properties": {"repobilityId": "122f724f92dbabe8", "scanner": "scanner-primary", "fingerprint": "c6eba0b578f56593", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-21c3ea4da98a76ee", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/tool_metadata_service.py:219"}, "properties": {"repobilityId": "42dd0e33ef6f76aa", "scanner": "scanner-primary", "fingerprint": "21c3ea4da98a76ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0eb389cf7d878864", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/services/tool_metadata_service.py:180"}, "properties": {"repobilityId": "d4801ec3502d2504", "scanner": "scanner-primary", "fingerprint": "0eb389cf7d878864", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b71935efbdfa27f1", "level": "note", "message": {"text": "Legacy-named symbol `renderer_filtering_boundary_v1` in src/backend/services/renderer_applicability_service.py:71"}, "properties": {"repobilityId": "46e11bf819293b32", "scanner": "scanner-primary", "fingerprint": "b71935efbdfa27f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1b038e81253a5910", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in src/backend/services/tool_evidence_projection_service.py:177"}, "properties": {"repobilityId": "a549be13afd44443", "scanner": "scanner-primary", "fingerprint": "1b038e81253a5910", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5837d094d63f2aba", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in src/backend/services/workflow_event_integration_service.py:63"}, "properties": {"repobilityId": "020fbc5d53221b25", "scanner": "scanner-primary", "fingerprint": "5837d094d63f2aba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a947ae42041e11c6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/backend/services/repo_dossier_service.py:279"}, "properties": {"repobilityId": "1b9ebc24a0a0d4ad", "scanner": "scanner-primary", "fingerprint": "a947ae42041e11c6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3d7884b6c90ebcd0", "level": "note", "message": {"text": "Legacy-named symbol `import_bytes_file_copy` in src/backend/services/remote_file_copy_ingestion_service.py:16"}, "properties": {"repobilityId": "8fc1de33b5bac4ed", "scanner": "scanner-primary", "fingerprint": "3d7884b6c90ebcd0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e5ab94e1f35af831", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/services/identity_resolution_workflow_request_service.py:24"}, "properties": {"repobilityId": "364ef31aef6aa434", "scanner": "scanner-primary", "fingerprint": "e5ab94e1f35af831", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ebe96693b5522860", "level": "note", "message": {"text": "Legacy-named symbol `msword_docx_computer_file_copy` in src/backend/services/file_copy_interpretation_service.py:33"}, "properties": {"repobilityId": "6d4a231c0dbf183c", "scanner": "scanner-primary", "fingerprint": "ebe96693b5522860", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-00a8cb6dfb230aa1", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in src/backend/services/conversation_telemetry_locator_service.py:114"}, "properties": {"repobilityId": "d113321405ce7b02", "scanner": "scanner-primary", "fingerprint": "00a8cb6dfb230aa1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5a8c50da5e8b9156", "level": "note", "message": {"text": "Legacy-named symbol `_bounded_copy` in src/backend/services/context_bundle_service.py:293"}, "properties": {"repobilityId": "b41493a86f797d0e", "scanner": "scanner-primary", "fingerprint": "5a8c50da5e8b9156", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-29dca1e67246cb44", "level": "note", "message": {"text": "Legacy-named symbol `computer_file_copy` in src/backend/services/arxiv_paper_link_service.py:643"}, "properties": {"repobilityId": "9b3aaa153d7c856c", "scanner": "scanner-primary", "fingerprint": "29dca1e67246cb44", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2634ed3d4bee085e", "level": "note", "message": {"text": "Legacy-named symbol `materialise_person_representation_for_file_copy` in src/backend/services/person_file_representation_service.py:25"}, "properties": {"repobilityId": "e4d741f7eebf79f2", "scanner": "scanner-primary", "fingerprint": "2634ed3d4bee085e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f9bbe76454a12ef5", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in src/backend/services/blob_store.py:963"}, "properties": {"repobilityId": "22ebfbdf4a44e47d", "scanner": "scanner-primary", "fingerprint": "f9bbe76454a12ef5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d802cafde246764d", "level": "note", "message": {"text": "Legacy-named symbol `identity_resolution_background_v1` in src/backend/services/identity_resolution_schedule_bootstrap_service.py:36"}, "properties": {"repobilityId": "bec135be0ff79eaa", "scanner": "scanner-primary", "fingerprint": "d802cafde246764d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7669b6ccf69dd561", "level": "note", "message": {"text": "Legacy-named symbol `namespace_user_recency_session_metadata_v1` in src/backend/services/chat_history_service.py:56"}, "properties": {"repobilityId": "9c66ec4780259fe7", "scanner": "scanner-primary", "fingerprint": "7669b6ccf69dd561", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-589f939af98a25d0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/services/chat_history_service.py:2051"}, "properties": {"repobilityId": "e46ed034fc2482f7", "scanner": "scanner-primary", "fingerprint": "589f939af98a25d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-685fd1c0e1ec5999", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in src/backend/services/workflow_description_vontology_service.py:39"}, "properties": {"repobilityId": "ea318c31b640ba6b", "scanner": "scanner-primary", "fingerprint": "685fd1c0e1ec5999", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5b18f4cc76e5f1a2", "level": "note", "message": {"text": "Legacy-named symbol `paper_recommendation_background_v1` in src/backend/services/paper_recommendation_background_schedule_bootstrap_service.py:16"}, "properties": {"repobilityId": "daa005f24552b34c", "scanner": "scanner-primary", "fingerprint": "5b18f4cc76e5f1a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c51cb0773aebb7eb", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/backend/services/workflow_selection_experience.py:373"}, "properties": {"repobilityId": "bfc2358c33bcc905", "scanner": "scanner-primary", "fingerprint": "c51cb0773aebb7eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf57f1ff5f63e181", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in src/backend/services/turn_execution_record_service.py:6248"}, "properties": {"repobilityId": "ca43f918ea457383", "scanner": "scanner-primary", "fingerprint": "bf57f1ff5f63e181", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-27051d7167799f58", "level": "note", "message": {"text": "Legacy-named symbol `live_prompt_sampler_replay_evaluation_rubric_v1` in src/backend/services/replay_evaluation_authority_service.py:20"}, "properties": {"repobilityId": "2078d034a9756783", "scanner": "scanner-primary", "fingerprint": "27051d7167799f58", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-066750ef2f704ec9", "level": "note", "message": {"text": "Legacy-named symbol `materialise_company_representation_for_file_copy` in src/backend/services/company_file_representation_service.py:25"}, "properties": {"repobilityId": "fde151a18c7dba23", "scanner": "scanner-primary", "fingerprint": "066750ef2f704ec9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9f388b8f7b38d866", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in src/backend/services/file_copy_reference_service.py:9"}, "properties": {"repobilityId": "0a2e02b59ddfe435", "scanner": "scanner-primary", "fingerprint": "9f388b8f7b38d866", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6b457536187f33f8", "level": "note", "message": {"text": "Legacy-named symbol `materialise_meeting_representation_for_file_copy` in src/backend/services/meeting_file_representation_service.py:25"}, "properties": {"repobilityId": "961b5cbb513e5def", "scanner": "scanner-primary", "fingerprint": "6b457536187f33f8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5e1d9fd77a1ee877", "level": "note", "message": {"text": "Legacy-named symbol `minimal_imposition_runtime_profile_write_policy_v1` in src/backend/services/minimal_imposition_runtime_profile_vontology_service.py:23"}, "properties": {"repobilityId": "a90b808a59ceae6a", "scanner": "scanner-primary", "fingerprint": "5e1d9fd77a1ee877", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1b151ea1870905a4", "level": "note", "message": {"text": "Legacy-named symbol `email_arxiv_representation_convergence_v1` in src/backend/services/email_source_representation_convergence_schedule_bootstrap_service.py:18"}, "properties": {"repobilityId": "d1cdd60522073637", "scanner": "scanner-primary", "fingerprint": "1b151ea1870905a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-377169ab77732a33", "level": "note", "message": {"text": "Legacy-named symbol `minimal_imposition_benchmark_profile_autopilot_v1` in src/backend/services/minimal_imposition_benchmark_profile_vontology_service.py:21"}, "properties": {"repobilityId": "63500a4dedb7b880", "scanner": "scanner-primary", "fingerprint": "377169ab77732a33", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5de23ae50acb68d2", "level": "note", "message": {"text": "Legacy-named symbol `gmail_tool_evidence_contract_v1` in src/backend/services/gmail_tool_evidence_contract_vontology_service.py:33"}, "properties": {"repobilityId": "49ebb5bb0fd770ae", "scanner": "scanner-primary", "fingerprint": "5de23ae50acb68d2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-185ace946246664f", "level": "note", "message": {"text": "Legacy-named symbol `response_transformations_v1` in src/backend/services/response_transformation_telemetry.py:13"}, "properties": {"repobilityId": "8a42bc300d5911b4", "scanner": "scanner-primary", "fingerprint": "185ace946246664f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-56457e84cee35afd", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/backend/services/rag_backends/llamaindex_backend.py:689"}, "properties": {"repobilityId": "ff0b1979e8efb118", "scanner": "scanner-primary", "fingerprint": "56457e84cee35afd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eeee9549aa90fcaf", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/backend/workflows/mcp_tool_bridge.py:219"}, "properties": {"repobilityId": "252d175d7c53a356", "scanner": "scanner-primary", "fingerprint": "eeee9549aa90fcaf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dbde8a52d28fc7d8", "level": "note", "message": {"text": "Legacy-named symbol `vontology_process_graph_v1` in src/backend/workflows/vontology_loader.py:3289"}, "properties": {"repobilityId": "dd816d10b4941997", "scanner": "scanner-primary", "fingerprint": "dbde8a52d28fc7d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-948a69b3690d296d", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/backend/workflows/llm_step_executor.py:1690"}, "properties": {"repobilityId": "95cac059cf321b8c", "scanner": "scanner-primary", "fingerprint": "948a69b3690d296d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6feb30c779cc44e3", "level": "note", "message": {"text": "Legacy-named symbol `used_existing_file_copy` in src/backend/workflows/execution_contracts.py:397"}, "properties": {"repobilityId": "5dc4a2454df3e9d3", "scanner": "scanner-primary", "fingerprint": "6feb30c779cc44e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-404c14498d142d60", "level": "note", "message": {"text": "Legacy-named symbol `event_copy` in src/backend/workflows/workflow_baseline_telemetry.py:142"}, "properties": {"repobilityId": "36d0da4bec79f600", "scanner": "scanner-primary", "fingerprint": "404c14498d142d60", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f0f906f299c120ce", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/backend/workflows/durable/workflow_instance_submission_service.py:71"}, "properties": {"repobilityId": "763cf623a3b08226", "scanner": "scanner-primary", "fingerprint": "f0f906f299c120ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2daeb67a329b44c", "level": "note", "message": {"text": "Legacy-named symbol `materialise_scholarly_representation_for_arxiv_file_copy` in src/backend/workflows/durable/paper_representation_workflow.py:18"}, "properties": {"repobilityId": "287db29b394c55a5", "scanner": "scanner-primary", "fingerprint": "b2daeb67a329b44c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6702ad2694d14bb8", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/backend/workflows/durable/instance_manager.py:689"}, "properties": {"repobilityId": "774ed657fc9a211a", "scanner": "scanner-primary", "fingerprint": "6702ad2694d14bb8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-550532a5e6f01773", "level": "note", "message": {"text": "Legacy-named symbol `forward_inference_planning_prompt_v1` in src/backend/workflows/durable/planning_workflow.py:44"}, "properties": {"repobilityId": "3d4d7f7c3288f080", "scanner": "scanner-primary", "fingerprint": "550532a5e6f01773", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f1e0a7627c6b2e44", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in src/backend/workflows/durable/rumination_workflow.py:554"}, "properties": {"repobilityId": "4249c490494607b4", "scanner": "scanner-primary", "fingerprint": "f1e0a7627c6b2e44", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ee7eb0136d43c9a8", "level": "note", "message": {"text": "Legacy-named symbol `interpret_file_copy` in src/backend/workflows/durable/file_copy_interpretation_workflow.py:36"}, "properties": {"repobilityId": "03e832167b07c842", "scanner": "scanner-primary", "fingerprint": "ee7eb0136d43c9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-118e5067603f77eb", "level": "note", "message": {"text": "Legacy-named symbol `include_legacy` in src/backend/workflows/durable/failure_case_prompt_improvement_actions.py:125"}, "properties": {"repobilityId": "2fc8f54583e74c7f", "scanner": "scanner-primary", "fingerprint": "118e5067603f77eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f1c3622b62010c88", "level": "note", "message": {"text": "Legacy-named symbol `file_copy` in src/backend/workflows/durable/turn_execution_actions.py:267"}, "properties": {"repobilityId": "8813a3a0765cf3f7", "scanner": "scanner-primary", "fingerprint": "f1c3622b62010c88", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8a32d95db6cc9d44", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/backend/db/playground-1.mongodb.js:2"}, "properties": {"repobilityId": "c088dc43a5ad44cd", "scanner": "scanner-primary", "fingerprint": "8a32d95db6cc9d44", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21a684c4ea5d9632", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/backend/db/mongo_client.py:1257"}, "properties": {"repobilityId": "d13aac6ea6992e55", "scanner": "scanner-primary", "fingerprint": "21a684c4ea5d9632", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38e068cbdcdb0703", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/backend/db/mongo_setup.py:70"}, "properties": {"repobilityId": "4c3b9d87e30faf78", "scanner": "scanner-primary", "fingerprint": "38e068cbdcdb0703", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8976f3a065259229", "level": "note", "message": {"text": "Legacy-named symbol `_handle_materialise_scholarly_representation_for_file_copy` in src/backend/mcp_server/mcp_stdio_server.py:2533"}, "properties": {"repobilityId": "8ea3a6b3d89d9b5d", "scanner": "scanner-primary", "fingerprint": "8976f3a065259229", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ac879df4c5f3514a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/backend/languagemodels/local_model_preflight.py:108"}, "properties": {"repobilityId": "18bb1c482f0a0690", "scanner": "scanner-primary", "fingerprint": "ac879df4c5f3514a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-947205a5a47d731c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/backend/utilities/workspace_idle.py:391"}, "properties": {"repobilityId": "a49879b80c0a0335", "scanner": "scanner-primary", "fingerprint": "947205a5a47d731c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a00dad7e2862b71d", "level": "note", "message": {"text": "Legacy-named symbol `raw_doc_copy` in src/backend/vontology/utils_vontology.py:1488"}, "properties": {"repobilityId": "0e74a59e08a1dc19", "scanner": "scanner-primary", "fingerprint": "a00dad7e2862b71d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d3ed720c8d5b1daf", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/utilities/start_ollama_server.py:26"}, "properties": {"repobilityId": "a7027ad6c7a82cae", "scanner": "scanner-primary", "fingerprint": "d3ed720c8d5b1daf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a1fbe9bffdee63f", "level": "note", "message": {"text": "256 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "1acbd77d1bdf93cf", "scanner": "scanner-primary", "fingerprint": "3a1fbe9bffdee63f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "99e26f60ad40943a", "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": "18c070cb8066b8f4", "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": "1f72caad9b2a4a79", "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": "e44f39351693b673", "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": "ff0e2fa44ebf309f", "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": "789bf8c4fa514494", "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": "62665859891175c2", "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": "a70dec3ecd4f0cf3", "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": "e17fa2064e049293", "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": "33b346583e1751ac", "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": "ac2125da2208ac73", "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": "6f955b59eb220581", "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": "aa14eb90db8eaa3d", "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": "b358c183ece4ccd3", "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": "bbcc8aa7315ff33e", "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": "13fa862c5a3f0d12", "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": "36f55e4ba6307cd0", "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": "c34406ae0f81f58b", "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": "f909fa5067be956a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "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": "13b67323dacb00d3", "scanner": "scanner-primary", "fingerprint": "9dad557909b86499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-c4815ddf5394b54f", "level": "error", "message": {"text": "Flask mutation route `admin_chat_history_backfill` without `@login_required` \u2014 src/backend/server/utils_flask.py:1986"}, "properties": {"repobilityId": "be568f598ebdf9bb", "scanner": "scanner-primary", "fingerprint": "c4815ddf5394b54f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/utils_flask.py"}, "region": {"startLine": 1986}}}]}, {"ruleId": "scanner-413a372d217e048b", "level": "error", "message": {"text": "Flask mutation route `admin_chat_history_agent_provenance_backfill` without `@login_required` \u2014 src/backend/server/utils_flask.py:1996"}, "properties": {"repobilityId": "17c700d99b045732", "scanner": "scanner-primary", "fingerprint": "413a372d217e048b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/utils_flask.py"}, "region": {"startLine": 1996}}}]}, {"ruleId": "scanner-2d7af78ffdc37b38", "level": "error", "message": {"text": "Flask mutation route `admin_chat_history_reindex` without `@login_required` \u2014 src/backend/server/utils_flask.py:2005"}, "properties": {"repobilityId": "8a8f2b0e24e325a8", "scanner": "scanner-primary", "fingerprint": "2d7af78ffdc37b38", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/utils_flask.py"}, "region": {"startLine": 2005}}}]}, {"ruleId": "scanner-088c219a028b2253", "level": "error", "message": {"text": "Flask mutation route `admin_rag_integrity` without `@login_required` \u2014 src/backend/server/utils_flask.py:2028"}, "properties": {"repobilityId": "94cc0e955e7e59d5", "scanner": "scanner-primary", "fingerprint": "088c219a028b2253", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/utils_flask.py"}, "region": {"startLine": 2028}}}]}, {"ruleId": "scanner-6fae5830ad53e6d0", "level": "error", "message": {"text": "Flask mutation route `admin_rag_sync` without `@login_required` \u2014 src/backend/server/utils_flask.py:2032"}, "properties": {"repobilityId": "a33fcd12a9deadef", "scanner": "scanner-primary", "fingerprint": "6fae5830ad53e6d0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/utils_flask.py"}, "region": {"startLine": 2032}}}]}, {"ruleId": "scanner-9ee39f81b735d8a0", "level": "error", "message": {"text": "Flask mutation route `admin_shutdown` without `@login_required` \u2014 src/backend/server/utils_flask.py:2062"}, "properties": {"repobilityId": "453158c79437f5f0", "scanner": "scanner-primary", "fingerprint": "9ee39f81b735d8a0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/backend/server/utils_flask.py"}, "region": {"startLine": 2062}}}]}, {"ruleId": "scanner-d617bb627fb38a3e", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/record_name_normalization (src/frontend/web/von_interface/static/js/nameUtils.js:38)"}, "properties": {"repobilityId": "edb2b6191420edd5", "scanner": "scanner-primary", "fingerprint": "d617bb627fb38a3e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5851dca1e052fd25", "level": "error", "message": {"text": "Dangling fetch: POST /api/annotations/turn (src/frontend/web/von_interface/static/js/apiService.js:310)"}, "properties": {"repobilityId": "2b180db71e3f019c", "scanner": "scanner-primary", "fingerprint": "5851dca1e052fd25", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fdafe058422186da", "level": "error", "message": {"text": "Dangling fetch: POST /api/annotations/accept (src/frontend/web/von_interface/static/js/apiService.js:341)"}, "properties": {"repobilityId": "0e07a1aec0fbdfde", "scanner": "scanner-primary", "fingerprint": "fdafe058422186da", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ad2949a33b043cce", "level": "error", "message": {"text": "Dangling fetch: POST /api/annotations/revoke (src/frontend/web/von_interface/static/js/apiService.js:357)"}, "properties": {"repobilityId": "24e3ceaac2b8d2ef", "scanner": "scanner-primary", "fingerprint": "ad2949a33b043cce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0b20f9f9f6817d56", "level": "error", "message": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/rename (src/frontend/web/von_interface/static/js/conceptTab.js:481)"}, "properties": {"repobilityId": "a181b45d9e9b3d4e", "scanner": "scanner-primary", "fingerprint": "0b20f9f9f6817d56", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7bd5905e895b1f51", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(newId)} (src/frontend/web/von_interface/static/js/conceptTab.js:517)"}, "properties": {"repobilityId": "eccccd5711d1e967", "scanner": "scanner-primary", "fingerprint": "7bd5905e895b1f51", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6925ca3e73d75eef", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/conceptTab.js:627)"}, "properties": {"repobilityId": "0f808d82539eef03", "scanner": "scanner-primary", "fingerprint": "6925ca3e73d75eef", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a4144c38bae1a4d4", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodedConceptId} (src/frontend/web/von_interface/static/js/conceptTab.js:1097)"}, "properties": {"repobilityId": "3a7638d12080a30a", "scanner": "scanner-primary", "fingerprint": "a4144c38bae1a4d4", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-db911eb03fbc45d8", "level": "error", "message": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/start_interaction (src/frontend/web/von_interface/static/js/conceptTab.js:1721)"}, "properties": {"repobilityId": "178be862c3c32705", "scanner": "scanner-primary", "fingerprint": "db911eb03fbc45d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7fc5b66ad6c95af3", "level": "error", "message": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/generate_initial_question (src/frontend/web/von_interface/static/js/conceptTab.js:1741)"}, "properties": {"repobilityId": "4a9ec59f8d6ab357", "scanner": "scanner-primary", "fingerprint": "7fc5b66ad6c95af3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b5952c069dbb8cb2", "level": "error", "message": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentlySelectedconceptId)}/submit_answer (src/frontend/web/von_interface/static/js/conceptTab.js:1950)"}, "properties": {"repobilityId": "ed4632a813b1e22c", "scanner": "scanner-primary", "fingerprint": "b5952c069dbb8cb2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-444b085cee3905e2", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodedConceptId} (src/frontend/web/von_interface/static/js/conceptTab.js:2197)"}, "properties": {"repobilityId": "0b7b53611bd9cc4b", "scanner": "scanner-primary", "fingerprint": "444b085cee3905e2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9df5cbdc56f593f0", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/conceptTab.js:3450)"}, "properties": {"repobilityId": "07796fa9ecc80044", "scanner": "scanner-primary", "fingerprint": "9df5cbdc56f593f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-545dbda3a4bd13e2", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/text_relations?concept_id=${encodeURIComponent(conceptId)}&limit=200 (src/frontend/web/von_interface/static/js/conceptTab.js:3542)"}, "properties": {"repobilityId": "aaa2ac1627803470", "scanner": "scanner-primary", "fingerprint": "545dbda3a4bd13e2", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3e72c11de0449d1b", "level": "error", "message": {"text": "Dangling fetch: GET /api/settings/export-ontology (src/frontend/web/von_interface/static/js/importExportTab.js:116)"}, "properties": {"repobilityId": "b382e67158afb68d", "scanner": "scanner-primary", "fingerprint": "3e72c11de0449d1b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-690d440b0823f911", "level": "error", "message": {"text": "Dangling fetch: POST /api/settings/import-ontology (src/frontend/web/von_interface/static/js/importExportTab.js:215)"}, "properties": {"repobilityId": "f2c262aacbb5a31f", "scanner": "scanner-primary", "fingerprint": "690d440b0823f911", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0f82422f478f4b0d", "level": "error", "message": {"text": "Dangling fetch: POST /api/settings/repair-ontology (src/frontend/web/von_interface/static/js/importExportTab.js:285)"}, "properties": {"repobilityId": "93864be16232adff", "scanner": "scanner-primary", "fingerprint": "0f82422f478f4b0d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f210605a4b673f67", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/import_preview (src/frontend/web/von_interface/static/js/importExportTab.js:469)"}, "properties": {"repobilityId": "4cc2e8d907027f9e", "scanner": "scanner-primary", "fingerprint": "f210605a4b673f67", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d75b119d9016a906", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/import_nodes?async=1 (src/frontend/web/von_interface/static/js/importExportTab.js:529)"}, "properties": {"repobilityId": "696741463c5df51b", "scanner": "scanner-primary", "fingerprint": "d75b119d9016a906", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-63ccf71983c052d5", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/import_progress/${jobId} (src/frontend/web/von_interface/static/js/importExportTab.js:546)"}, "properties": {"repobilityId": "2f0d2ed2e9c4d5a9", "scanner": "scanner-primary", "fingerprint": "63ccf71983c052d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-58fbf1880cf83732", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/export_nodes (src/frontend/web/von_interface/static/js/importExportTab.js:634)"}, "properties": {"repobilityId": "830d3d4e230cf0bb", "scanner": "scanner-primary", "fingerprint": "58fbf1880cf83732", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-796b552cc99a5d31", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/export?${params} (src/frontend/web/von_interface/static/js/importExportTab.js:789)"}, "properties": {"repobilityId": "bb04608a82fcaff3", "scanner": "scanner-primary", "fingerprint": "796b552cc99a5d31", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c13a44bd6c5e0250", "level": "error", "message": {"text": "Dangling fetch: GET /api/entities/export?${params} (src/frontend/web/von_interface/static/js/importExportTab.js:791)"}, "properties": {"repobilityId": "0cef385f48a5dd56", "scanner": "scanner-primary", "fingerprint": "c13a44bd6c5e0250", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ae5e32367b999394", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/export-preview (src/frontend/web/von_interface/static/js/importExportTab.js:1178)"}, "properties": {"repobilityId": "5881836cdde10879", "scanner": "scanner-primary", "fingerprint": "ae5e32367b999394", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5871b96c3fb56689", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:569)"}, "properties": {"repobilityId": "f9a44a89036b55ba", "scanner": "scanner-primary", "fingerprint": "5871b96c3fb56689", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-58783b46fff6a429", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1098)"}, "properties": {"repobilityId": "70d162bb7f343b4a", "scanner": "scanner-primary", "fingerprint": "58783b46fff6a429", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-90cf11d35788f37f", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1114)"}, "properties": {"repobilityId": "43d496cd26276040", "scanner": "scanner-primary", "fingerprint": "90cf11d35788f37f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8009473ed4023545", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1193)"}, "properties": {"repobilityId": "c82a15ab95b47315", "scanner": "scanner-primary", "fingerprint": "8009473ed4023545", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9c25edc68b4c71d5", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1461)"}, "properties": {"repobilityId": "f8e7c41a87b46f5c", "scanner": "scanner-primary", "fingerprint": "9c25edc68b4c71d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-624048c6931e0200", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1522)"}, "properties": {"repobilityId": "20da0dd326842146", "scanner": "scanner-primary", "fingerprint": "624048c6931e0200", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-44869c31dc25e38c", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:1997)"}, "properties": {"repobilityId": "a8fc520bb5d24746", "scanner": "scanner-primary", "fingerprint": "44869c31dc25e38c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-de6984ccc103f276", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodedConceptId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:2427)"}, "properties": {"repobilityId": "6aa980c9e239788b", "scanner": "scanner-primary", "fingerprint": "de6984ccc103f276", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-518560472ec1f2f8", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:2764)"}, "properties": {"repobilityId": "12f9011fb59a489a", "scanner": "scanner-primary", "fingerprint": "518560472ec1f2f8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dc5472eeeec6763e", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/parents?identifier=${encodedId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:3123)"}, "properties": {"repobilityId": "328acc22a6d10418", "scanner": "scanner-primary", "fingerprint": "dc5472eeeec6763e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-44a2281042900131", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodedId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:3124)"}, "properties": {"repobilityId": "832f3da113961739", "scanner": "scanner-primary", "fingerprint": "44a2281042900131", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-900984506d75dc81", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodedId} (src/frontend/web/von_interface/static/js/dynamicTabs.js:3125)"}, "properties": {"repobilityId": "da3a60b8daa3f3eb", "scanner": "scanner-primary", "fingerprint": "900984506d75dc81", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1134b08902787eb9", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/update_description (src/frontend/web/von_interface/static/js/dynamicTabs.js:3257)"}, "properties": {"repobilityId": "faf64274824fcc47", "scanner": "scanner-primary", "fingerprint": "1134b08902787eb9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-295a9384ecd84fd5", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/concept/key-concept (src/frontend/web/von_interface/static/js/dynamicTabs.js:3963)"}, "properties": {"repobilityId": "1c90dc0ef1166e9e", "scanner": "scanner-primary", "fingerprint": "295a9384ecd84fd5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5d6a9dc5ed945f02", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(currentConceptId)}/texts?predicate=hasNote&limit=200 (src/frontend/web/von_interface/static/js/dynamicTabs.js:4865)"}, "properties": {"repobilityId": "dac23074945a1bf2", "scanner": "scanner-primary", "fingerprint": "5d6a9dc5ed945f02", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-41262601d6b4b3d8", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(note.relation_id)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:5047)"}, "properties": {"repobilityId": "9f297b2a09e7332a", "scanner": "scanner-primary", "fingerprint": "41262601d6b4b3d8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9730a56d1114cefe", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(note.relation_id)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:5094)"}, "properties": {"repobilityId": "469f059075e9de10", "scanner": "scanner-primary", "fingerprint": "9730a56d1114cefe", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e63712122f7e2b55", "level": "error", "message": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentConceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:5154)"}, "properties": {"repobilityId": "4b200ed208921c89", "scanner": "scanner-primary", "fingerprint": "e63712122f7e2b55", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ce3fadaa5048693b", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(currentConceptId)}/texts?limit=200 (src/frontend/web/von_interface/static/js/dynamicTabs.js:5231)"}, "properties": {"repobilityId": "1f13c41306135a08", "scanner": "scanner-primary", "fingerprint": "ce3fadaa5048693b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6d0a7fa83036adfa", "level": "error", "message": {"text": "Dangling fetch: PATCH /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(content.relation_id)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:5417)"}, "properties": {"repobilityId": "639fb58bc4bd2a05", "scanner": "scanner-primary", "fingerprint": "6d0a7fa83036adfa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-25c32d821ff516f8", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(currentConceptId)}/texts/${encodeURIComponent(content.relation_id)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:5464)"}, "properties": {"repobilityId": "b85f5aaf4293e3c5", "scanner": "scanner-primary", "fingerprint": "25c32d821ff516f8", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d187c0e989777982", "level": "error", "message": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(currentConceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:5524)"}, "properties": {"repobilityId": "0b79f06224a42b73", "scanner": "scanner-primary", "fingerprint": "d187c0e989777982", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-83112516fc7b9b76", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/predicates/elicitation (src/frontend/web/von_interface/static/js/dynamicTabs.js:6008)"}, "properties": {"repobilityId": "445e80c86e99abce", "scanner": "scanner-primary", "fingerprint": "83112516fc7b9b76", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e003c0d19e3a9674", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/predicates/salient?instance_id=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:6053)"}, "properties": {"repobilityId": "910eec0cb705d10a", "scanner": "scanner-primary", "fingerprint": "e003c0d19e3a9674", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-04ca2412c009e928", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:6234)"}, "properties": {"repobilityId": "dc455cc42a141cb4", "scanner": "scanner-primary", "fingerprint": "04ca2412c009e928", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-286a6366a43749cb", "level": "error", "message": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:6241)"}, "properties": {"repobilityId": "cc63b75ce5609f09", "scanner": "scanner-primary", "fingerprint": "286a6366a43749cb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6bac588449ded4eb", "level": "error", "message": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:6482)"}, "properties": {"repobilityId": "3d58b6ffdb002526", "scanner": "scanner-primary", "fingerprint": "6bac588449ded4eb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d94c870c56ff7c04", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/add (src/frontend/web/von_interface/static/js/dynamicTabs.js:6509)"}, "properties": {"repobilityId": "488b0ce25d66e370", "scanner": "scanner-primary", "fingerprint": "d94c870c56ff7c04", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-19167cb32d94ebdb", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/dynamicTabs.js:6935)"}, "properties": {"repobilityId": "2c4a766d1f238850", "scanner": "scanner-primary", "fingerprint": "19167cb32d94ebdb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-28a7590c9d9de56f", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/relationships/extent?${params.toString()} (src/frontend/web/von_interface/static/js/dynamicTabs.js:6970)"}, "properties": {"repobilityId": "be163bb04b6eb50a", "scanner": "scanner-primary", "fingerprint": "28a7590c9d9de56f", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-86e7a20231160826", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/uncertain/promote (src/frontend/web/von_interface/static/js/dynamicTabs.js:7189)"}, "properties": {"repobilityId": "b279a124e45dd747", "scanner": "scanner-primary", "fingerprint": "86e7a20231160826", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ed5d61fd22bf2429", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/uncertain/reject (src/frontend/web/von_interface/static/js/dynamicTabs.js:7223)"}, "properties": {"repobilityId": "30b9bf84074ed34c", "scanner": "scanner-primary", "fingerprint": "ed5d61fd22bf2429", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d86f72ed693e91b7", "level": "error", "message": {"text": "Dangling fetch: DELETE /api/concepts/${encodeURIComponent(row.arg1_value)}/texts (src/frontend/web/von_interface/static/js/dynamicTabs.js:7260)"}, "properties": {"repobilityId": "2154707abe9da491", "scanner": "scanner-primary", "fingerprint": "d86f72ed693e91b7", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-899fe718749e99aa", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/remove (src/frontend/web/von_interface/static/js/dynamicTabs.js:7271)"}, "properties": {"repobilityId": "ea8da66c20ee3744", "scanner": "scanner-primary", "fingerprint": "899fe718749e99aa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fd7c847ee7c39f17", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encoded} (src/frontend/web/von_interface/static/js/dynamicTabs.js:7568)"}, "properties": {"repobilityId": "e37705cae821ddc2", "scanner": "scanner-primary", "fingerprint": "fd7c847ee7c39f17", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ef34c70b27d3ff93", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/concept/flag (src/frontend/web/von_interface/static/js/dynamicTabs.js:7608)"}, "properties": {"repobilityId": "c01ff6316e70dc87", "scanner": "scanner-primary", "fingerprint": "ef34c70b27d3ff93", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-68898fc99d506f63", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/concept/organization-relation (src/frontend/web/von_interface/static/js/dynamicTabs.js:7642)"}, "properties": {"repobilityId": "bb82f5232fd2221e", "scanner": "scanner-primary", "fingerprint": "68898fc99d506f63", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dd96df9285a42c34", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/concept/user-relation (src/frontend/web/von_interface/static/js/dynamicTabs.js:7694)"}, "properties": {"repobilityId": "4f3f911eb2108d3a", "scanner": "scanner-primary", "fingerprint": "dd96df9285a42c34", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4b2ebf8cd5deec90", "level": "error", "message": {"text": "Dangling fetch: GET /api/settings/user/current (src/frontend/web/von_interface/static/js/dynamicTabs.js:7764)"}, "properties": {"repobilityId": "1baa70c8a6684149", "scanner": "scanner-primary", "fingerprint": "4b2ebf8cd5deec90", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3a986c4a711cdf06", "level": "error", "message": {"text": "Dangling fetch: GET /api/settings/user/current (src/frontend/web/von_interface/static/js/dynamicTabs.js:7778)"}, "properties": {"repobilityId": "ddddf59bce448e85", "scanner": "scanner-primary", "fingerprint": "3a986c4a711cdf06", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3471de5dd9cd4b37", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(item.id)} (src/frontend/web/von_interface/static/js/vontology.js:3720)"}, "properties": {"repobilityId": "e16eacaeffe35473", "scanner": "scanner-primary", "fingerprint": "3471de5dd9cd4b37", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ac5327f08ad481aa", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/nodes_details?identifier=${encodedIdentifier} (src/frontend/web/von_interface/static/js/vontology.js:3824)"}, "properties": {"repobilityId": "962e568729325c84", "scanner": "scanner-primary", "fingerprint": "ac5327f08ad481aa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-167dcbcce81f6f47", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/tree (src/frontend/web/von_interface/static/js/vontology.js:4331)"}, "properties": {"repobilityId": "5c4fa2347e9d3111", "scanner": "scanner-primary", "fingerprint": "167dcbcce81f6f47", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b20dcc577a7785b5", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/tree (src/frontend/web/von_interface/static/js/vontology.js:4388)"}, "properties": {"repobilityId": "6613e991a225b9e9", "scanner": "scanner-primary", "fingerprint": "b20dcc577a7785b5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ed15d6dddb09adb6", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/entity_counts (src/frontend/web/von_interface/static/js/vontology.js:4392)"}, "properties": {"repobilityId": "144f7b61070dffa1", "scanner": "scanner-primary", "fingerprint": "ed15d6dddb09adb6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f12d31168b787d59", "level": "error", "message": {"text": "Dangling fetch: POST /api/annotations/accept (src/frontend/web/von_interface/static/js/chat.js:105)"}, "properties": {"repobilityId": "d764e49e99dbdb42", "scanner": "scanner-primary", "fingerprint": "f12d31168b787d59", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-72f67c7c33a94a2c", "level": "error", "message": {"text": "Dangling fetch: POST /api/annotations/revoke (src/frontend/web/von_interface/static/js/chat.js:132)"}, "properties": {"repobilityId": "39e0f1a8f1debd60", "scanner": "scanner-primary", "fingerprint": "72f67c7c33a94a2c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ff3fc276ad2d52fa", "level": "error", "message": {"text": "Dangling fetch: POST /api/client_capabilities (src/frontend/web/von_interface/static/js/clientCapabilitiesReporter.js:145)"}, "properties": {"repobilityId": "5abcd428602d9974", "scanner": "scanner-primary", "fingerprint": "ff3fc276ad2d52fa", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-729121b1fe886c49", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(conceptId)} (src/frontend/web/von_interface/static/js/annotationTab.js:26)"}, "properties": {"repobilityId": "0d02eaa200312401", "scanner": "scanner-primary", "fingerprint": "729121b1fe886c49", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-63aee1bc04858f54", "level": "error", "message": {"text": "Dangling fetch: GET /api/annotations/llm_history (src/frontend/web/von_interface/static/js/annotationTab.js:585)"}, "properties": {"repobilityId": "73050d73f243f88b", "scanner": "scanner-primary", "fingerprint": "63aee1bc04858f54", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-98e1e7b970bc8c20", "level": "error", "message": {"text": "Dangling fetch: POST /api/annotations/prompt_preview (src/frontend/web/von_interface/static/js/annotationTab.js:640)"}, "properties": {"repobilityId": "8413e4366a14c66d", "scanner": "scanner-primary", "fingerprint": "98e1e7b970bc8c20", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-50d6ffe6b880a418", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encoded}/texts?predicate=hasDescription&limit=1 (src/frontend/web/von_interface/static/js/domUtils.js:96)"}, "properties": {"repobilityId": "3059bb92e8a4d381", "scanner": "scanner-primary", "fingerprint": "50d6ffe6b880a418", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9bd099a8758507d5", "level": "error", "message": {"text": "Dangling fetch: GET /api/settings/db/info (src/frontend/web/von_interface/static/js/domUtils.js:788)"}, "properties": {"repobilityId": "74ad03cf070e6b4e", "scanner": "scanner-primary", "fingerprint": "9bd099a8758507d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5b8c5fd3c88787f0", "level": "error", "message": {"text": "Dangling fetch: GET /vontology/api/vontology/node_content?identifier=${encodeURIComponent(id)} (src/frontend/web/von_interface/static/js/domUtils.js:1002)"}, "properties": {"repobilityId": "7130f1151f071072", "scanner": "scanner-primary", "fingerprint": "5b8c5fd3c88787f0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-90941dae7c04e49e", "level": "error", "message": {"text": "Dangling fetch: POST /von/api/render_markdown (src/frontend/web/von_interface/static/js/markdownUtils.js:301)"}, "properties": {"repobilityId": "9aefdf808acc3773", "scanner": "scanner-primary", "fingerprint": "90941dae7c04e49e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-9212c55636b003b9", "level": "error", "message": {"text": "Dangling fetch: GET /api/concepts/${encodeURIComponent(normalisedConceptId)} (src/frontend/web/von_interface/static/js/predicateExtentDisplay.js:52)"}, "properties": {"repobilityId": "3b7bd2d3d8828106", "scanner": "scanner-primary", "fingerprint": "9212c55636b003b9", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-efb6314c85d05f25", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/relationships/add (src/frontend/web/von_interface/static/js/predicateExtentDisplay.js:615)"}, "properties": {"repobilityId": "4cfb2dba268ab3d4", "scanner": "scanner-primary", "fingerprint": "efb6314c85d05f25", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0c5f286e306fe92d", "level": "error", "message": {"text": "Dangling fetch: GET /von/api/session/context (src/frontend/web/von_interface/static/js/settingsPage.js:1541)"}, "properties": {"repobilityId": "cdc81cf895a60756", "scanner": "scanner-primary", "fingerprint": "0c5f286e306fe92d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e459d0dffbc63702", "level": "error", "message": {"text": "Dangling fetch: GET /von/api/auth/status (src/frontend/web/von_interface/static/js/settingsPage.js:1554)"}, "properties": {"repobilityId": "51fd486039d289e5", "scanner": "scanner-primary", "fingerprint": "e459d0dffbc63702", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b70f674e5c84ca67", "level": "error", "message": {"text": "Dangling fetch: GET /von/api/agent/gmail/oauth/status?profile_id=${encodeURIComponent(profileId)} (src/frontend/web/von_interface/static/js/settingsPage.js:1864)"}, "properties": {"repobilityId": "4da6f96f596c4455", "scanner": "scanner-primary", "fingerprint": "b70f674e5c84ca67", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-eb953c85faab1a38", "level": "error", "message": {"text": "Dangling fetch: GET /api/settings/metrics/deprecations (src/frontend/web/von_interface/static/js/settingsPage.js:3983)"}, "properties": {"repobilityId": "fa72753d32b64656", "scanner": "scanner-primary", "fingerprint": "eb953c85faab1a38", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4c8f2f55fb0bd84e", "level": "error", "message": {"text": "Dangling fetch: GET /api/settings/db/info (src/frontend/web/von_interface/static/js/settingsPage.js:4043)"}, "properties": {"repobilityId": "6914a88fd5d66fdd", "scanner": "scanner-primary", "fingerprint": "4c8f2f55fb0bd84e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-24e2c318a1484a07", "level": "error", "message": {"text": "Dangling fetch: POST /api/settings/user_prefs/${encodeURIComponent(storedUser.concept_id)} (src/frontend/web/von_interface/static/js/settingsPage.js:4253)"}, "properties": {"repobilityId": "159a9dcc2a1635a5", "scanner": "scanner-primary", "fingerprint": "24e2c318a1484a07", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-fb4cfd252fc519cc", "level": "error", "message": {"text": "Dangling fetch: GET /api/settings/ollama/hosts (src/frontend/web/von_interface/static/js/settingsPage.js:4543)"}, "properties": {"repobilityId": "5798d8f524aff3ca", "scanner": "scanner-primary", "fingerprint": "fb4cfd252fc519cc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-c79981356890d24e", "level": "error", "message": {"text": "Dangling fetch: POST /vontology/api/vontology/predicates/salient/recompute_inherited (src/frontend/web/von_interface/static/js/settingsPage.js:4633)"}, "properties": {"repobilityId": "8f23d7a9e17e6375", "scanner": "scanner-primary", "fingerprint": "c79981356890d24e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e3bc3668dd61dd0a", "level": "error", "message": {"text": "Dangling fetch: POST /api/concepts/${encodeURIComponent(conceptId)}/paper_recommendation_profile (src/frontend/web/von_interface/static/js/components/paperRecommendationProfilePanel.js:199)"}, "properties": {"repobilityId": "681f3c02a49ce4c7", "scanner": "scanner-primary", "fingerprint": "e3bc3668dd61dd0a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-a630284fdcb3e29a", "level": "note", "message": {"text": "Unused endpoint: ANY /chat_tab"}, "properties": {"repobilityId": "1bb9c0193a99cdd1", "scanner": "scanner-primary", "fingerprint": "a630284fdcb3e29a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-33d66b4b9b3379c1", "level": "note", "message": {"text": "Unused endpoint: ANY /vontology_tab"}, "properties": {"repobilityId": "0fa7023dbf088aca", "scanner": "scanner-primary", "fingerprint": "33d66b4b9b3379c1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1339384bf0b36204", "level": "note", "message": {"text": "Unused endpoint: ANY /import_export_tab"}, "properties": {"repobilityId": "e65ac6d1e488211e", "scanner": "scanner-primary", "fingerprint": "1339384bf0b36204", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a1f933643b25701f", "level": "note", "message": {"text": "Unused endpoint: ANY /entity_tab"}, "properties": {"repobilityId": "583ff5487ebb817b", "scanner": "scanner-primary", "fingerprint": "a1f933643b25701f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b97db37f65b624be", "level": "note", "message": {"text": "Unused endpoint: ANY /settings_tab"}, "properties": {"repobilityId": "1dcbcac3a241f5bf", "scanner": "scanner-primary", "fingerprint": "b97db37f65b624be", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1070e450ed40253b", "level": "note", "message": {"text": "Unused endpoint: ANY /api/vontology/predicates/salient"}, "properties": {"repobilityId": "4b3ec1cbd6e5df47", "scanner": "scanner-primary", "fingerprint": "1070e450ed40253b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1a6d91f2236825bf", "level": "note", "message": {"text": "Unused endpoint: ANY /"}, "properties": {"repobilityId": "7c44ae5669450478", "scanner": "scanner-primary", "fingerprint": "1a6d91f2236825bf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f51fc0570b42b4da", "level": "note", "message": {"text": "Unused endpoint: ANY /admin/rag_runtime"}, "properties": {"repobilityId": "b65a9e1d0423e5ce", "scanner": "scanner-primary", "fingerprint": "f51fc0570b42b4da", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-344a42fd94bfb871", "level": "note", "message": {"text": "Unused endpoint: ANY /admin/chat_history_agent_provenance_backfill"}, "properties": {"repobilityId": "111ec74ba0acc81b", "scanner": "scanner-primary", "fingerprint": "344a42fd94bfb871", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-aef678e4911bdf9e", "level": "note", "message": {"text": "Unused endpoint: ANY /admin/chat_history_reindex"}, "properties": {"repobilityId": "440080b7147211b0", "scanner": "scanner-primary", "fingerprint": "aef678e4911bdf9e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e140910a060dc884", "level": "note", "message": {"text": "Unused endpoint: ANY /admin/rag_integrity"}, "properties": {"repobilityId": "f4cdafeeb66d6821", "scanner": "scanner-primary", "fingerprint": "e140910a060dc884", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2bea82d48ce49db6", "level": "note", "message": {"text": "Unused endpoint: ANY /diag"}, "properties": {"repobilityId": "04c893b8d589ed08", "scanner": "scanner-primary", "fingerprint": "2bea82d48ce49db6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2fdfe7bf17d71f5c", "level": "note", "message": {"text": "Unused endpoint: ANY /api/system/db_status"}, "properties": {"repobilityId": "64dbacf2298fd5ae", "scanner": "scanner-primary", "fingerprint": "2fdfe7bf17d71f5c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-02cb834e223ca635", "level": "note", "message": {"text": "Unused endpoint: ANY /api/version"}, "properties": {"repobilityId": "2ea02d34e7eac69f", "scanner": "scanner-primary", "fingerprint": "02cb834e223ca635", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ce150642a643bbe2", "level": "note", "message": {"text": "Unused endpoint: ANY /admin/policy_comparison"}, "properties": {"repobilityId": "e15133b83e0299e3", "scanner": "scanner-primary", "fingerprint": "ce150642a643bbe2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-62058516c4a2299f", "level": "note", "message": {"text": "Unused endpoint: ANY /<concept_id>/extent"}, "properties": {"repobilityId": "5c6107c5952403b6", "scanner": "scanner-primary", "fingerprint": "62058516c4a2299f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a5e35a556e390d68", "level": "note", "message": {"text": "Unused endpoint: ANY /<concept_id>/metadata"}, "properties": {"repobilityId": "54a0323383c105c4", "scanner": "scanner-primary", "fingerprint": "a5e35a556e390d68", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-66599ec9f5b5458f", "level": "note", "message": {"text": "Unused endpoint: ANY /prompt_preview"}, "properties": {"repobilityId": "5e71a2ca1fd2f8ea", "scanner": "scanner-primary", "fingerprint": "66599ec9f5b5458f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e9ae38bfa38f9312", "level": "note", "message": {"text": "Unused endpoint: ANY /turn"}, "properties": {"repobilityId": "f27b5e561bbd2f8a", "scanner": "scanner-primary", "fingerprint": "e9ae38bfa38f9312", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2014f9e3e9254bc9", "level": "note", "message": {"text": "Unused endpoint: ANY /accept"}, "properties": {"repobilityId": "5ed4066f4999cf84", "scanner": "scanner-primary", "fingerprint": "2014f9e3e9254bc9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b0f1d7df99862449", "level": "note", "message": {"text": "Unused endpoint: ANY /revoke"}, "properties": {"repobilityId": "045a047abb354835", "scanner": "scanner-primary", "fingerprint": "b0f1d7df99862449", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d2b35b62328d9f45", "level": "note", "message": {"text": "Unused endpoint: ANY /manual_instance"}, "properties": {"repobilityId": "749a068a7c0d7fab", "scanner": "scanner-primary", "fingerprint": "d2b35b62328d9f45", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2e1305f58484e043", "level": "note", "message": {"text": "Unused endpoint: ANY /manual_type"}, "properties": {"repobilityId": "d11d96bb7d684f9d", "scanner": "scanner-primary", "fingerprint": "2e1305f58484e043", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4d7dbe590619fd40", "level": "note", "message": {"text": "Unused endpoint: ANY /llm_history"}, "properties": {"repobilityId": "278f28ea406e3f03", "scanner": "scanner-primary", "fingerprint": "4d7dbe590619fd40", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e99da49e29e64b2b", "level": "note", "message": {"text": "Unused endpoint: ANY /opportunities/<instance_id>"}, "properties": {"repobilityId": "ddbba4823c23fd23", "scanner": "scanner-primary", "fingerprint": "e99da49e29e64b2b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-868b7c22a9ee29f1", "level": "note", "message": {"text": "Unused endpoint: ANY /ask"}, "properties": {"repobilityId": "8779398cf255fc9c", "scanner": "scanner-primary", "fingerprint": "868b7c22a9ee29f1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-eca43ccb28b2d648", "level": "note", "message": {"text": "Unused endpoint: ANY /submit"}, "properties": {"repobilityId": "1cd5c60a6d583924", "scanner": "scanner-primary", "fingerprint": "eca43ccb28b2d648", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f790bd8c6d48c111", "level": "note", "message": {"text": "Unused endpoint: ANY /<message_id>"}, "properties": {"repobilityId": "572beeed405dc9ae", "scanner": "scanner-primary", "fingerprint": "f790bd8c6d48c111", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f5aad7cd263e44e4", "level": "note", "message": {"text": "Unused endpoint: ANY /<message_id>/paper_recommendation_review"}, "properties": {"repobilityId": "12bcaa2955aa1f1a", "scanner": "scanner-primary", "fingerprint": "f5aad7cd263e44e4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-64951bb91cbab15d", "level": "note", "message": {"text": "Unused endpoint: ANY /<message_id>/paper_recommendation_feedback"}, "properties": {"repobilityId": "eeb17ddd275ea0b5", "scanner": "scanner-primary", "fingerprint": "64951bb91cbab15d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-017917ff8532b032", "level": "note", "message": {"text": "Unused endpoint: ANY /conversation/<other_user_id>"}, "properties": {"repobilityId": "7a04714b4caf2cd1", "scanner": "scanner-primary", "fingerprint": "017917ff8532b032", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1835372a3921c21a", "level": "note", "message": {"text": "Unused endpoint: ANY /unread/count"}, "properties": {"repobilityId": "14b63bdc7497065c", "scanner": "scanner-primary", "fingerprint": "1835372a3921c21a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-546b1b8406c21aa7", "level": "note", "message": {"text": "Unused endpoint: ANY /<message_id>/read"}, "properties": {"repobilityId": "0caf692439912511", "scanner": "scanner-primary", "fingerprint": "546b1b8406c21aa7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-50340f683bc8a6c3", "level": "note", "message": {"text": "Unused endpoint: ANY /read/bulk"}, "properties": {"repobilityId": "c120580260966552", "scanner": "scanner-primary", "fingerprint": "50340f683bc8a6c3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-eaefcbe77340ac66", "level": "note", "message": {"text": "Unused endpoint: ANY /threads"}, "properties": {"repobilityId": "e8e917dbbf72f8bf", "scanner": "scanner-primary", "fingerprint": "eaefcbe77340ac66", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-117531c0d0465186", "level": "note", "message": {"text": "Unused endpoint: ANY /search"}, "properties": {"repobilityId": "ea717206c64a607d", "scanner": "scanner-primary", "fingerprint": "117531c0d0465186", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-adc6cd201283fe21", "level": "note", "message": {"text": "Unused endpoint: GET /api/workflows/definitions/<path:workflow_id>"}, "properties": {"repobilityId": "ca5af23479a500fd", "scanner": "scanner-primary", "fingerprint": "adc6cd201283fe21", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-65e53123174de493", "level": "note", "message": {"text": "Unused endpoint: GET /api/workflows/definitions"}, "properties": {"repobilityId": "7f7b12b0060672d5", "scanner": "scanner-primary", "fingerprint": "65e53123174de493", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b83b909f21e2e79d", "level": "note", "message": {"text": "Unused endpoint: GET /api/workflows/capability-index/status"}, "properties": {"repobilityId": "573e7cc7d7349c52", "scanner": "scanner-primary", "fingerprint": "b83b909f21e2e79d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-41a56d73fa44df81", "level": "note", "message": {"text": "Unused endpoint: GET /api/workflow-studio/catalogue"}, "properties": {"repobilityId": "fa245be944cd2188", "scanner": "scanner-primary", "fingerprint": "41a56d73fa44df81", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-af7d77c5c88745d5", "level": "note", "message": {"text": "Unused endpoint: GET /api/workflow-studio/workflows/<path:workflow_id>"}, "properties": {"repobilityId": "0792e82d6b01879a", "scanner": "scanner-primary", "fingerprint": "af7d77c5c88745d5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8d5c49c7b0027a00", "level": "note", "message": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/authoring/preview"}, "properties": {"repobilityId": "d56930193287415f", "scanner": "scanner-primary", "fingerprint": "8d5c49c7b0027a00", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3f5c875f14ed4a2b", "level": "note", "message": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/authoring/apply"}, "properties": {"repobilityId": "1bf750de54688e39", "scanner": "scanner-primary", "fingerprint": "3f5c875f14ed4a2b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cf153dbb53cc4910", "level": "note", "message": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/authoring"}, "properties": {"repobilityId": "ba15ba6e170a4fa8", "scanner": "scanner-primary", "fingerprint": "cf153dbb53cc4910", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6cb6cbfe38515ce6", "level": "note", "message": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/review"}, "properties": {"repobilityId": "10ca74a70f482b6e", "scanner": "scanner-primary", "fingerprint": "6cb6cbfe38515ce6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f4d1b2bd29ef525a", "level": "note", "message": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/rollback"}, "properties": {"repobilityId": "17acfd0a898544d0", "scanner": "scanner-primary", "fingerprint": "f4d1b2bd29ef525a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d098e81f9eeff402", "level": "note", "message": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/publication/demote"}, "properties": {"repobilityId": "35f39518cccd1ba2", "scanner": "scanner-primary", "fingerprint": "d098e81f9eeff402", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8f45e0c6d0fea4d6", "level": "note", "message": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/publication/supersede"}, "properties": {"repobilityId": "f222f5c211e25698", "scanner": "scanner-primary", "fingerprint": "8f45e0c6d0fea4d6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0412fbb061aff600", "level": "note", "message": {"text": "Unused endpoint: POST /api/workflow-studio/workflows/<path:workflow_id>/proposals/description"}, "properties": {"repobilityId": "b6d9b149b0d90c30", "scanner": "scanner-primary", "fingerprint": "0412fbb061aff600", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5ce2ebad066b0d46", "level": "note", "message": {"text": "Unused endpoint: GET /api/workflows/executions/<execution_id>"}, "properties": {"repobilityId": "0507856502d8a9d9", "scanner": "scanner-primary", "fingerprint": "5ce2ebad066b0d46", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}