{"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-a0cd10e3c088bc17", "name": "Possibly dead Python function: validate_token", "shortDescription": {"text": "Possibly dead Python function: validate_token"}, "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-4afd4cfc53403a10", "name": "Possibly dead Python function: revoke_token", "shortDescription": {"text": "Possibly dead Python function: revoke_token"}, "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-91158bed7a6f38a5", "name": "Possibly dead Python function: clear_all_tokens", "shortDescription": {"text": "Possibly dead Python function: clear_all_tokens"}, "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-617d1cd4c18d6b4d", "name": "Possibly dead Python function: log_message", "shortDescription": {"text": "Possibly dead Python function: log_message"}, "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-7e367600b9803427", "name": "Possibly dead Python function: do_POST", "shortDescription": {"text": "Possibly dead Python function: do_POST"}, "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-7f321e5b53220b60", "name": "Possibly dead Python function: do_GET", "shortDescription": {"text": "Possibly dead Python function: do_GET"}, "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-b8ee0c0912ad35a7", "name": "Possibly dead Python function: retain", "shortDescription": {"text": "Possibly dead Python function: retain"}, "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-d837aa03aa834993", "name": "Possibly dead Python function: reflect", "shortDescription": {"text": "Possibly dead Python function: reflect"}, "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-0394d905efe1f660", "name": "Possibly dead Python function: configure_bank", "shortDescription": {"text": "Possibly dead Python function: configure_bank"}, "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-62f1f4c82cbddc9c", "name": "Possibly dead Python function: list_entities", "shortDescription": {"text": "Possibly dead Python function: list_entities"}, "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-7c1d64bb07214671", "name": "Possibly dead Python function: install_skills", "shortDescription": {"text": "Possibly dead Python function: install_skills"}, "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-9ebdb00a320eda3d", "name": "Possibly dead Python function: install_workspace", "shortDescription": {"text": "Possibly dead Python function: install_workspace"}, "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-53ae85ccae8e2122", "name": "Possibly dead Python function: install_system_workspace", "shortDescription": {"text": "Possibly dead Python function: install_system_workspace"}, "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-6545561ee0620a17", "name": "Possibly dead Python function: store_turn", "shortDescription": {"text": "Possibly dead Python function: store_turn"}, "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-029d412ffa8071e7", "name": "Possibly dead Python function: store_turn_pair", "shortDescription": {"text": "Possibly dead Python function: store_turn_pair"}, "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-de88a51df4298705", "name": "Possibly dead Python function: retrieve_session_memory", "shortDescription": {"text": "Possibly dead Python function: retrieve_session_memory"}, "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-391fb79897cb1e89", "name": "Possibly dead Python function: retrieve_assistant_memory", "shortDescription": {"text": "Possibly dead Python function: retrieve_assistant_memory"}, "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-0528b2eb698be3ed", "name": "Possibly dead Python function: retrieve_memory_events", "shortDescription": {"text": "Possibly dead Python function: retrieve_memory_events"}, "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-ded1d76d3f49d077", "name": "Possibly dead Python function: build_converse_messages", "shortDescription": {"text": "Possibly dead Python function: build_converse_messages"}, "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-d845a365c337630a", "name": "Possibly dead Python function: build_conversation_string", "shortDescription": {"text": "Possibly dead Python function: build_conversation_string"}, "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-9657c6bb5b89274b", "name": "Possibly dead Python function: clear_thread_memory", "shortDescription": {"text": "Possibly dead Python function: clear_thread_memory"}, "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-09a311fd6d7c98ab", "name": "Possibly dead Python function: reset_captured_request_ids", "shortDescription": {"text": "Possibly dead Python function: reset_captured_request_ids"}, "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-dbd641950b7773b0", "name": "Possibly dead Python function: install_on_session", "shortDescription": {"text": "Possibly dead Python function: install_on_session"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8bec7bce1c11b7b", "name": "Possibly dead Python function: log_agent_invocation", "shortDescription": {"text": "Possibly dead Python function: log_agent_invocation"}, "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-168d66fbc40a6efd", "name": "Possibly dead Python function: log_permission_denied", "shortDescription": {"text": "Possibly dead Python function: log_permission_denied"}, "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-dd1d5074212fcf1e", "name": "Possibly dead Python function: log_approval_decision", "shortDescription": {"text": "Possibly dead Python function: log_approval_decision"}, "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-4ce1d1c4e35fb048", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/scripts/bundle-terraform.js:50", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/scripts/bundle-terraform.js:50"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-122f6a9d97ab437e", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/prerequisites.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/prerequisites.ts:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-67aba614f7d4281a", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/ui.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/ui.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1c3708b49f60c66", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/terraform.ts:141", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/terraform.ts:141"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ef84ccca7079c85f", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/config.ts:84", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/config.ts:84"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5ed8c07b1f168811", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/login.ts:151", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/login.ts:151"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b78d29ff69b6bf3a", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/doctor.ts:247", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/doctor.ts:247"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-132207b8991651fe", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/init.ts:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/init.ts:174"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f05db8402e15312", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/status.ts:171", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/status.ts:171"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e3f02885d996780", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/user.ts:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/user.ts:111"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a8fee7f876b139b5", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/deploy.ts:428", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/deploy.ts:428"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce0df57d33b65443", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/trace.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/trace.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad8c53e29b04e66c", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/destroy.ts:132", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/destroy.ts:132"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-70038f9233e46155", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/mcp.ts:122", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/mcp.ts:122"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-abc484264916e581", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/update.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/update.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7e299c8da6bcbcee", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/message.ts:196", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/message.ts:196"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f198c4933b6fe50", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/cleanup-space-hindsight-banks.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/cleanup-space-hindsight-banks.ts:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-68368216a5d9520b", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/logout.ts:63", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/logout.ts:63"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be835cfdf4242f67", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/computer.ts:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/computer.ts:95"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa057d7c33436c25", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/turn.ts:251", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/turn.ts:251"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a04c0c200e2ef0d7", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/tools.ts:77", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/tools.ts:77"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d9654d594bf2ecbb", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/release.ts:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/release.ts:81"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-83f658a42f460443", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/scheduled-job.ts:260", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/scheduled-job.ts:260"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa86aa33f0bb84ef", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/migrate-folder-canon.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/migrate-folder-canon.ts:57"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a955bf371f51f6d8", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/webhook.ts:287", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/webhook.ts:287"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b27f15378ad0397b", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/artifact.ts:208", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/artifact.ts:208"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3bf6ebabe8e13a55", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/memory.ts:281", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/memory.ts:281"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3afab64555f757a5", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/routine.ts:319", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/routine.ts:319"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fdb19b21cafb70d8", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/thread/get.ts:64", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/thread/get.ts:64"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e05fb283599bb9a6", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/thread/create.ts:103", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/thread/create.ts:103"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-44d15d371662cb38", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/thread/checkout.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/thread/checkout.ts: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-da96bc16f9345208", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/enterprise/deploy.ts:654", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/enterprise/deploy.ts:654"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c471cfb8743c84f", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/enterprise/destroy.ts:165", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/enterprise/destroy.ts:165"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d7e520ab9837cd51", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/enterprise/bootstrap.ts:486", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/enterprise/bootstrap.ts:486"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a63cf71af645cedf", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/wiki/status.ts:200", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/wiki/status.ts:200"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b7134d31181caa4b", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/wiki/compile.ts:135", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/wiki/compile.ts:135"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d461b7e4ab6aa895", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/wiki/rebuild.ts:88", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/wiki/rebuild.ts:88"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbbb811f56ea5142", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/eval/get.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/eval/get.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48bda3ef6a239e95", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/eval/test-case/get.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/eval/test-case/get.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b96c5c7f8533d71e", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/inbox/get.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/inbox/get.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d9132b623bc66af", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/interactive.ts:52", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/interactive.ts:52"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-06ba71c4bd72554b", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/output.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/output.ts:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7f3ecd5220f9b021", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/resolve-stage.ts:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/resolve-stage.ts:74"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e1704215d8d7f630", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/resolve-tenant.ts:78", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/resolve-tenant.ts:78"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8759d443ee1a5c3e", "name": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/resolve-identifier.ts:69", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/resolve-identifier.ts:69"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a922581fb4537ef8", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/components/threads/ActivityTimeline.tsx:966", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/components/threads/ActivityTimeline.tsx:966"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d8fd03ce2dfe3ca", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/components/chat/ChatBubble.tsx:200", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/components/chat/ChatBubble.tsx:200"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f2604eabfd3b672", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/components/chat/ChatInput.tsx:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/components/chat/ChatInput.tsx:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9430b64747913b3c", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/components/agents/agent-detail.tsx:274", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/components/agents/agent-detail.tsx:274"}, "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-f988d65820435c04", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/demo.tsx:197", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/demo.tsx:197"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb3c4631de0d2662", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/verify.tsx:59", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/verify.tsx:59"}, "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-5f59b422ae83894a", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/usage.tsx:12", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/usage.tsx:12"}, "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-a9685cdb37488a0d", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/account.tsx:30", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/account.tsx:30"}, "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-99c00a1e253e2b05", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/profile.tsx:59", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/profile.tsx:59"}, "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-2998e90cb43e0577", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/basic-credential.tsx:14", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/basic-credential.tsx:14"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-adc9630ab3e0e1e1", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/integration-detail.tsx:27", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/integration-detail.tsx:27"}, "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-d96166a7fc0b8eb7", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/basic-credential/[id].tsx:18", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/basic-credential/[id].tsx:18"}, "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-c3f0b09b0c7d865a", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/fleet/[id]/audit.tsx:8", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/fleet/[id]/audit.tsx:8"}, "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-6aa2fc9422f9e188", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/fleet/[id]/inbox.tsx:9", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/fleet/[id]/inbox.tsx:9"}, "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-07cfeb92fd61d6f2", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/thread/[threadId]/index.tsx:857", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/thread/[threadId]/index.tsx:857"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-224f2fc1ec11cd0d", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/index.tsx:28", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/index.tsx:28"}, "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-f0c77e267b6c197e", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/[id]/conversation.tsx:69", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/[id]/conversation.tsx:69"}, "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-67e3a8c8b8a61888", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/[id]/index.tsx:141", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/[id]/index.tsx:141"}, "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-9ae72944d54b3426", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/[id]/documents.tsx:8", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/[id]/documents.tsx:8"}, "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-aa50435d90efcdc1", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/invite/[token].tsx:27", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/invite/[token].tsx:27"}, "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-f69ec1d131d17f97", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/invite/[token].tsx:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/invite/[token].tsx:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8be62b2c30d39a4b", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/builder.tsx:123", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/builder.tsx:123"}, "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-53c782cfdee17f03", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/routines/builder.tsx:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/routines/builder.tsx:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35395c3654c0e0c9", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/builder-chat.tsx:77", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/builder-chat.tsx:77"}, "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-0201db56c1793e56", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/new.tsx:36", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/new.tsx:36"}, "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-29fdd35f77d1eeb6", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/edit.tsx:54", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/edit.tsx:54"}, "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-7f8ed648f0bcf887", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/index.tsx:370", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/index.tsx:370"}, "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-427c4b0194189661", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/triggers/add-schedule.tsx:473", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/triggers/add-schedule.tsx:473"}, "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-410f88aedd53a319", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/triggers/index.tsx:113", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/triggers/index.tsx:113"}, "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-352d6a40e91cb8d9", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/triggers/[triggerId].tsx:95", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/triggers/[triggerId].tsx:95"}, "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-a8dbf86217edf5be", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/usage.tsx:91", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/usage.tsx:91"}, "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-e4e1c61ed6ea228a", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/model.tsx:28", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/model.tsx:28"}, "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-4d0fba93d16ea340", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/file-view.tsx:6", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/file-view.tsx:6"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d04550bb7130050", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/files.tsx:140", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/files.tsx:140"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c9e4c763f5ff99a0", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/index.tsx:21", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/index.tsx:21"}, "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-a0c62e68111f1084", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/budget.tsx:8", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/budget.tsx:8"}, "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-4c04e2ac72b211cd", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/onboarding/complete.tsx:130", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/onboarding/complete.tsx:130"}, "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-f4b9b7540c750a47", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/onboarding/verify-code.tsx:122", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/onboarding/verify-code.tsx:122"}, "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-34543d05a95aba43", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/onboarding/verify-code.tsx:124", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/onboarding/verify-code.tsx:124"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4e81d3aeaf50cfdc", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/skills/[skillId].tsx:42", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/skills/[skillId].tsx:42"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2d0746a6e1acfa17", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/skills/configure.tsx:38", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/skills/configure.tsx:38"}, "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-043b90e0d9c663e8", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/(tabs)/index.tsx:735", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/(tabs)/index.tsx:735"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3c29cee8a42e278", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/(tabs)/fleet.tsx:21", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/(tabs)/fleet.tsx:21"}, "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-bfea09fc68547e9f", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/(tabs)/activity/index.tsx:161", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/(tabs)/activity/index.tsx: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-9e2d9ee54750b867", "name": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/(tabs)/skills/index.tsx:34", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/(tabs)/skills/index.tsx:34"}, "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-e1b9f667b1db86e5", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/auth-context.tsx:139", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/auth-context.tsx:139"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-66fc790057c2ccbf", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/auth.ts:303", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/auth.ts:303"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-70e9bf67ca74a23a", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/cognito-storage.ts:31", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/cognito-storage.ts:31"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb31ef90471b4790", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/graphql/client.ts:102", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/graphql/client.ts:102"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1d500c647519326d", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/hooks/use-push-notifications.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/hooks/use-push-notifications.ts:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ecbbf9c0a76b4fb", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/hooks/useGatewayChat.ts:184", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/hooks/useGatewayChat.ts:184"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c59e5e069b7cf59", "name": "Stray `console.log` in TS/JS \u2014 apps/mobile/hooks/useGraphQLChat.ts:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/hooks/useGraphQLChat.ts:74"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac56f7b53c8e725c", "name": "TODO/FIXME marker in shipping code \u2014 apps/web/src/iframe-shell/main.ts:441", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/web/src/iframe-shell/main.ts:441"}, "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-4b1a11a577088fb1", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/DesktopApplicationHeader.tsx:209", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/DesktopApplicationHeader.tsx:209"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cec91fe3e1950c73", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/SpacesSidebar.tsx:121", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/SpacesSidebar.tsx:121"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4aa3283d3ac4f2ad", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/DesktopWindowHeader.tsx:4", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/DesktopWindowHeader.tsx:4"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-784f0eacc573a258", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/AppTopBar.tsx:107", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/AppTopBar.tsx:107"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-457452c28ac2be98", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsMcpServers.tsx:121", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsMcpServers.tsx:121"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b97e70bbee0be1da", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalTestCaseDetail.tsx:113", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalTestCaseDetail.tsx:113"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-63caf56ca1dbb5da", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsUserDetail.tsx:695", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsUserDetail.tsx:695"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d6fbe9dedfe33cbd", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsRoutines.tsx:59", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsRoutines.tsx:59"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46ca021c7942ad3d", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalRunDetail.tsx:884", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalRunDetail.tsx:884"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c5f4912bb6ba301f", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsHeaderBar.tsx:78", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsHeaderBar.tsx:78"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cadc62f3528d02e9", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSkills.tsx:217", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSkills.tsx:217"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-095ac42dfea6e5e3", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsGeneral.tsx:974", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsGeneral.tsx:974"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b74c771bfa39928e", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalReplayTools.tsx:339", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalReplayTools.tsx:339"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6453e593ede7f771", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsKnowledgeBases.tsx:71", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsKnowledgeBases.tsx:71"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9bb22fb42e53be98", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsAgents.tsx:614", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsAgents.tsx:614"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e6055a51343ca2f", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalStudio.tsx:108", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalStudio.tsx:108"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73ac212fc616d448", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsKnowledgeBaseDetail.tsx:37", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsKnowledgeBaseDetail.tsx:374"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-afc6cd2ad6ff7c0c", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalDatasetDetail.tsx:164", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalDatasetDetail.tsx:164"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09491227288140a0", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalDatasets.tsx:196", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalDatasets.tsx:196"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ede2138d09528c3", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsActivityExecutionTrace.tsx", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsActivityExecutionTrace.tsx:164"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0237ef87ea7ee29c", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsAnalytics.tsx:285", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsAnalytics.tsx:285"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-179ed5e40bcaf157", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsActivityThreadDetail.tsx:4", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsActivityThreadDetail.tsx:464"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35e76ed49164865b", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsMcpServerDetail.tsx:320", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsMcpServerDetail.tsx:320"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b3cd5da659e1c265", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsWiki.tsx:133", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsWiki.tsx:133"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-afe32a8de8105562", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsWebhookDetail.tsx:331", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsWebhookDetail.tsx:331"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-937b540ca7e3b487", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsMemory.tsx:188", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsMemory.tsx:188"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7673e3bebab707a6", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsActivity.tsx:346", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsActivity.tsx:346"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ec241a87635f09ae", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSpaces.tsx:82", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSpaces.tsx:82"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5599b31243137fc", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsAutomations.tsx:243", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsAutomations.tsx:243"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8882c08daf187331", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/UserModelsSection.tsx:157", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/UserModelsSection.tsx:157"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-126f66aae496fb62", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSpaceConfig.tsx:429", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSpaceConfig.tsx:429"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4cf0f8b5dde49210", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSidebar.tsx:99", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSidebar.tsx:99"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ea39f0e2480a70f", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/knowledge-graph/KnowledgeGraphInge", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/knowledge-graph/KnowledgeGraphIngestControls.tsx:37"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1e787890586454be", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/knowledge-graph/KnowledgeGraphEnti", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/knowledge-graph/KnowledgeGraphEntitySheet.tsx:54"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5a13b176e19f6aa", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/knowledge-graph/KnowledgeGraphExpl", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/knowledge-graph/KnowledgeGraphExplorer.tsx:204"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d25a1c67eb408378", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/managed-applications/ManagedApplic", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/managed-applications/ManagedApplicationJobTimeline.tsx:34"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e3857a526c70c34f", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/brain/BrainOperationsPage.tsx:625", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/brain/BrainOperationsPage.tsx:625"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-99d0df4d133d6b5f", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/plugins/PluginsPage.tsx:214", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/plugins/PluginsPage.tsx:214"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ca8c2b77c1d85f6", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/plugins/UninstallPluginDialog.tsx:", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/plugins/UninstallPluginDialog.tsx:91"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0f0f0ddbc580f3aa", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/plugins/PluginDetail.tsx:428", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/plugins/PluginDetail.tsx:428"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04a996d41ec363c3", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/OnboardingChecklistPanel.tsx:173", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/OnboardingChecklistPanel.tsx:173"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eab6c929fc0611ab", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/MentionMenu.tsx:161", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/MentionMenu.tsx:161"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a8278a018999427c", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/ThreadConversation.tsx:247", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/ThreadConversation.tsx:247"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d73e33cdf25c548", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/SpaceThreadList.tsx:97", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/SpaceThreadList.tsx:97"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f81d1c49b6fa3baa", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/SkillMenu.tsx:96", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/SkillMenu.tsx:96"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c0bf045877a4a61b", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/apps/DraftAppletPreview.tsx:139", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/apps/DraftAppletPreview.tsx:139"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44d89914686410df", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/apps/GeneratedAppArtifactShell.tsx:54", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/apps/GeneratedAppArtifactShell.tsx:54"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-18e395d4cffefee4", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/apps/AppPreviewCard.tsx:53", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/apps/AppPreviewCard.tsx:53"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9d941f882d37e2bc", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineDefinitionPanel.tsx:246", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineDefinitionPanel.tsx:246"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c3a195dd79dd9822", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/StepDetailPanel.tsx:386", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/StepDetailPanel.tsx:386"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8b8b0f53f8ea32a8", "name": "React Flow <Controls> without dark theming \u2014 apps/web/src/components/routines/RoutineFlowCanvas.tsx:136", "shortDescription": {"text": "React Flow <Controls> without dark theming \u2014 apps/web/src/components/routines/RoutineFlowCanvas.tsx:136"}, "fullDescription": {"text": "`<Controls>` ships with white buttons. Override `.react-flow__controls` and `.react-flow__controls-button` in your stylesheet or pass a styled wrapper.\n\nWhy: P1 in CHECKLIST.md \u2014 vendor defaults bleed light through.\nRule id: fq.controls.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eb61dd1aafcc501b", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineFlowInspector.tsx:83", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineFlowInspector.tsx:83"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5fe504b76fef2448", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineAddStepCommand.tsx:50", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineAddStepCommand.tsx:50"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-37f2bfe94ccacba4", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineStepConfigEditor.tsx:152", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineStepConfigEditor.tsx:152"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-688f8d92c885b795", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineFlowNode.tsx:69", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineFlowNode.tsx:69"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a3013a403c10da7", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/TaskThreadView.tsx:1174", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/TaskThreadView.tsx:1174"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3dde29e673f37565", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/ProjectedWorkspacePanel.tsx:175", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/ProjectedWorkspacePanel.tsx:175"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-597a4b76ac218b9c", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/StarterCardGrid.tsx:102", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/StarterCardGrid.tsx:102"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa1d63476e5428a2", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/render-typed-part.tsx:312", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/render-typed-part.tsx:312"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa7c667f40cf44fc", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/GeneratedArtifactCard.tsx:34", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/GeneratedArtifactCard.tsx:34"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e25f98af10e1d6e", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/TaskDashboard.tsx:172", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/TaskDashboard.tsx:172"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-542bc95ef046d496", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/ComposerModelPicker.tsx:63", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/ComposerModelPicker.tsx:63"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b53d38493d913817", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/approvals/ApprovalQueue.tsx:49", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/approvals/ApprovalQueue.tsx:49"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e16811c2528f1bb8", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/memory/MemoryDetailSheet.tsx:167", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/memory/MemoryDetailSheet.tsx:167"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a58b9b406ad1877f", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/memory/MemoryGraphNodeSheet.tsx:131", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/memory/MemoryGraphNodeSheet.tsx:131"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-433d4e4126665352", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/memory/WikiPageDetailSheet.tsx:76", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/memory/WikiPageDetailSheet.tsx:76"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-889c0cf5200445ba", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/shell/GlobalInboxSection.tsx:75", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/shell/GlobalInboxSection.tsx:75"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c32b76fa2c382cb5", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/shell/ChatSidebar.tsx:1030", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/shell/ChatSidebar.tsx:1030"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bdd013b83e84e55f", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/web/src/components/ai-elements/code-block.tsx:114", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/web/src/components/ai-elements/code-block.tsx:114"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-94c753d2c49a0c2f", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/ai-elements/prompt-input.tsx:345", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/ai-elements/prompt-input.tsx:345"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-edbb3a5a29888566", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/artifacts/ArtifactsTable.tsx:33", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/artifacts/ArtifactsTable.tsx:33"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-427c953e7dd0bb24", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/sidebar/FavoritesSection.tsx:150", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/sidebar/FavoritesSection.tsx:150"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-728cf31222adc506", "name": "TODO/FIXME marker in shipping code \u2014 apps/web/src/lib/api-fetch.ts:73", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 apps/web/src/lib/api-fetch.ts:73"}, "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-a4b82a88a8af3679", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/sign-in.tsx:218", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/sign-in.tsx:218"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8966809c7918df02", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/deployment-profile.tsx:67", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/deployment-profile.tsx:67"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c002edfe97bf76cd", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/onboarding/welcome.tsx:810", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/onboarding/welcome.tsx:810"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b434c17c788890d4", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.kbs.tsx:115", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.kbs.tsx:115"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd7d619e2600a0c3", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/threads.index.tsx:80", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/threads.index.tsx:80"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-002bc89eea03ff95", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.brain.tsx:218", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.brain.tsx:218"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-171046449018f66e", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/spaces.$spaceId.tsx:175", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/spaces.$spaceId.tsx:175"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0787b721fdbb755", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.pages.tsx:202", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.pages.tsx:202"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-159c55e874701520", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.kbs.$kbId.tsx:218", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.kbs.$kbId.tsx:218"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8d709aeee37da881", "name": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/automations.index.tsx:65", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/automations.index.tsx:65"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-348518e29d73a000", "name": "Stray `console.log` in TS/JS \u2014 scripts/verify-thread-traces.ts:187", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-thread-traces.ts:187"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e79e73249a348f91", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-customer-onboarding-space.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-customer-onboarding-space.ts:86"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8c4b01c3af96db2", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-crm-pipeline-risk-applet.ts:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-crm-pipeline-risk-applet.ts:75"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-687c036be38b44bd", "name": "Stray `console.log` in TS/JS \u2014 scripts/cloudflare-sync-mcp.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cloudflare-sync-mcp.ts:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bcb3406ff8be6fb", "name": "Stray `console.log` in TS/JS \u2014 scripts/backfill-artifact-payloads-to-s3.ts:40", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-artifact-payloads-to-s3.ts:40"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4cbec3d24c2919f6", "name": "Stray `console.log` in TS/JS \u2014 scripts/integration/phase2-smoke.ts:53", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/integration/phase2-smoke.ts:53"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69b487ca3314ec85", "name": "Stray `console.log` in TS/JS \u2014 scripts/release/build-release-manifest.ts:688", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release/build-release-manifest.ts:688"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0b10ebda09a1a94c", "name": "Stray `console.log` in TS/JS \u2014 scripts/release/verify-release-manifest.ts:114", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release/verify-release-manifest.ts:114"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-36d8fd1dda4541a8", "name": "Stray `console.log` in TS/JS \u2014 packages/api/github-app-webhook.ts:130", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/github-app-webhook.ts:130"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-26508d252c6be044", "name": "TODO/FIXME marker in shipping code \u2014 packages/api/workspace-files.ts:912", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/workspace-files.ts:912"}, "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-bd2fbb271e510f9b", "name": "Stray `console.log` in TS/JS \u2014 packages/api/workspace-files.ts:1007", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/workspace-files.ts:1007"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da5aaa5b74aaf405", "name": "Stray `console.log` in TS/JS \u2014 packages/api/agentcore-invoke.ts:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/agentcore-invoke.ts:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-280d3f39bfb26f20", "name": "Stray `console.log` in TS/JS \u2014 packages/api/knowledge-base-manager.ts:96", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/knowledge-base-manager.ts:96"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e132d5051dc0fd55", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-places-drift-snapshot.ts:273", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-places-drift-snapshot.ts:273"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4281963aebb0b865", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-rebuild-verify.ts:101", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-rebuild-verify.ts:101"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-44802eb703a87bbb", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/hindsight-bank-merge.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/hindsight-bank-merge.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5810948ea6a8d780", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/repair-agent-workspace-blueprint.ts:688", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/repair-agent-workspace-blueprint.ts:688"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84b97983a0d22016", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/brain-write-audit.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/brain-write-audit.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe7c8309bb0b40cd", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wipe-external-memory-stores.ts:116", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wipe-external-memory-stores.ts:116"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d0697a1b74e0fe2", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/journal-import-resume.ts:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/journal-import-resume.ts:75"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04e07d137fa11ef1", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/kb-promotion-audit.ts:3", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/kb-promotion-audit.ts:3"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-395782d4958f1d95", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/bootstrap-user-context.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/bootstrap-user-context.ts:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f21e8f6d3a008ff", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-places-audit.ts:147", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-places-audit.ts:147"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4aa1ca7e7db24d66", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-wipe-and-rebuild.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-wipe-and-rebuild.ts:87"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4cea16a3bfedb837", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-record-expander-probe.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-record-expander-probe.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-929b72a0c04ccc85", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-parent-link-audit.ts:151", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-parent-link-audit.ts:151"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-82fccfa1d4030a21", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-places-refresh.ts:124", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-places-refresh.ts:124"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f2d4d82e147366a4", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/backfill-system-reviews-to-inbox.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/backfill-system-reviews-to-inbox.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d31deb39a0131ea", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/backfill-materialize-workspaces.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/backfill-materialize-workspaces.ts:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c4984d74b6753f0f", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/eval-stall-probe.ts:660", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/eval-stall-probe.ts:660"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb62c331ca6a29e5", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/seed-tenant-entities-for-dogfood.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/seed-tenant-entities-for-dogfood.ts:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c0bb2f63f34d70d6", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-link-density-baseline.ts:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-link-density-baseline.ts:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc18ab45c4fae27b", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/pi-runtime-capability-smoke.ts:688", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/pi-runtime-capability-smoke.ts:688"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-efebb1ea9ac415a0", "name": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-link-backfill.ts:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-link-backfill.ts:107"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30807b2bc1dabee5", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/__tests__/thread-cost-summary-e2e.skip.ts:41", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__tests__/thread-cost-summary-e2e.skip.ts:41"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3fa007a57ac0629", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/__tests__/workflow-config-e2e.skip.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__tests__/workflow-config-e2e.skip.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e6bfc14b4d13498e", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/pi-marco-smoke.ts:261", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/pi-marco-smoke.ts:261"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c6254a1110614318", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/compliance-anchor-smoke.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/compliance-anchor-smoke.ts:86"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e869402dfefc1f7b", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/compliance-export-runner-smoke.ts:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/compliance-export-runner-smoke.ts:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b36fed32f650f93", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/fat-folder-smoke.ts:112", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/fat-folder-smoke.ts:112"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3e6cca72b5b11e48", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/workspace-layout-migration.ts:1218", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/workspace-layout-migration.ts:1218"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2250f1696e844b39", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/mcp-configs.ts:263", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/mcp-configs.ts:263"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb421282a05b5ba8", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/workspace-map-generator.ts:820", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/workspace-map-generator.ts:820"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3508d46cfd630dd3", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/oauth-token.ts:368", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/oauth-token.ts:368"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-68e823726e563e0c", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/mcp-server-update.ts:122", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/mcp-server-update.ts:122"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f44f000dcbc3a7e", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/oauth-client-credentials.ts:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/oauth-client-credentials.ts:95"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e03238d48021bb0", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/cost-recording.ts:230", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/cost-recording.ts:230"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a85e022bd7a25409", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/agentcore-phase-log.ts:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/agentcore-phase-log.ts:57"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19798feb0e8c9a24", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/push-notifications.ts:102", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/push-notifications.ts:102"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-456b217222b5e716", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/resolve-agent-runtime-config.ts:541", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/resolve-agent-runtime-config.ts:541"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0f065355d5f02368", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/wakeup-defer.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/wakeup-defer.ts:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8814730e543eacf8", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/stripe-welcome-email.ts:133", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/stripe-welcome-email.ts:133"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c60377610b95332", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/stripe-credentials.ts:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/stripe-credentials.ts:95"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6811b8a71fb9d674", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/chat-finalize/process-finalize.ts:174", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/chat-finalize/process-finalize.ts:174"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-420518dee13974e6", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/chat-finalize/record-guardrail-block.ts:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/chat-finalize/record-guardrail-block.ts: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-9ed25662ecae8b07", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/chat-finalize/notify.ts:100", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/chat-finalize/notify.ts:100"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-772320844aeb4ec3", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/email/thread-reply.ts:218", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/email/thread-reply.ts:218"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4146e0be99abd1e1", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/orchestration/thread-release.ts:79", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/orchestration/thread-release.ts:79"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe1baba36ab23fb6", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/orchestration/process-materializer.ts:196", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/orchestration/process-materializer.ts:196"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf784c499aabb662", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/routines/recipe-catalog.test.ts:225", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/routines/recipe-catalog.test.ts:225"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c93beeb5e34c3e6", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/routines/recipe-catalog.ts:1170", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/routines/recipe-catalog.ts:1170"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07fe33d5d7662397", "name": "TODO/FIXME marker in shipping code \u2014 packages/api/src/lib/routines/n8n/workflow-mapper.ts:560", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/src/lib/routines/n8n/workflow-mapper.ts:560"}, "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-2d67b4d3e0d9f2e6", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/routines/n8n/workflow-mapper.ts:413", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/routines/n8n/workflow-mapper.ts:413"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a580fd63e40e4d0f", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/wiki/deterministic-linker.ts:339", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/wiki/deterministic-linker.ts:339"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2fc88b0e956f1210", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/wiki/compiler.ts:2095", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/wiki/compiler.ts:2095"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d3e292547ba044ad", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/memory/adapters/hindsight-adapter.ts:187", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/memory/adapters/hindsight-adapter.ts:187"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-65800cc43b9721c6", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/applets/source-policy.test.ts:111", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/applets/source-policy.test.ts:111"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d525e3197dce7910", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/slack/workspace-store.ts:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/slack/workspace-store.ts:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11f4aead67af6b98", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/slack/metrics.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/slack/metrics.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a74ce3508e562ed2", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/plugins/activation.ts:870", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/plugins/activation.ts:870"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5841e6aa6dee439b", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/utils.ts:395", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/utils.ts:395"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8daaaa13b9a92a14", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/routines/routine-credential-bindings.test.ts:74", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/routines/routine-credential-bindings.test.ts:74"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dea311ab38d43f6f", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/memory/mobileMemorySearch.query.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/memory/mobileMemorySearch.query.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d8ade07856c603e0", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/memory/mobileWikiSearch.query.ts:60", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/memory/mobileWikiSearch.query.ts:60"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3af7c96920aa7805", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/unregisterPushToken.mutation.ts:37", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/unregisterPushToken.mutation.ts:37"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-acb2cc0622a2b50f", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/bootstrapUser.mutation.ts:107", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/bootstrapUser.mutation.ts:107"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-06d89e6da3f4acfb", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/updateUserProfile.mutation.ts:186", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/updateUserProfile.mutation.ts:186"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c84d75948196d92b", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/registerPushToken.mutation.ts:45", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/registerPushToken.mutation.ts:45"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-70d9217bb3a205ac", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/skill-runs-reconciler.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/skill-runs-reconciler.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-681062521dd6ca6c", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wiki-export.ts:94", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wiki-export.ts:94"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-85683e953f5e8ad3", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/seed-workspace-defaults.ts:147", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/seed-workspace-defaults.ts:147"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa108c018405b0a1", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/memory-retain.ts:172", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/memory-retain.ts:172"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42a57ca7fd35200d", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/migrate-existing-agents-to-overlay.ts:630", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/migrate-existing-agents-to-overlay.ts:630"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-19714d8bec2ce51b", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/migrate-agents-to-fat.ts:472", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/migrate-agents-to-fat.ts:472"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64d266f8a5e1aa2b", "name": "TODO/FIXME marker in shipping code \u2014 packages/api/src/handlers/recipe-refresh.ts:47", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/src/handlers/recipe-refresh.ts:47"}, "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-0a7e8a7f4569d1ab", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/eval-runner.ts:343", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/eval-runner.ts:343"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bed41c775afc1ad", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wiki-bootstrap-import.ts:61", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wiki-bootstrap-import.ts:61"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7122dbf709ec9484", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/mcp-approval.ts:157", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/mcp-approval.ts:157"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b5ff4b2a5b782b2e", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-webhook.ts:130", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-webhook.ts:130"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1557c666bf3e1b59", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-checkout.ts:164", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-checkout.ts:164"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-172f1b225a93b4c2", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/skills.ts:1075", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/skills.ts:1075"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2f742cd0f3262370", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/routine-asl-validator.test.ts:195", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/routine-asl-validator.test.ts:195"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6c98cd04f20678f", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/chat-agent-invoke.ts:558", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/chat-agent-invoke.ts:558"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-82333b613e01cc38", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/workspace-event-dispatcher.ts:89", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/workspace-event-dispatcher.ts:89"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7cf4fe5c56277f64", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/mcp-approval-sweeper.ts:72", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/mcp-approval-sweeper.ts:72"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f355cf52f6781711", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/eval-worker.ts:783", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/eval-worker.ts:783"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b5fb576dbb49e45", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/graphql-http.ts:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/graphql-http.ts:81"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-947f411b67cf9498", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-portal.ts:160", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-portal.ts:160"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2f8e0e4b28e17a9", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/eval-runs-reconciler.ts:210", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/eval-runs-reconciler.ts:210"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-647b757dfbf34adb", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/oauth-callback.ts:203", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/oauth-callback.ts:203"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-194aa95e1d79d9d9", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/email-send.ts:332", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/email-send.ts:332"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-130822ba42dbd3d4", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wakeup-processor.ts:521", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wakeup-processor.ts:521"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d8abf38691e8153", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/agent-actions.ts:248", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/agent-actions.ts:248"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e47fd817a33a70fe", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/backfill-user-md.ts:96", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/backfill-user-md.ts:96"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dfcb385ec4f6cbbe", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/bootstrap-workspaces.ts:122", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/bootstrap-workspaces.ts:122"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02c3c247df75b33c", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/webhook-deliveries-cleanup.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/webhook-deliveries-cleanup.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2a39b37adbd33d74", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/email-inbound.ts:68", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/email-inbound.ts:68"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e5df9027ecbd8d32", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/oauth-authorize.ts:209", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/oauth-authorize.ts:209"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c59284822824ab29", "name": "TODO/FIXME marker in shipping code \u2014 packages/api/src/handlers/tenants.ts:70", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/src/handlers/tenants.ts:70"}, "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-1c7ad1507bcc01e3", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/backfill-router-skills-to-agents-md.ts:357", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/backfill-router-skills-to-agents-md.ts:357"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f22d64ac1354eaba", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wiki-lint.ts:167", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wiki-lint.ts:167"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e667394023885ea7", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-subscription.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-subscription.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-940d8c2d581bb157", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/span-enrichment.ts:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/span-enrichment.ts:95"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcf5766735ca6727", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/email-triage-scheduler.ts:81", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/email-triage-scheduler.ts:81"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93e17a50f3327f5e", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/budget-reset.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/budget-reset.ts:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1d264ba178b2c0e", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/mark-offline-agents.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/mark-offline-agents.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b42f11eef6b8958", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/check-gateways.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/check-gateways.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4cfebf67fe19194e", "name": "TODO/FIXME marker in shipping code \u2014 packages/api/src/handlers/crons/check-agent-health.ts:41", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/src/handlers/crons/check-agent-health.ts:41"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8980a283eb0c6242", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/check-agent-health.ts:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/check-agent-health.ts:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-65103edbf03a6c2f", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/retry-dispatcher.ts:82", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/retry-dispatcher.ts:82"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e3fdd9af88ff1a3", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/expire-email-tokens.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/expire-email-tokens.ts:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47a2b10877cde5d1", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/recover-stale-checkouts.ts:44", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/recover-stale-checkouts.ts:44"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1d39874a4f48f2ff", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/cleanup-pending-connections.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/cleanup-pending-connections.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc020ff191bd3e8c", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/expire-stale-invitations.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/expire-stale-invitations.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a20db0745279de56", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/stall-monitor.ts:43", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/stall-monitor.ts:43"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1780f3452cac934f", "name": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/slack/_shared.ts:123", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/slack/_shared.ts:123"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-78b0b16b8236298a", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/grouped-list-view.tsx:145", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/grouped-list-view.tsx:145"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ae199bc6e7b9ff2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/ui/chart.tsx:83", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/ui/chart.tsx:83"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b49b1c1820f2915e", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/badge-selector.tsx:235", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/badge-selector.tsx:235"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-113cb61023ef5aaa", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/combobox.tsx:71", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/combobox.tsx:71"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3b23d52e3f3ebf49", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/copyable-row.tsx:35", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/copyable-row.tsx:35"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f97cde1e84719823", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/workspace-editor/src/components/FileEditorPane.tsx:65", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/workspace-editor/src/components/FileEditorPane.tsx:65"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c8bc45ed3df6a885", "name": "`truncate` class without `title=` for hover reveal \u2014 packages/workspace-editor/src/components/FolderTree.tsx:641", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/workspace-editor/src/components/FolderTree.tsx:641"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-31a53da63a9d4fb9", "name": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-export-runner.ts:651", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-export-runner.ts:651"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e90b77efb97a2ba8", "name": "Stray `console.log` in TS/JS \u2014 packages/lambda/job-trigger.ts:163", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/job-trigger.ts:163"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-114f99b9f481276f", "name": "Stray `console.log` in TS/JS \u2014 packages/lambda/job-schedule-manager.ts:273", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/job-schedule-manager.ts:273"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1cf7d318e804c63", "name": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-outbox-drainer.ts:455", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-outbox-drainer.ts:455"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7bd3e992907a9a1a", "name": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-anchor.ts:731", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-anchor.ts:731"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cec48e335904dc8e", "name": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-anchor-watchdog.ts:271", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-anchor-watchdog.ts:271"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c24f6fba063301f1", "name": "Stray `console.log` in TS/JS \u2014 packages/lambda/__tests__/routine-task-python.test.ts:313", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/__tests__/routine-task-python.test.ts:313"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5adb28feecaeacfa", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/computer-stdlib/src/__tests__/contract.test.ts:30", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/computer-stdlib/src/__tests__/contract.test.ts:30"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-22d2cd205ea4fc43", "name": "Stray `console.log` in TS/JS \u2014 packages/react-native-sdk/src/logger.ts:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/react-native-sdk/src/logger.ts:4"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2deca66c8b9f4c01", "name": "Stray `console.log` in TS/JS \u2014 packages/namespace-registry/src/cli.ts:226", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/namespace-registry/src/cli.ts:226"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5a0add1ec135325a", "name": "Stray `console.log` in TS/JS \u2014 packages/plugin-catalog/scripts/build-catalog.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 packages/plugin-catalog/scripts/build-catalog.ts:71"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4aab6fa85143f5a", "name": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 packages/graph/src/WikiGraph.tsx:145", "shortDescription": {"text": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 packages/graph/src/WikiGraph.tsx:145"}, "fullDescription": {"text": "React Flow edge labels render with a white rectangle behind the text by default, which scatters bright boxes across a dark canvas. Either drop the label, or override `.react-flow__edge-textbg` and `.react-flow__edge-text` in your stylesheet.\n\nWhy: P-H in CHECKLIST.md \u2014 vendor edge labels bleed white through a dark canvas.\nRule id: fq.edge-label.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7433578a7543659f", "name": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 packages/graph/src/MemoryGraph.tsx:304", "shortDescription": {"text": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 packages/graph/src/MemoryGraph.tsx:304"}, "fullDescription": {"text": "React Flow edge labels render with a white rectangle behind the text by default, which scatters bright boxes across a dark canvas. Either drop the label, or override `.react-flow__edge-textbg` and `.react-flow__edge-text` in your stylesheet.\n\nWhy: P-H in CHECKLIST.md \u2014 vendor edge labels bleed white through a dark canvas.\nRule id: fq.edge-label.no-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-153f8e4fd5e6e257", "name": "Dockerfile runs as root: packages/cognee/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: packages/cognee/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dd2df00baa093ee7", "name": "Dockerfile runs as root: packages/agentcore-pi/agent-container/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: packages/agentcore-pi/agent-container/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-566df58066fbdafb", "name": "Docker base image is tag-pinned but not digest-pinned: public.ecr.aws/docker/library/node:22-bookworm-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: public.ecr.aws/docker/library/node:22-bookworm-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-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-d820e365393eec43", "name": "Insecure pattern 'node_child_process' in apps/cli/__tests__/version.test.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/__tests__/version.test.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8826b9b197c8d14", "name": "Insecure pattern 'node_child_process' in apps/cli/__tests__/enterprise-preflight.test.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/__tests__/enterprise-preflight.test.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6474bf626ee8e662", "name": "Insecure pattern 'node_child_process' in apps/cli/src/api-client.ts:11", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/api-client.ts:11"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fcc8e1a3d9b2134d", "name": "Insecure pattern 'node_child_process' in apps/cli/src/prerequisites.ts:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/prerequisites.ts:6"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5a67615b9f3a619e", "name": "Insecure pattern 'node_child_process' in apps/cli/src/aws.ts:7", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/aws.ts:7"}, "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-06b9d8b2d164cb5a", "name": "Insecure pattern 'node_child_process' in apps/cli/src/aws-discovery.ts:10", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/aws-discovery.ts:10"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-686f59b58e8bcd18", "name": "Insecure pattern 'node_child_process' in apps/cli/src/cognito-discovery.ts:19", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/cognito-discovery.ts:19"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d6801cf77ca380af", "name": "Insecure pattern 'node_child_process' in apps/cli/src/terraform.ts:9", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/terraform.ts:9"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9b17f25932c84eb", "name": "Insecure pattern 'node_child_process' in apps/cli/src/cognito-oauth.ts:29", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/cognito-oauth.ts:29"}, "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-854b243cc659aa06", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/login.ts:25", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/login.ts:25"}, "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-617196f47ff69067", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/doctor.ts:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/doctor.ts:3"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3c5a0e68556b2659", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/init.ts:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/init.ts:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-896adeda92cc7a5e", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/status.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/status.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f4501f4d4d1f31bc", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/user.ts:13", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/user.ts:13"}, "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-04dd11dda0c75c68", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/deploy.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/deploy.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5093265654f091da", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/update.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/update.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1e1068884401f5a1", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/bootstrap.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/bootstrap.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f372ff07527fbdcd", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/cleanup-space-hindsight-banks.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/cleanup-space-hindsight-banks.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ebae699452424882", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/release.ts:16", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/release.ts:16"}, "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-76dbed11a60940e5", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/migrate-folder-canon.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/migrate-folder-canon.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-405b174a60aa22bc", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/preflight.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/preflight.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3d5b2ddcaf5586af", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/aws-bootstrap.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/aws-bootstrap.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c89ed6dc6da91e04", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/deploy.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/deploy.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6c452ed7d2f6f8c5", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/github.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/github.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-227b594ee6745f76", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/workflow.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/workflow.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3d09b03ee4da60d7", "name": "Insecure pattern 'eval_used' in apps/cli/src/commands/enterprise/overlay.ts:95", "shortDescription": {"text": "Insecure pattern 'eval_used' in apps/cli/src/commands/enterprise/overlay.ts:95"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-df53342145706a63", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/repository.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/repository.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8622b4e50569a985", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/aws-deployments.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/aws-deployments.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-64dea3e2e995d024", "name": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/secrets.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/secrets.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-261ccc97b0a8d831", "name": "Insecure pattern 'node_child_process' in apps/desktop/src/main/code-signature.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in apps/desktop/src/main/code-signature.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-33dab48204812ee2", "name": "Insecure pattern 'private_key_in_repo' in apps/mobile/lib/deployment-profile.test.ts:209", "shortDescription": {"text": "Insecure pattern 'private_key_in_repo' in apps/mobile/lib/deployment-profile.test.ts:209"}, "fullDescription": {"text": "Found a known-risky pattern (private_key_in_repo). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-01654989e30ac3f7", "name": "Insecure pattern 'direct_innerhtml_assignment' in apps/web/src/iframe-shell/__tests__/EmptyRenderGuard.test.tsx:10", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/web/src/iframe-shell/__tests__/EmptyRenderGuard.test.tsx:10"}, "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-8ea2503d3f577dd4", "name": "Insecure pattern 'eval_used' in apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts:41", "shortDescription": {"text": "Insecure pattern 'eval_used' in apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts:41"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-759c6abad9ea261d", "name": "Insecure pattern 'new_function_used' in apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts:47", "shortDescription": {"text": "Insecure pattern 'new_function_used' in apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts:47"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-20ee0ebd7961812a", "name": "Insecure pattern 'direct_innerhtml_assignment' in apps/web/src/components/workbench/SkillTokenInput.tsx:148", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/web/src/components/workbench/SkillTokenInput.tsx:148"}, "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-7ddae8faa939ea9f", "name": "Insecure pattern 'dangerous_innerhtml' in apps/web/src/components/ai-elements/code-block.tsx:114", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in apps/web/src/components/ai-elements/code-block.tsx:114"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e3bade712faa09c", "name": "Insecure pattern 'local_storage_auth_token' in apps/web/src/lib/auth.test.ts:135", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in apps/web/src/lib/auth.test.ts:135"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3a6689e60aef336f", "name": "Insecure pattern 'node_child_process' in scripts/verify-thread-traces.ts:62", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/verify-thread-traces.ts:62"}, "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-c255a4e52b1bea43", "name": "Insecure pattern 'cors_wildcard' in scripts/dev-stripe-proxy.mjs:123", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in scripts/dev-stripe-proxy.mjs:123"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-db596e81c835a722", "name": "Insecure pattern 'node_child_process' in scripts/cloudflare-sync-mcp.ts:26", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/cloudflare-sync-mcp.ts:26"}, "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-8829afaba7eb011e", "name": "Possible secret in scripts/integration/phase2-smoke.ts", "shortDescription": {"text": "Possible secret in scripts/integration/phase2-smoke.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-f788f01622bf5a7e", "name": "Insecure pattern 'node_child_process' in scripts/integration/phase2-smoke.ts:19", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/integration/phase2-smoke.ts:19"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dc468f8b92c3e85f", "name": "Insecure pattern 'node_child_process' in scripts/smoke/foundation-bootstrap-smoke.mjs:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/foundation-bootstrap-smoke.mjs:20"}, "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-9c23aaad05eefcb2", "name": "Insecure pattern 'node_child_process' in scripts/smoke/deployment-evidence.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/deployment-evidence.mjs: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-c9cbdd8f639f74ae", "name": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-runbook-smoke.mjs:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-runbook-smoke.mjs:20"}, "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-3a088a2a5710f429", "name": "Insecure pattern 'node_child_process' in scripts/smoke/managed-app-controller-readiness-smoke.mjs:23", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/managed-app-controller-readiness-smoke.mjs:23"}, "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-ed783d9a10837b4a", "name": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-thread-streaming-smoke.mjs:29", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-thread-streaming-smoke.mjs:29"}, "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-e7bf4ad975fde44b", "name": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-surface-smoke.mjs:25", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-surface-smoke.mjs:25"}, "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-896a7fbb65f5356f", "name": "Insecure pattern 'node_child_process' in scripts/smoke/knowledge-graph-source-ingest-smoke-lib.mjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/knowledge-graph-source-ingest-smoke-lib.mjs: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-d8ee943e72efa15e", "name": "Insecure pattern 'node_child_process' in scripts/smoke/hindsight-consolidation-backfill.mjs:32", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/hindsight-consolidation-backfill.mjs:32"}, "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-948f18b72bbd0c3a", "name": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-crm-dashboard-prompt-smoke.mjs:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-crm-dashboard-prompt-smoke.mjs:17"}, "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-d1c3689c6220030e", "name": "Insecure pattern 'node_child_process' in scripts/smoke/deployment-teardown-readiness-smoke.mjs:23", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/deployment-teardown-readiness-smoke.mjs:23"}, "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-40a9b34483992c55", "name": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-shared-multi-user-smoke.mjs:18", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-shared-multi-user-smoke.mjs:18"}, "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-3d22a164f0e59787", "name": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-applet-pipeline-smoke.mjs:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-applet-pipeline-smoke.mjs:22"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5ceb5bb679a070ac", "name": "Insecure pattern 'node_child_process' in scripts/smoke/knowledge-graph-thread-ingest-smoke.mjs:22", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/knowledge-graph-thread-ingest-smoke.mjs:22"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f7304db85faf8705", "name": "Insecure pattern 'node_child_process' in scripts/release/__tests__/publish-release-assets.test.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/release/__tests__/publish-release-assets.test.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-421bb2d257fa165f", "name": "Insecure pattern 'node_child_process' in scripts/release/__tests__/write-deployment-status.test.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/release/__tests__/write-deployment-status.test.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-01ae50454b5e7bc9", "name": "Insecure pattern 'node_child_process' in scripts/release/__tests__/build-release-manifest.test.ts:2", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/release/__tests__/build-release-manifest.test.ts:2"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2b178b8516b343cf", "name": "Insecure pattern 'cors_wildcard' in packages/api/workspace-files.ts:164", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/workspace-files.ts:164"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c4e1506383017a3b", "name": "Insecure pattern 'cors_wildcard' in packages/api/knowledge-base-files.ts:61", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/knowledge-base-files.ts:61"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1ac158f14c0aeca", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/lib/response.ts:7", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/lib/response.ts:7"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-67adfa37c2ee2fef", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/mcp-admin-keys.ts:72", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/mcp-admin-keys.ts:72"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6fe1d4037320f7bf", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routines.ts:22", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routines.ts:22"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-537ca6f4dbfec749", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/agents-runtime-config.ts:41", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/agents-runtime-config.ts:41"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a31f52d5b8f745c6", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/budgets.ts:24", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/budgets.ts:24"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9c93b60f008c461f", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/recipe-refresh.ts:34", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/recipe-refresh.ts:34"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cd8d472c1ea6b323", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/messages.ts:40", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/messages.ts:40"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d9449157f2014f19", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/users.ts:30", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/users.ts:30"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d240a4de80cdbfa4", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routine-execution-callback.ts:162", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routine-execution-callback.ts:162"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f00055bd80de8ce3", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routine-asl-validator.ts:656", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routine-asl-validator.ts:656"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6db76e43f69b74be", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/sandbox-quota-check.ts:40", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/sandbox-quota-check.ts:40"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7caa3c5759cae086", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/invites.ts:118", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/invites.ts:118"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-688027f24cf5cfb2", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/skills.ts:81", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/skills.ts:81"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54d0a78a3356a174", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/extension-proxy.ts:222", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/extension-proxy.ts:222"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2f2507a2df5fcbd5", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/activity.ts:24", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/activity.ts:24"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c4c6d514de7722cc", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/connections.ts:60", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/connections.ts:60"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-96f4061fefae9592", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/mcp-admin-provision.ts:137", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/mcp-admin-provision.ts:137"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-051ba31283fa1ada", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/agent-actions.ts:49", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/agent-actions.ts:49"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-57550ffd52eaa320", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/scheduled-jobs.ts:252", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/scheduled-jobs.ts:252"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-842ad519743e174f", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/manifest-log.ts:51", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/manifest-log.ts:51"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f4eb0d24859d5611", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/webhooks-admin.ts:68", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/webhooks-admin.ts:68"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3db7d2c52662af4f", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/github-app.ts:31", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/github-app.ts:31"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c36711dfe1e1ee68", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/sandbox-invocation-log.ts:62", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/sandbox-invocation-log.ts:62"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1853866d3d90ec95", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/capability-catalog-list.ts:44", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/capability-catalog-list.ts:44"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-04cfb0f1ad60d84e", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/agents.ts:58", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/agents.ts:58"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-37eb9f6e1b35f7a4", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routine-step-callback.ts:103", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routine-step-callback.ts:103"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-645695fcfd5ca35a", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/tenants.ts:48", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/tenants.ts:48"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-640c0c7ae7f0c681", "name": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/guardrails-handler.ts:60", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/guardrails-handler.ts:60"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d090ebcdbcf3521", "name": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/ui/chart.tsx:83", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/ui/chart.tsx:83"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-64591f8b08d4402b", "name": "Insecure pattern 'exec_used' in packages/agentcore-pi/agent-container/src/runtime/tools/execute-code.ts:27", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/agentcore-pi/agent-container/src/runtime/tools/execute-code.ts:27"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-09e517efcfdac719", "name": "Insecure pattern 'exec_used' in packages/pi-aws/connectors/agentcore-codeinterpreter.ts:205", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/pi-aws/connectors/agentcore-codeinterpreter.ts:205"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-bde46c2cb643e16c", "name": "Insecure pattern 'exec_used' in packages/pi-aws/connectors/agentcore-codeinterpreter.test.ts:103", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/pi-aws/connectors/agentcore-codeinterpreter.test.ts:103"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ac99006fb562af67", "name": "Insecure pattern 'exec_used' in packages/pi-aws/src/sandbox-types.ts:48", "shortDescription": {"text": "Insecure pattern 'exec_used' in packages/pi-aws/src/sandbox-types.ts:48"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5724d81fcf0ad161", "name": "Insecure pattern 'cors_wildcard' in packages/lambda/admin-ops-mcp.ts:766", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/lambda/admin-ops-mcp.ts:766"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-642179c7ddc76de3", "name": "Insecure pattern 'cors_wildcard' in packages/lambda/agentcore-admin.ts:45", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in packages/lambda/agentcore-admin.ts:45"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dc0deb9ea37a8cc8", "name": "Insecure pattern 'dangerous_innerhtml' in packages/computer-stdlib/src/__tests__/contract.test.ts:30", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/computer-stdlib/src/__tests__/contract.test.ts:30"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1dff4fb69b4d503f", "name": "Insecure pattern 'node_child_process' in packages/namespace-registry/src/db.ts:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in packages/namespace-registry/src/db.ts:17"}, "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-13d51fc1c2579601", "name": "Possible secret in .github/workflows/deploy.yml", "shortDescription": {"text": "Possible secret in .github/workflows/deploy.yml"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-d4c7de9ac3f9094c", "name": "Insecure pattern 'node_child_process' in plugins/plane/smoke/plane-managed-app-smoke.mjs:18", "shortDescription": {"text": "Insecure pattern 'node_child_process' in plugins/plane/smoke/plane-managed-app-smoke.mjs:18"}, "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-ca0c75220f891654", "name": "Insecure pattern 'node_child_process' in plugins/twenty/smoke/twenty-managed-app-smoke.mjs:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in plugins/twenty/smoke/twenty-managed-app-smoke.mjs:17"}, "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-e81659ea45866171", "name": "Insecure pattern 'node_child_process' in plugins/company-brain/smoke/cognee-managed-app-smoke.mjs:19", "shortDescription": {"text": "Insecure pattern 'node_child_process' in plugins/company-brain/smoke/cognee-managed-app-smoke.mjs:19"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d1ebb3f6b06f663", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "aws-actions/configure-aws-credentials@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": "medium", "confidence": 1.0}}, {"id": "scanner-cda36ec3d6a42cb2", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d76eaf0bd66712c9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@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-b95d7b10e8652696", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fdcc3aac10df7e9", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-28c4a04bd807da0c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "docker/build-push-action@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "docker/build-push-action@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1838a141491ce38c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6ce3b24f43cf649e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a404b0da0c6e94e8", "name": "Very large file: apps/cli/src/gql/graphql.ts (9402 lines)", "shortDescription": {"text": "Very large file: apps/cli/src/gql/graphql.ts (9402 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e988e40723a2a968", "name": "Very large file: apps/cli/src/gql/gql.ts (867 lines)", "shortDescription": {"text": "Very large file: apps/cli/src/gql/gql.ts (867 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c2ef00dcb5555afe", "name": "Very large file: apps/mobile/lib/gql/graphql.ts (8897 lines)", "shortDescription": {"text": "Very large file: apps/mobile/lib/gql/graphql.ts (8897 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d34653524c6e4aa", "name": "Very large file: apps/web/src/routeTree.gen.ts (2074 lines)", "shortDescription": {"text": "Very large file: apps/web/src/routeTree.gen.ts (2074 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a5e8a4901d2f2322", "name": "Very large file: apps/web/src/components/settings/SettingsActivityExecutionTrace.tsx (2653 lines)", "shortDescription": {"text": "Very large file: apps/web/src/components/settings/SettingsActivityExecutionTrace.tsx (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-10693cf087b99386", "name": "Very large file: apps/web/src/components/workbench/SpacesThreadDetailRoute.tsx (2703 lines)", "shortDescription": {"text": "Very large file: apps/web/src/components/workbench/SpacesThreadDetailRoute.tsx (2703 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fa504d2e57c7ce9c", "name": "Very large file: apps/web/src/components/workbench/TaskThreadView.tsx (4912 lines)", "shortDescription": {"text": "Very large file: apps/web/src/components/workbench/TaskThreadView.tsx (4912 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-023565af36c813df", "name": "Very large file: apps/web/src/components/workbench/TaskThreadView.test.tsx (4656 lines)", "shortDescription": {"text": "Very large file: apps/web/src/components/workbench/TaskThreadView.test.tsx (4656 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fae1170cdf19d509", "name": "Very large file: apps/web/src/components/shell/ChatSidebar.tsx (2286 lines)", "shortDescription": {"text": "Very large file: apps/web/src/components/shell/ChatSidebar.tsx (2286 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fab43b05ae625af2", "name": "Very large file: apps/web/src/gql/graphql.ts (9420 lines)", "shortDescription": {"text": "Very large file: apps/web/src/gql/graphql.ts (9420 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c3562633fec379b", "name": "Very large file: apps/web/src/gql/gql.ts (921 lines)", "shortDescription": {"text": "Very large file: apps/web/src/gql/gql.ts (921 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-783b229d86c6b051", "name": "Very large file: packages/api/workspace-files.ts (3404 lines)", "shortDescription": {"text": "Very large file: packages/api/workspace-files.ts (3404 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f408075ccde17696", "name": "Very large file: packages/api/src/__tests__/workspace-files-handler.test.ts (4883 lines)", "shortDescription": {"text": "Very large file: packages/api/src/__tests__/workspace-files-handler.test.ts (4883 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2713a848a23dffc2", "name": "Very large file: packages/api/src/__tests__/routines-publish-flow.test.ts (1558 lines)", "shortDescription": {"text": "Very large file: packages/api/src/__tests__/routines-publish-flow.test.ts (1558 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f22804c241d7c755", "name": "Very large file: packages/api/src/__tests__/wiki-compiler.test.ts (2293 lines)", "shortDescription": {"text": "Very large file: packages/api/src/__tests__/wiki-compiler.test.ts (2293 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b533137eac575e3", "name": "Very large file: packages/api/src/lib/chat-finalize/process-finalize.ts (1752 lines)", "shortDescription": {"text": "Very large file: packages/api/src/lib/chat-finalize/process-finalize.ts (1752 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5feb3c4537e56dd7", "name": "Very large file: packages/api/src/lib/spaces/customer-onboarding-chat-updates.ts (1609 lines)", "shortDescription": {"text": "Very large file: packages/api/src/lib/spaces/customer-onboarding-chat-updates.ts (1609 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89ba4e90b9781ab7", "name": "Very large file: packages/api/src/lib/wiki/compiler.ts (2188 lines)", "shortDescription": {"text": "Very large file: packages/api/src/lib/wiki/compiler.ts (2188 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9ad307a6f5428412", "name": "Very large file: packages/api/src/lib/wiki/repository.ts (3024 lines)", "shortDescription": {"text": "Very large file: packages/api/src/lib/wiki/repository.ts (3024 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80a4b00d35f9af2e", "name": "Very large file: packages/api/src/lib/plugins/engine.ts (1537 lines)", "shortDescription": {"text": "Very large file: packages/api/src/lib/plugins/engine.ts (1537 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90ebee6fc8e758d5", "name": "Very large file: packages/api/src/graphql/resolvers/evaluations/index.test.ts (2176 lines)", "shortDescription": {"text": "Very large file: packages/api/src/graphql/resolvers/evaluations/index.test.ts (2176 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bb58c88f3c3d8eb", "name": "Very large file: packages/api/src/graphql/resolvers/evaluations/index.ts (1752 lines)", "shortDescription": {"text": "Very large file: packages/api/src/graphql/resolvers/evaluations/index.ts (1752 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-374c2688ac0cae40", "name": "Very large file: packages/api/src/handlers/skills.ts (3106 lines)", "shortDescription": {"text": "Very large file: packages/api/src/handlers/skills.ts (3106 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf44f8cbd4f914a0", "name": "Very large file: packages/api/src/handlers/chat-agent-invoke.ts (1579 lines)", "shortDescription": {"text": "Very large file: packages/api/src/handlers/chat-agent-invoke.ts (1579 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6a57ea1b192e5922", "name": "Very large file: packages/api/src/handlers/wakeup-processor.ts (3303 lines)", "shortDescription": {"text": "Very large file: packages/api/src/handlers/wakeup-processor.ts (3303 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c8588b3eb2402f9", "name": "Very large file: packages/workspace-defaults/src/index.ts (1119 lines)", "shortDescription": {"text": "Very large file: packages/workspace-defaults/src/index.ts (1119 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30f5dc78fd417ff8", "name": "Very large file: packages/agentcore-pi/agent-container/tests/server.test.ts (3518 lines)", "shortDescription": {"text": "Very large file: packages/agentcore-pi/agent-container/tests/server.test.ts (3518 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1c8be5cd11c5d25a", "name": "Very large file: packages/agentcore-pi/agent-container/src/server.ts (3101 lines)", "shortDescription": {"text": "Very large file: packages/agentcore-pi/agent-container/src/server.ts (3101 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a3f32b75df09344e", "name": "Very large file: terraform/modules/app/deployment-control-plane/test_runner_bundle.py (2062 lines)", "shortDescription": {"text": "Very large file: terraform/modules/app/deployment-control-plane/test_runner_bundle.py (2062 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93406ba11434feeb", "name": "Very large file: terraform/modules/app/deployment-control-plane/runner.py (3500 lines)", "shortDescription": {"text": "Very large file: terraform/modules/app/deployment-control-plane/runner.py (3500 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-09d06f740d6ec124", "name": "119 TODO/FIXME markers", "shortDescription": {"text": "119 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-a0165ea166579aa4", "name": "Node manifest has dependencies but no lockfile: apps/cli/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/cli/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d57b3f82d2270c5b", "name": "Node manifest has dependencies but no lockfile: apps/desktop/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/desktop/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0c2205560692580", "name": "Node manifest has dependencies but no lockfile: apps/mobile/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/mobile/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-4a9eb7dc7c6e3880", "name": "Node manifest has dependencies but no lockfile: apps/web/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: apps/web/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8fae141f052f3ab", "name": "Node manifest has dependencies but no lockfile: docs/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: docs/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-5aad5509c7520fc5", "name": "Node manifest has dependencies but no lockfile: packages/deployment-runner/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/deployment-runner/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-0a0634ffe3eb1107", "name": "Node manifest has dependencies but no lockfile: packages/api/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/api/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-50218c90b43393bb", "name": "Node manifest has dependencies but no lockfile: packages/ui/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/ui/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74e452664ed31a23", "name": "Node manifest has dependencies but no lockfile: packages/workspace-defaults/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/workspace-defaults/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-a8a60bbcc5460821", "name": "Node manifest has dependencies but no lockfile: packages/database-pg/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/database-pg/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-376766faa58de668", "name": "Node manifest has dependencies but no lockfile: packages/admin-ops/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/admin-ops/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-375456fd52822ef8", "name": "Node manifest has dependencies but no lockfile: packages/audit-verifier/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/audit-verifier/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-f0d96f660c9b7c29", "name": "Node manifest has dependencies but no lockfile: packages/agentcore-pi/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/agentcore-pi/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-cecd94fae44b0901", "name": "Node manifest has dependencies but no lockfile: packages/pi-aws/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/pi-aws/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-61f6a81912f8f8e1", "name": "Node manifest has dependencies but no lockfile: packages/pi-runtime-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/pi-runtime-core/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c948fac63de01ff", "name": "Node manifest has dependencies but no lockfile: packages/workspace-editor/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/workspace-editor/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-519e99c79de5fbf2", "name": "Node manifest has dependencies but no lockfile: packages/release-manifest/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/release-manifest/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-ccc16f2b4c4cb304", "name": "Node manifest has dependencies but no lockfile: packages/evals-core/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/evals-core/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9823892572ae955", "name": "Node manifest has dependencies but no lockfile: packages/lambda/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/lambda/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-b6904ce034050588", "name": "Node manifest has dependencies but no lockfile: packages/desktop-ipc/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/desktop-ipc/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-2dcdfc48a1c9de9c", "name": "Node manifest has dependencies but no lockfile: packages/computer-stdlib/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/computer-stdlib/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-27fb94cfd77eaaa2", "name": "Node manifest has dependencies but no lockfile: packages/react-native-sdk/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/react-native-sdk/package.json"}, "fullDescription": {"text": "`package.json` declares dependencies, but no same-directory npm/pnpm/yarn/bun lockfile was found. Generated projects without lockfiles are less reproducible and harder to secure-scan precisely."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56040b52452bba7f", "name": "Node manifest has dependencies but no lockfile: packages/pricing-config/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/pricing-config/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-0d60435fa0503e7a", "name": "Node manifest has dependencies but no lockfile: packages/namespace-registry/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/namespace-registry/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-da4a7d8da4be5be8", "name": "Node manifest has dependencies but no lockfile: packages/runtime-config/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/runtime-config/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-61b7b51aa4822d11", "name": "Node manifest has dependencies but no lockfile: packages/pi-extensions/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/pi-extensions/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-4ee69356cc0fad79", "name": "Node manifest has dependencies but no lockfile: packages/plugin-catalog/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/plugin-catalog/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-7b5823f3dacd825c", "name": "Node manifest has dependencies but no lockfile: packages/deployment-profile/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/deployment-profile/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-5d7c3f19978cb63d", "name": "Node manifest has dependencies but no lockfile: packages/graph/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: packages/graph/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-5e8ec492f2e29b8c", "name": "Node manifest has dependencies but no lockfile: plugins/lastmile/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: plugins/lastmile/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-8173a5bd52c054c8", "name": "Node manifest has dependencies but no lockfile: plugins/plane/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: plugins/plane/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-7f4c4902d37fd32f", "name": "Node manifest has dependencies but no lockfile: plugins/twenty/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: plugins/twenty/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-3954e9df5278f0b5", "name": "Node manifest has dependencies but no lockfile: plugins/company-brain/package.json", "shortDescription": {"text": "Node manifest has dependencies but no lockfile: plugins/company-brain/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 1012 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 414 placeholder/mock markers across 175 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-fbd909fb41ecd829", "name": "Agent authority lacks a verifier contract: examples/skill-pack/github-issues/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: examples/skill-pack/github-issues/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-9dc07f79fe096a77", "name": "Commented-code block (7 lines) in apps/cli/__tests__/registration-smoke.test.ts:233", "shortDescription": {"text": "Commented-code block (7 lines) in apps/cli/__tests__/registration-smoke.test.ts:233"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-366286d9e38bb1ca", "name": "Commented-code block (6 lines) in apps/cli/__tests__/terraform-sandbox-host-fixture.test.ts:222", "shortDescription": {"text": "Commented-code block (6 lines) in apps/cli/__tests__/terraform-sandbox-host-fixture.test.ts:222"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c2235b5db301d01", "name": "Commented-code block (8 lines) in apps/cli/src/commands/login.ts:680", "shortDescription": {"text": "Commented-code block (8 lines) in apps/cli/src/commands/login.ts:680"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c6d7ddad95ecea6e", "name": "Commented-code block (5 lines) in apps/cli/src/commands/deploy.ts:464", "shortDescription": {"text": "Commented-code block (5 lines) in apps/cli/src/commands/deploy.ts:464"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-99d085d81744b867", "name": "Commented-code block (5 lines) in apps/cli/src/commands/mcp.ts:538", "shortDescription": {"text": "Commented-code block (5 lines) in apps/cli/src/commands/mcp.ts:538"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-212cf5c3a26bf8d5", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/cli/src/commands/enterprise/deploy.ts:616", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/cli/src/commands/enterprise/deploy.ts:616"}, "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-4677447ccfeb7c9c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/cli/src/commands/enterprise/overlay.ts:140", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/cli/src/commands/enterprise/overlay.ts:140"}, "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-d6491d31256a8308", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/cli/src/commands/enterprise/templates/deploy-repo/scripts/apply-relea", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/cli/src/commands/enterprise/templates/deploy-repo/scripts/apply-release.mjs:526"}, "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-8b25ea09e1253237", "name": "Commented-code block (8 lines) in apps/desktop/electron.vite.config.ts:31", "shortDescription": {"text": "Commented-code block (8 lines) in apps/desktop/electron.vite.config.ts:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9e2c7fdd4c7d08c3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/test/main/protocol.test.ts:57", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/test/main/protocol.test.ts:57"}, "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-65b258998d1360e2", "name": "Commented-code block (5 lines) in apps/desktop/src/main/protocol.ts:114", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/main/protocol.ts:114"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-99c39b0f4acc3865", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/src/main/protocol.ts:114", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/src/main/protocol.ts:114"}, "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-4904a98774fcbc39", "name": "Commented-code block (5 lines) in apps/desktop/src/main/window.ts:70", "shortDescription": {"text": "Commented-code block (5 lines) in apps/desktop/src/main/window.ts:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-659bfdc58b6a64c1", "name": "Commented-code block (12 lines) in apps/mobile/metro.config.js:24", "shortDescription": {"text": "Commented-code block (12 lines) in apps/mobile/metro.config.js:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c5766a64c3943fd1", "name": "Commented-code block (7 lines) in apps/mobile/scripts/generate-brand-assets.mjs:143", "shortDescription": {"text": "Commented-code block (7 lines) in apps/mobile/scripts/generate-brand-assets.mjs: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-544743a79437b7fb", "name": "Commented-code block (7 lines) in apps/mobile/components/threads/ActivityTimeline.tsx:1337", "shortDescription": {"text": "Commented-code block (7 lines) in apps/mobile/components/threads/ActivityTimeline.tsx:1337"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a85c466b868056ec", "name": "Commented-code block (9 lines) in apps/mobile/components/wiki/graph/WikiGraphView.tsx:28", "shortDescription": {"text": "Commented-code block (9 lines) in apps/mobile/components/wiki/graph/WikiGraphView.tsx:28"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8606aa77c11d4682", "name": "Commented-code block (7 lines) in apps/mobile/components/wiki/graph/KnowledgeGraph.tsx:106", "shortDescription": {"text": "Commented-code block (7 lines) in apps/mobile/components/wiki/graph/KnowledgeGraph.tsx: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-f34ae3849ab5d6ce", "name": "Commented-code block (6 lines) in apps/mobile/components/wiki/graph/hooks/useGraphCamera.ts:45", "shortDescription": {"text": "Commented-code block (6 lines) in apps/mobile/components/wiki/graph/hooks/useGraphCamera.ts:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-76e2c20ece69ac54", "name": "Commented-code block (5 lines) in apps/mobile/components/wiki/graph/hooks/useForceSimulation.ts:107", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/components/wiki/graph/hooks/useForceSimulation.ts:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ccd93ed1759f45a", "name": "Commented-code block (5 lines) in apps/mobile/app/_layout.tsx:233", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/app/_layout.tsx:233"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62214eafa2a74813", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/app/settings/billing.tsx:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/app/settings/billing.tsx:68"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-516ec39bfdd9234f", "name": "Commented-code block (5 lines) in apps/mobile/app/settings/integration-detail.tsx:27", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/app/settings/integration-detail.tsx:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0cbf278b27afb99e", "name": "Commented-code block (6 lines) in apps/mobile/app/thread/[threadId]/index.tsx:540", "shortDescription": {"text": "Commented-code block (6 lines) in apps/mobile/app/thread/[threadId]/index.tsx:540"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1587c4d69b8c4a15", "name": "Commented-code block (8 lines) in apps/mobile/app/auth/callback.tsx:14", "shortDescription": {"text": "Commented-code block (8 lines) in apps/mobile/app/auth/callback.tsx:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-345bf2ecc7f4257d", "name": "Commented-code block (8 lines) in apps/mobile/app/routines/builder.tsx:187", "shortDescription": {"text": "Commented-code block (8 lines) in apps/mobile/app/routines/builder.tsx:187"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-32252ce4149e8bd1", "name": "Commented-code block (5 lines) in apps/mobile/app/routines/[id]/executions/[executionId].tsx:127", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/app/routines/[id]/executions/[executionId].tsx:127"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-af034c192c113b2f", "name": "Commented-code block (6 lines) in apps/mobile/app/onboarding/complete.tsx:42", "shortDescription": {"text": "Commented-code block (6 lines) in apps/mobile/app/onboarding/complete.tsx:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-feefda35d913f06e", "name": "Commented-code block (5 lines) in apps/mobile/app/(tabs)/index.tsx:391", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/app/(tabs)/index.tsx:391"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3111a2b89fb918ae", "name": "Commented-code block (5 lines) in apps/mobile/lib/auth-context.tsx:198", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/auth-context.tsx:198"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44aa45d8e3cb3fa1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/lib/auth-context.tsx:452", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/lib/auth-context.tsx:452"}, "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-794dabd7a322fabf", "name": "Commented-code block (7 lines) in apps/mobile/lib/auth.ts:214", "shortDescription": {"text": "Commented-code block (7 lines) in apps/mobile/lib/auth.ts:214"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0a396a6569cb3dd8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/lib/auth.ts:310", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/lib/auth.ts:310"}, "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-a5e64145d7d0a2b7", "name": "Commented-code block (5 lines) in apps/mobile/lib/cognito-storage.ts:38", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/cognito-storage.ts:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8aae6cf9d95d2129", "name": "Commented-code block (5 lines) in apps/mobile/lib/agent/loop.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/loop.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f3a44347212a791", "name": "Commented-code block (5 lines) in apps/mobile/lib/agent/index.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/index.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c588b3ab7a7c850", "name": "Commented-code block (5 lines) in apps/mobile/lib/agent/capture-image.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/capture-image.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2fe69c894113661c", "name": "Commented-code block (5 lines) in apps/mobile/lib/agent/persist-turn.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/persist-turn.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a88cc6b16bcbbcc", "name": "Commented-code block (8 lines) in apps/mobile/lib/agent/types.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in apps/mobile/lib/agent/types.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e5753aa35ddd151b", "name": "Commented-code block (5 lines) in apps/mobile/lib/agent/turn-context.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/turn-context.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09cdb7982dd2f990", "name": "Commented-code block (5 lines) in apps/mobile/lib/agent/extensions/load-extensions.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/extensions/load-extensions.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7dffe3391b130a23", "name": "Commented-code block (5 lines) in apps/mobile/lib/agent/extensions/types.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/extensions/types.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6614ae7054709dbb", "name": "Commented-code block (5 lines) in apps/mobile/lib/agent/tools/mcp-tool.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/tools/mcp-tool.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d7977a2cf123a086", "name": "Commented-code block (7 lines) in apps/mobile/lib/agent/tools/image-picker.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in apps/mobile/lib/agent/tools/image-picker.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef6fc762213c0961", "name": "Commented-code block (6 lines) in apps/mobile/lib/hooks/use-users.ts:11", "shortDescription": {"text": "Commented-code block (6 lines) in apps/mobile/lib/hooks/use-users.ts:11"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4117fc1e29544552", "name": "Commented-code block (6 lines) in apps/mobile/lib/hooks/use-thread-read-state.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in apps/mobile/lib/hooks/use-thread-read-state.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b1d27943e904b156", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/lib/hooks/use-connections.ts:135", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/lib/hooks/use-connections.ts:135"}, "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-880f3564a928c626", "name": "Commented-code block (12 lines) in apps/web/vite.config.ts:7", "shortDescription": {"text": "Commented-code block (12 lines) in apps/web/vite.config.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bef52297faac87a9", "name": "Commented-code block (5 lines) in apps/web/vite.iframe-shell.config.ts:44", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/vite.iframe-shell.config.ts: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-8451c0b904546314", "name": "Commented-code block (6 lines) in apps/web/src/iframe-shell/main.ts:364", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/iframe-shell/main.ts:364"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-309720c0fcfe4ecc", "name": "Commented-code block (9 lines) in apps/web/src/iframe-shell/__tests__/build-define-smoke.test.ts:128", "shortDescription": {"text": "Commented-code block (9 lines) in apps/web/src/iframe-shell/__tests__/build-define-smoke.test.ts:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b48abbe990d1ad48", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts:17"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4f51d36a75ce7828", "name": "Commented-code block (5 lines) in apps/web/src/components/SpacesSidebar.tsx:63", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/SpacesSidebar.tsx:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b898030360b2bf5a", "name": "Commented-code block (7 lines) in apps/web/src/components/settings/SettingsEvalReplayTools.tsx:3", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/components/settings/SettingsEvalReplayTools.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fcf4330e023ea8f8", "name": "Commented-code block (5 lines) in apps/web/src/components/settings/SettingsEvalDatasets.tsx:179", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/settings/SettingsEvalDatasets.tsx:179"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4573e8a4254dad8", "name": "Commented-code block (7 lines) in apps/web/src/components/settings/settings-nav.tsx:79", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/components/settings/settings-nav.tsx:79"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f809d699c5321f4", "name": "Commented-code block (5 lines) in apps/web/src/components/settings/EvalTestCaseForm.tsx:66", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/settings/EvalTestCaseForm.tsx:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7e6d61ca63e09f24", "name": "Commented-code block (6 lines) in apps/web/src/components/settings/knowledge-graph/KnowledgeGraphExplorer.tsx:53", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/components/settings/knowledge-graph/KnowledgeGraphExplorer.tsx:53"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47ddb94b84d4ded2", "name": "Commented-code block (5 lines) in apps/web/src/components/settings/plugins/PluginDetail.tsx:510", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/settings/plugins/PluginDetail.tsx:510"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ca3540112b4ce05a", "name": "Commented-code block (5 lines) in apps/web/src/components/scheduled-jobs/ScheduledJobForm.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/scheduled-jobs/ScheduledJobForm.tsx: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-38b7c83b9b01bb9a", "name": "Commented-code block (6 lines) in apps/web/src/components/workbench/SpacesComposer.tsx:192", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/components/workbench/SpacesComposer.tsx:192"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a24c1e5e67e50fe8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/workbench/SpacesComposer.tsx:586", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/workbench/SpacesComposer.tsx:586"}, "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-80cf78ed9b58c9a7", "name": "Commented-code block (6 lines) in apps/web/src/components/workbench/SpacesWorkbench.tsx:117", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/components/workbench/SpacesWorkbench.tsx:117"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa5737d6df92be79", "name": "Commented-code block (6 lines) in apps/web/src/components/workbench/SpacesThreadDetailRoute.tsx:480", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/components/workbench/SpacesThreadDetailRoute.tsx:480"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-37db5eb20d7ad305", "name": "Commented-code block (5 lines) in apps/web/src/components/workbench/TaskThreadView.tsx:420", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/workbench/TaskThreadView.tsx:420"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee47cf95b9cf9ac0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/workbench/TaskThreadView.tsx:4887", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/workbench/TaskThreadView.tsx:4887"}, "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-339c5bec7c362c9c", "name": "Commented-code block (5 lines) in apps/web/src/components/workbench/SpacesThreadDetailRoute.test.tsx:822", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/workbench/SpacesThreadDetailRoute.test.tsx:822"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ab2b85d764d9950", "name": "Commented-code block (5 lines) in apps/web/src/components/workbench/StreamingMessageBuffer.test.tsx:38", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/workbench/StreamingMessageBuffer.test.tsx:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-df1dca6f156195b7", "name": "Commented-code block (11 lines) in apps/web/src/components/workbench/TaskThreadView.test.tsx:1019", "shortDescription": {"text": "Commented-code block (11 lines) in apps/web/src/components/workbench/TaskThreadView.test.tsx:1019"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-05fba393d2a0ba39", "name": "Commented-code block (6 lines) in apps/web/src/components/workbench/ThreadDetailActions.tsx:132", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/components/workbench/ThreadDetailActions.tsx:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a2561e5d34f9d53", "name": "Commented-code block (5 lines) in apps/web/src/components/workbench/SpacesComposer.test.tsx:167", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/workbench/SpacesComposer.test.tsx:167"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-807615d359aca3cd", "name": "Commented-code block (5 lines) in apps/web/src/components/shell/ChatSidebar.tsx:346", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/shell/ChatSidebar.tsx:346"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6848c92f51be99c5", "name": "Commented-code block (5 lines) in apps/web/src/components/ai-elements/reasoning.tsx:181", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/ai-elements/reasoning.tsx:181"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-afb045e499a68cd4", "name": "Commented-code block (5 lines) in apps/web/src/components/ai-elements/prompt-input.tsx:510", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/ai-elements/prompt-input.tsx:510"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-58708bbd77284265", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/ai-elements/prompt-input.tsx:173", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/ai-elements/prompt-input.tsx:173"}, "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-800de0f9c5ec50a4", "name": "Commented-code block (5 lines) in apps/web/src/components/artifacts/SetAppStyleDialog.tsx:238", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/components/artifacts/SetAppStyleDialog.tsx:238"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91ae51c3005e7490", "name": "Commented-code block (5 lines) in apps/web/src/lib/auth.ts:490", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/lib/auth.ts:490"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a55871731aee4648", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/lib/auth.ts:290", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/lib/auth.ts:290"}, "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-794b00d113ec319f", "name": "Commented-code block (5 lines) in apps/web/src/lib/graphql-client.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/lib/graphql-client.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-95144b5af9be7e2b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/lib/api-fetch.ts:68", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/lib/api-fetch.ts:68"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a1a3820a6b56adfb", "name": "Commented-code block (5 lines) in apps/web/src/lib/graphql-queries.ts:862", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/lib/graphql-queries.ts:862"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d67c735742a7239e", "name": "Commented-code block (7 lines) in apps/web/src/lib/applet-admin-queries.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/lib/applet-admin-queries.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-76b8981ae2db966d", "name": "Commented-code block (5 lines) in apps/web/src/lib/use-computer-thread-chunks.test.ts:51", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/lib/use-computer-thread-chunks.test.ts:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-96931d005f6a94bb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/lib/kb-files-api.ts:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/lib/kb-files-api.ts:62"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-018b4b65136082bc", "name": "Commented-code block (6 lines) in apps/web/src/lib/use-composer-state.test.ts:103", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/lib/use-composer-state.test.ts:103"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-526ddb6b127e6b39", "name": "Commented-code block (6 lines) in apps/web/src/routes/_authed.tsx:15", "shortDescription": {"text": "Commented-code block (6 lines) in apps/web/src/routes/_authed.tsx: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-5d7e3d10a9c06085", "name": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.tsx:23", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.tsx:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-11b9ab7e66933391", "name": "Commented-code block (5 lines) in apps/web/src/routes/_authed/_shell.tsx:38", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/_shell.tsx:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3296a9f2ce85d8f0", "name": "Commented-code block (7 lines) in apps/web/src/routes/_authed/settings.local-workspace.tsx:3", "shortDescription": {"text": "Commented-code block (7 lines) in apps/web/src/routes/_authed/settings.local-workspace.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-db6027ef73070362", "name": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.main-agent.tsx:3", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.main-agent.tsx:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28949c0fcabc9cf6", "name": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.artifacts.$id.tsx:8", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.artifacts.$id.tsx:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-917881a1f5550eb7", "name": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.agents.index.tsx:14", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.agents.index.tsx:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ee767c353f52ed6e", "name": "Commented-code block (9 lines) in apps/web/src/routes/_authed/_shell/-artifacts.$id.test.tsx:183", "shortDescription": {"text": "Commented-code block (9 lines) in apps/web/src/routes/_authed/_shell/-artifacts.$id.test.tsx:183"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-078ef62e72c2e888", "name": "Commented-code block (5 lines) in apps/web/src/routes/_authed/_shell/artifacts.$id.tsx:230", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/_shell/artifacts.$id.tsx:230"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b181f8dfba64a1f", "name": "Commented-code block (5 lines) in apps/web/src/applets/iframe-controller.ts:225", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/applets/iframe-controller.ts:225"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-470e429213283afe", "name": "Commented-code block (9 lines) in apps/web/src/applets/iframe-controller.test.ts:109", "shortDescription": {"text": "Commented-code block (9 lines) in apps/web/src/applets/iframe-controller.test.ts:109"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ec71ff40a5687ce1", "name": "Commented-code block (8 lines) in apps/web/src/context/TenantContext.tsx:229", "shortDescription": {"text": "Commented-code block (8 lines) in apps/web/src/context/TenantContext.tsx:229"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fdb81776f16017c2", "name": "Commented-code block (5 lines) in apps/web/src/context/TenantContext.role.test.tsx:116", "shortDescription": {"text": "Commented-code block (5 lines) in apps/web/src/context/TenantContext.role.test.tsx:116"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e9847695306044e7", "name": "Commented-code block (5 lines) in docs/scripts/generate-brand-assets.mjs:2", "shortDescription": {"text": "Commented-code block (5 lines) in docs/scripts/generate-brand-assets.mjs: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-12e6856c86e3e89c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-thread-traces.ts:160", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-thread-traces.ts:160"}, "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-b522b40935fb726e", "name": "Commented-code block (9 lines) in scripts/lint-agentcore-iam.mjs:12", "shortDescription": {"text": "Commented-code block (9 lines) in scripts/lint-agentcore-iam.mjs: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-3840f533c7ed2468", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cloudflare-sync-mcp.ts:264", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cloudflare-sync-mcp.ts:264"}, "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-dd78ecade167edbe", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-appsync-streaming-smoke.mjs:194", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-appsync-streaming-smoke.mjs:194"}, "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-5599eafb673edba7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-runbook-smoke.mjs:411", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-runbook-smoke.mjs:411"}, "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-c2b35e70b8f2f2f4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-thread-streaming-smoke.mjs:310", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-thread-streaming-smoke.mjs:310"}, "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-2a4383e5c3d39fa1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-surface-smoke.mjs:554", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-surface-smoke.mjs:554"}, "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-8f3847cd4568971f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/knowledge-graph-source-ingest-smoke-lib.mjs:359", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/knowledge-graph-source-ingest-smoke-lib.mjs:359"}, "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-6ec9d6cbfb9f9829", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-crm-dashboard-prompt-smoke.mjs:276", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-crm-dashboard-prompt-smoke.mjs:276"}, "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-499e3383a688cb13", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-applet-pipeline-smoke.mjs:213", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-applet-pipeline-smoke.mjs:213"}, "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-7dbf792abcc67c73", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/knowledge-graph-thread-ingest-smoke.mjs:400", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/knowledge-graph-thread-ingest-smoke.mjs:400"}, "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-3b9ecb9be553b853", "name": "Commented-code block (5 lines) in scripts/lib/brain-path.mjs:9", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/lib/brain-path.mjs:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6bf0ba6bf81e6eaf", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/agent-skills-list.ts:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/agent-skills-list.ts:46"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9a9117064448f53e", "name": "Commented-code block (6 lines) in packages/api/workspace-files.ts:157", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/workspace-files.ts:157"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-477749d68ac06c2d", "name": "Commented-code block (7 lines) in packages/api/knowledge-base-manager.ts:30", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/knowledge-base-manager.ts:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1f68da37b5f20e3c", "name": "Commented-code block (6 lines) in packages/api/vitest.config.ts:33", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/vitest.config.ts:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b985742c8b9b2b3a", "name": "Commented-code block (5 lines) in packages/api/test/integration/thread-tenant-pin.test.ts:368", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/test/integration/thread-tenant-pin.test.ts:368"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-da7955810349d02f", "name": "Commented-code block (5 lines) in packages/api/test/integration/skill-runs/chat-intent.test.ts:21", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/test/integration/skill-runs/chat-intent.test.ts:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-23de19d3613537ca", "name": "Commented-code block (5 lines) in packages/api/test/integration/skill-runs/reconciler-hitl-loop.test.ts:40", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/test/integration/skill-runs/reconciler-hitl-loop.test.ts:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fcb9fa85a369549b", "name": "Commented-code block (5 lines) in packages/api/test/integration/skill-runs/_harness/index.ts:83", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/test/integration/skill-runs/_harness/index.ts:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-165ea15aebfa600a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/test/integration/context-engine/company-brain-context.e2e.tes", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/test/integration/context-engine/company-brain-context.e2e.test.ts:48"}, "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-db6d8ae870b9f62a", "name": "Commented-code block (6 lines) in packages/api/test/integration/sandbox/sandbox-pilot.e2e.test.ts:86", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/test/integration/sandbox/sandbox-pilot.e2e.test.ts:86"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bdced81d172b1fa9", "name": "Commented-code block (5 lines) in packages/api/test/integration/sandbox/sandbox-cap-breach.e2e.test.ts:89", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/test/integration/sandbox/sandbox-cap-breach.e2e.test.ts:89"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-20318dfc8f4f0894", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/test/integration/sandbox/_harness/fixtures.ts:251", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/test/integration/sandbox/_harness/fixtures.ts:251"}, "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-e04b55cad9061a19", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/test/integration/user-memory-mcp/_harness/mcp-json-rpc.ts:61", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/test/integration/user-memory-mcp/_harness/mcp-json-rpc.ts:61"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1acac8ccc23478ed", "name": "Commented-code block (5 lines) in packages/api/test/integration/compliance-emit/compliance-emit.integration.test.ts:19", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/test/integration/compliance-emit/compliance-emit.integration.test.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7ffe98b22ffd04d0", "name": "Legacy-named symbol `daysOld` in packages/api/scripts/wipe-external-memory-stores.ts:159", "shortDescription": {"text": "Legacy-named symbol `daysOld` in packages/api/scripts/wipe-external-memory-stores.ts:159"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f30ac1f1811f13da", "name": "Commented-code block (6 lines) in packages/api/scripts/wiki-places-audit.ts:83", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/scripts/wiki-places-audit.ts:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eb673016875eb78d", "name": "Commented-code block (5 lines) in packages/api/scripts/backfill-materialize-workspaces.ts:98", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/scripts/backfill-materialize-workspaces.ts:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ffc7d756d6319d0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/scripts/pi-runtime-capability-smoke.ts:203", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/scripts/pi-runtime-capability-smoke.ts:203"}, "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-ebdb285bf77ce43d", "name": "Legacy-named symbol `totalLegacy` in packages/api/scripts/wipe-external-memory-stores.test.ts:142", "shortDescription": {"text": "Legacy-named symbol `totalLegacy` in packages/api/scripts/wipe-external-memory-stores.test.ts:142"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a871b37b45434f74", "name": "Commented-code block (7 lines) in packages/api/src/__tests__/thread-lifecycle-status-loader.test.ts:159", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/__tests__/thread-lifecycle-status-loader.test.ts:159"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6149a920f6837f81", "name": "Commented-code block (5 lines) in packages/api/src/__tests__/workspace-files-handler.test.ts:82", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/workspace-files-handler.test.ts:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5aa9ea07e3332db", "name": "Commented-code block (6 lines) in packages/api/src/__tests__/skills-complete-handler.test.ts:78", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/skills-complete-handler.test.ts:78"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e183b168cf9d05b3", "name": "Commented-code block (5 lines) in packages/api/src/__tests__/webhook-shared.test.ts:174", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/webhook-shared.test.ts:174"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2b1c158c09a45640", "name": "Commented-code block (6 lines) in packages/api/src/__tests__/tenant-member-mutations.test.ts:72", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/tenant-member-mutations.test.ts:72"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f71b42472d57e405", "name": "Commented-code block (6 lines) in packages/api/src/__tests__/graphql-contract.test.ts:841", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/graphql-contract.test.ts:841"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3821f354644de0d2", "name": "Commented-code block (6 lines) in packages/api/src/__tests__/mobile-wiki-search.test.ts:331", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/mobile-wiki-search.test.ts:331"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-14a3fc73b6d0cbba", "name": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-journal-import.test.ts:307", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-journal-import.test.ts:307"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0965b0b0b1d316f5", "name": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-deterministic-linker.test.ts:282", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-deterministic-linker.test.ts:282"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb856923f37db599", "name": "Commented-code block (8 lines) in packages/api/src/__tests__/admin-rest-auth-bridge.test.ts:135", "shortDescription": {"text": "Commented-code block (8 lines) in packages/api/src/__tests__/admin-rest-auth-bridge.test.ts:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7f3a01fc6c5267c7", "name": "Legacy-named symbol `nOld` in packages/api/src/__tests__/wiki-draft-compile.test.ts:375", "shortDescription": {"text": "Legacy-named symbol `nOld` in packages/api/src/__tests__/wiki-draft-compile.test.ts:375"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc5bfca79e9ebdf1", "name": "Commented-code block (6 lines) in packages/api/src/__tests__/skills-start-handler.test.ts:76", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/skills-start-handler.test.ts:76"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4ddc37c181323887", "name": "Commented-code block (5 lines) in packages/api/src/__tests__/admin-authz.test.ts:35", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/admin-authz.test.ts:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9cbc3089896c4bf0", "name": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-backlinks-resolver.test.ts:34", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-backlinks-resolver.test.ts:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea90d499a6b999d5", "name": "Commented-code block (5 lines) in packages/api/src/__tests__/draft-review-writeback.test.ts:19", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/draft-review-writeback.test.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8493cac000633a6f", "name": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-compiler.test.ts:1855", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-compiler.test.ts:1855"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cac588d7ac309235", "name": "Commented-code block (7 lines) in packages/api/src/__smoke__/pi-marco-smoke.ts:48", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/__smoke__/pi-marco-smoke.ts:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d81a311ca32b9ea5", "name": "Commented-code block (8 lines) in packages/api/src/__smoke__/compliance-anchor-smoke.ts:34", "shortDescription": {"text": "Commented-code block (8 lines) in packages/api/src/__smoke__/compliance-anchor-smoke.ts:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-584672511b8595ac", "name": "Commented-code block (5 lines) in packages/api/src/lib/mcp-configs.ts:87", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/mcp-configs.ts:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02a069e94ef92450", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/mcp-configs.ts:359", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/mcp-configs.ts:359"}, "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-51389bde0da06f62", "name": "Commented-code block (6 lines) in packages/api/src/lib/workspace-lanes.ts:30", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/workspace-lanes.ts:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e64f3dfd1037b378", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/git-ref-fetcher.ts:35", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/git-ref-fetcher.ts:35"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7823797b97ee1eb7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/oauth-token.ts:316", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/oauth-token.ts:316"}, "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-22770569f844bead", "name": "Commented-code block (5 lines) in packages/api/src/lib/skill-md-parser.ts:292", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/skill-md-parser.ts:292"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c53a7722af7d310b", "name": "Commented-code block (5 lines) in packages/api/src/lib/stripe-plans.test.ts:24", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/stripe-plans.test.ts: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-c5f10e7b79da0e28", "name": "Commented-code block (7 lines) in packages/api/src/lib/cognito-auth.test.ts:60", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/cognito-auth.test.ts:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eecaa02e76be52f3", "name": "Commented-code block (6 lines) in packages/api/src/lib/tenant-membership.ts:84", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/tenant-membership.ts:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-906df7707b822b9f", "name": "Commented-code block (6 lines) in packages/api/src/lib/cloudflare-namespace-token.ts:45", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/cloudflare-namespace-token.ts:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7437a4e3144b6cb9", "name": "Commented-code block (5 lines) in packages/api/src/lib/user-md-writer.ts:402", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/user-md-writer.ts:402"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8262ed97a0c1a253", "name": "Commented-code block (5 lines) in packages/api/src/lib/resolve-agent-runtime-config.ts:670", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/resolve-agent-runtime-config.ts:670"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2b0415a448d670e3", "name": "Commented-code block (6 lines) in packages/api/src/lib/placeholder-aware-comparator.ts:151", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/placeholder-aware-comparator.ts:151"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2103dfb26a93d63f", "name": "Commented-code block (6 lines) in packages/api/src/lib/agent-dispatch-payload.ts:109", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/agent-dispatch-payload.ts:109"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-353cfa8165b77f01", "name": "Commented-code block (9 lines) in packages/api/src/lib/chat-finalize/process-finalize.ts:519", "shortDescription": {"text": "Commented-code block (9 lines) in packages/api/src/lib/chat-finalize/process-finalize.ts:519"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0aaa5013b29532f", "name": "Commented-code block (5 lines) in packages/api/src/lib/chat-finalize/reconcile.ts:628", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/chat-finalize/reconcile.ts:628"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-59d9eec038af7862", "name": "Commented-code block (5 lines) in packages/api/src/lib/chat-finalize/reconcile.test.ts:618", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/chat-finalize/reconcile.test.ts:618"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c2de785fe115fbcb", "name": "Legacy-named symbol `nLegacy` in packages/api/src/lib/__tests__/workspace-map-generator.test.ts:882", "shortDescription": {"text": "Legacy-named symbol `nLegacy` in packages/api/src/lib/__tests__/workspace-map-generator.test.ts:882"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2a8dd7421402d83", "name": "Commented-code block (5 lines) in packages/api/src/lib/knowledge-graph/cognee-client.ts:237", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/knowledge-graph/cognee-client.ts:237"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-588498a794d5a667", "name": "Commented-code block (5 lines) in packages/api/src/lib/context-engine/providers/wiki.ts:19", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/context-engine/providers/wiki.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b423cc00807d904e", "name": "Commented-code block (5 lines) in packages/api/src/lib/routines/sfn-client.ts:37", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/routines/sfn-client.ts:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5bd23f2224007b9a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/routines/n8n/workflow-mapper.ts:546", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/routines/n8n/workflow-mapper.ts:546"}, "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-a7a89a1613ce40cd", "name": "Commented-code block (5 lines) in packages/api/src/lib/wiki/planner.ts:593", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/planner.ts:593"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a676739beb34096a", "name": "Commented-code block (6 lines) in packages/api/src/lib/wiki/graph-materializer.ts:313", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/wiki/graph-materializer.ts:313"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-091a79eefb46a363", "name": "Commented-code block (5 lines) in packages/api/src/lib/wiki/deterministic-linker.ts:285", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/deterministic-linker.ts:285"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06e73e5f99ee33b4", "name": "Commented-code block (7 lines) in packages/api/src/lib/wiki/compiler.ts:453", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/wiki/compiler.ts:453"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ad39962e237ab976", "name": "Commented-code block (5 lines) in packages/api/src/lib/wiki/repository.ts:1220", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/repository.ts:1220"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d0471df98c199eca", "name": "Commented-code block (7 lines) in packages/api/src/lib/wiki/parent-expander.ts:21", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/wiki/parent-expander.ts:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-77e4682c5d84f954", "name": "Commented-code block (6 lines) in packages/api/src/lib/wiki/draft-compile.ts:375", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/wiki/draft-compile.ts:375"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ae48a0bfbf409e6", "name": "Commented-code block (5 lines) in packages/api/src/lib/wiki/places-service.ts:342", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/places-service.ts:342"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-19c076422ead751b", "name": "Commented-code block (7 lines) in packages/api/src/lib/wiki/enqueue.ts:92", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/wiki/enqueue.ts:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab9df5162a90f300", "name": "Commented-code block (5 lines) in packages/api/src/lib/wiki/link-backfill.ts:282", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/link-backfill.ts:282"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-805bae14a115a532", "name": "Commented-code block (5 lines) in packages/api/src/lib/workspace-renderer/compose-tuple.ts:526", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/workspace-renderer/compose-tuple.ts:526"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-707011fb75399252", "name": "Legacy-named symbol `withLegacy` in packages/api/src/lib/workspace-renderer/agents-md-composer.test.ts:54", "shortDescription": {"text": "Legacy-named symbol `withLegacy` in packages/api/src/lib/workspace-renderer/agents-md-composer.test.ts:54"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7d99fdbc29f7ba25", "name": "Commented-code block (7 lines) in packages/api/src/lib/compliance/hash-chain.ts:90", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/compliance/hash-chain.ts:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0f5b2724080aa73d", "name": "Commented-code block (6 lines) in packages/api/src/lib/compliance/event-schemas.ts:231", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/compliance/event-schemas.ts:231"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-902f3fd4c2f35238", "name": "Commented-code block (5 lines) in packages/api/src/lib/compliance/reader-db.ts:70", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/compliance/reader-db.ts:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82fa931b41b50677", "name": "Commented-code block (10 lines) in packages/api/src/lib/compliance/redaction.ts:26", "shortDescription": {"text": "Commented-code block (10 lines) in packages/api/src/lib/compliance/redaction.ts:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e5a421a3194ed62d", "name": "Commented-code block (6 lines) in packages/api/src/lib/deployments/start-plan-job.ts:89", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/deployments/start-plan-job.ts:89"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f006ee87509b4fbb", "name": "Commented-code block (5 lines) in packages/api/src/lib/ontology/suggestions.ts:413", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/ontology/suggestions.ts:413"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1f05c77894323abc", "name": "Commented-code block (6 lines) in packages/api/src/lib/memory/adapters/agentcore-adapter.ts:185", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/memory/adapters/agentcore-adapter.ts:185"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1dcbc83aa54fc7f2", "name": "Commented-code block (5 lines) in packages/api/src/lib/applets/source-policy.test.ts:34", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/applets/source-policy.test.ts:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10b075f412c1e8c3", "name": "Commented-code block (7 lines) in packages/api/src/lib/applets/source-policy.ts:216", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/applets/source-policy.ts:216"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2525e0f3ae7f078d", "name": "Commented-code block (5 lines) in packages/api/src/lib/user-questions/intake.ts:260", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/user-questions/intake.ts:260"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-52393dd3483690ff", "name": "Commented-code block (5 lines) in packages/api/src/lib/evals/dataset-store.ts:1128", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/evals/dataset-store.ts:1128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d95c4d4607766574", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/evals/dataset-store.ts:223", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/evals/dataset-store.ts:223"}, "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-87ee2d76e0852608", "name": "Commented-code block (5 lines) in packages/api/src/lib/evals/run-launch.ts:235", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/evals/run-launch.ts:235"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-32c6641edf69d186", "name": "Commented-code block (6 lines) in packages/api/src/lib/evals/agentcore-direct.ts:264", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/evals/agentcore-direct.ts:264"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-afbc2f5eaf1c912a", "name": "Commented-code block (5 lines) in packages/api/src/lib/evals/skill-eval-run.ts:82", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/evals/skill-eval-run.ts:82"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2de2f5ff3d991a53", "name": "Commented-code block (9 lines) in packages/api/src/lib/evals/dataset-store.test.ts:722", "shortDescription": {"text": "Commented-code block (9 lines) in packages/api/src/lib/evals/dataset-store.test.ts:722"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d4023bc50ebf809e", "name": "Commented-code block (5 lines) in packages/api/src/lib/evals/engines/in-house.ts:173", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/evals/engines/in-house.ts:173"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d3d05fa6cb062dd3", "name": "Commented-code block (7 lines) in packages/api/src/lib/brain/enrichment-apply.ts:537", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/brain/enrichment-apply.ts:537"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8e3a97f6cd62fcf6", "name": "Legacy-named symbol `rOld` in packages/api/src/lib/brain/enrichment-apply-draft.test.ts:249", "shortDescription": {"text": "Legacy-named symbol `rOld` in packages/api/src/lib/brain/enrichment-apply-draft.test.ts:249"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad48fdf0d825d518", "name": "Commented-code block (6 lines) in packages/api/src/lib/brain/enrichment-apply-draft.test.ts:360", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/lib/brain/enrichment-apply-draft.test.ts:360"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-664abb962d8ea129", "name": "Commented-code block (7 lines) in packages/api/src/lib/brain/enrichment-types.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/brain/enrichment-types.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5ac43b88acaeaeaf", "name": "Commented-code block (7 lines) in packages/api/src/lib/brain/draft-review-writeback.ts:201", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/brain/draft-review-writeback.ts:201"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-734f4745df0a9c0d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/slack/file-attachments.ts:278", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/slack/file-attachments.ts:278"}, "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-502bde16e29fca76", "name": "Commented-code block (5 lines) in packages/api/src/lib/plugins/engine.ts:425", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/lib/plugins/engine.ts:425"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-921ef71958351b90", "name": "Commented-code block (7 lines) in packages/api/src/lib/plugins/activation.ts:682", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/lib/plugins/activation.ts:682"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dedf724ea8cdfdad", "name": "Commented-code block (13 lines) in packages/api/src/lib/plugins/handlers/infra.ts:455", "shortDescription": {"text": "Commented-code block (13 lines) in packages/api/src/lib/plugins/handlers/infra.ts:455"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06767088b59b6833", "name": "Commented-code block (5 lines) in packages/api/src/graphql/utils.ts:560", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/utils.ts:560"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-21f5a2e41363be9f", "name": "Commented-code block (5 lines) in packages/api/src/graphql/server.ts:129", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/server.ts:129"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd9f0bf8db295618", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/skill-runs/startSkillRun.mutation.ts:87", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/skill-runs/startSkillRun.mutation.ts:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08ab7b66b600562f", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/triggers/updateScheduledJob.mutation.ts:63", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/triggers/updateScheduledJob.mutation.ts:63"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-167f1757580125b1", "name": "Commented-code block (6 lines) in packages/api/src/graphql/resolvers/triggers/index.ts:19", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/graphql/resolvers/triggers/index.ts:19"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-deed99f00d117fc6", "name": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/threads/updateThread.mutation.ts:250", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/threads/updateThread.mutation.ts:250"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8fb33758ec05cfd5", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/thread.query.ts:71", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/thread.query.ts:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c5a7a0d2417d54cb", "name": "Commented-code block (10 lines) in packages/api/src/graphql/resolvers/threads/threads.query.ts:17", "shortDescription": {"text": "Commented-code block (10 lines) in packages/api/src/graphql/resolvers/threads/threads.query.ts:17"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2ca0d9fde518e958", "name": "Legacy-named symbol `tp_legacy` in packages/api/src/graphql/resolvers/threads/unreadThreadCount.query.ts:49", "shortDescription": {"text": "Legacy-named symbol `tp_legacy` in packages/api/src/graphql/resolvers/threads/unreadThreadCount.query.ts:49"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3030a0473bfe359f", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/unreadThreadCount.query.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/unreadThreadCount.query.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-86548b817708319a", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/threadsPaged.query.ts:47", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/threadsPaged.query.ts:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bfeac3318a1cf692", "name": "Commented-code block (6 lines) in packages/api/src/graphql/resolvers/threads/createThread.mutation.ts:84", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/graphql/resolvers/threads/createThread.mutation.ts:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d12c260aad5a4083", "name": "Legacy-named symbol `tp_legacy` in packages/api/src/graphql/resolvers/threads/unreadThreadCount.query.test.ts:19", "shortDescription": {"text": "Legacy-named symbol `tp_legacy` in packages/api/src/graphql/resolvers/threads/unreadThreadCount.query.test.ts: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-d47de3b71afaa168", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/threadPins.readstate.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/threadPins.readstate.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d7bde442dee68614", "name": "Commented-code block (11 lines) in packages/api/src/graphql/resolvers/threads/threadPins.shared.ts:162", "shortDescription": {"text": "Commented-code block (11 lines) in packages/api/src/graphql/resolvers/threads/threadPins.shared.ts:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dbdeff136c6863ca", "name": "Commented-code block (8 lines) in packages/api/src/graphql/resolvers/threads/loaders.ts:121", "shortDescription": {"text": "Commented-code block (8 lines) in packages/api/src/graphql/resolvers/threads/loaders.ts:121"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc8ca7e8ebb7c8a6", "name": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/threads/escalateThread.mutation.ts:37", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/threads/escalateThread.mutation.ts:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8cf8d3fb265c8ccc", "name": "Commented-code block (10 lines) in packages/api/src/graphql/resolvers/threads/types.ts:106", "shortDescription": {"text": "Commented-code block (10 lines) in packages/api/src/graphql/resolvers/threads/types.ts:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-926b9ff1c0ea5ed7", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/routines/tenantToolInventory.query.ts:235", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/routines/tenantToolInventory.query.ts:235"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-753efaa6c02ddeff", "name": "Commented-code block (6 lines) in packages/api/src/graphql/resolvers/routines/publishRoutineVersion.mutation.ts:155", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/graphql/resolvers/routines/publishRoutineVersion.mutation.ts:155"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d352694cfae0272a", "name": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/wiki/wikiBacklinks.query.ts:47", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/wiki/wikiBacklinks.query.ts:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e89e3b07f61b5245", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/wiki/wikiGraph.query.ts:92", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/wiki/wikiGraph.query.ts:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f80905244c86609c", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/compliance/query.ts:227", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/compliance/query.ts:227"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6443a7bdb6f4528a", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/compliance/exports.ts:69", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/compliance/exports.ts:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1eb1d045ac5312b0", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/evaluations/index.test.ts:1822", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/evaluations/index.test.ts:1822"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8503ea6479fa2c06", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/evaluations/index.ts:453", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/evaluations/index.ts:453"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6d5660842ead4998", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/evaluations/flag-thread.ts:376", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/evaluations/flag-thread.ts:376"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5bae2b7775726f91", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/messages/answerUserQuestion.mutation.ts:121", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/messages/answerUserQuestion.mutation.ts:121"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-446580896949a73d", "name": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/messages/sendMessage.mutation.ts:135", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/messages/sendMessage.mutation.ts:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a6a0330e1a8c3541", "name": "Commented-code block (10 lines) in packages/api/src/graphql/resolvers/core/resolve-auth-user.ts:29", "shortDescription": {"text": "Commented-code block (10 lines) in packages/api/src/graphql/resolvers/core/resolve-auth-user.ts:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f0b1c10470ad7d36", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/core/me.query.ts:20", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/core/me.query.ts:20"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a0e8410d95cc8be2", "name": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/core/inviteMember.mutation.ts:47", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/core/inviteMember.mutation.ts:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9f7a6f04ba5953fb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/graphql/resolvers/core/setKnowledgeGraphDeployment.mutati", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/graphql/resolvers/core/setKnowledgeGraphDeployment.mutation.ts:135"}, "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-774a42a87c620659", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/core/updateUserProfile.mutation.ts:143", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/core/updateUserProfile.mutation.ts:143"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cb1756b1e2385e16", "name": "Commented-code block (8 lines) in packages/api/src/graphql/resolvers/core/createTenant.mutation.ts:41", "shortDescription": {"text": "Commented-code block (8 lines) in packages/api/src/graphql/resolvers/core/createTenant.mutation.ts:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-82722f767392490b", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/inbox/decideInboxItem.mutation.ts:33", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/inbox/decideInboxItem.mutation.ts:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1701c0633cdf7f19", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/inbox/routine-approval-bridge.ts:110", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/inbox/routine-approval-bridge.ts:110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-26a5f750a3acc268", "name": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/knowledge/knowledgeBases.query.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/knowledge/knowledgeBases.query.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-78bb855ac2b1a5e5", "name": "Commented-code block (5 lines) in packages/api/src/handlers/mcp-admin-keys.ts:153", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/mcp-admin-keys.ts:153"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a3497af7d76fdc5e", "name": "Commented-code block (5 lines) in packages/api/src/handlers/eval-worker-integration.test.ts:412", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/eval-worker-integration.test.ts:412"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c9d94e3aa4012a99", "name": "Commented-code block (5 lines) in packages/api/src/handlers/eval-runs-reconciler-pinned.test.ts:42", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/eval-runs-reconciler-pinned.test.ts:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8419e6959eda30f3", "name": "Commented-code block (5 lines) in packages/api/src/handlers/webhooks.ts:462", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/webhooks.ts:462"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f55bfc8f14cec872", "name": "Commented-code block (5 lines) in packages/api/src/handlers/wiki-export.ts:203", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/wiki-export.ts:203"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c81e2c5aafeb2072", "name": "Commented-code block (11 lines) in packages/api/src/handlers/thread-attachment-download.ts:131", "shortDescription": {"text": "Commented-code block (11 lines) in packages/api/src/handlers/thread-attachment-download.ts:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3698aa7b7883ba0f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/thread-attachment-download.ts:135", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/thread-attachment-download.ts:135"}, "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-fe669363844e33d3", "name": "Commented-code block (5 lines) in packages/api/src/handlers/messages.ts:259", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/messages.ts:259"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-621b42b7495c3cec", "name": "Commented-code block (6 lines) in packages/api/src/handlers/eval-runner.ts:267", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/eval-runner.ts:267"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b7f48170f359fd68", "name": "Commented-code block (5 lines) in packages/api/src/handlers/routine-execution-callback.ts:205", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/routine-execution-callback.ts:205"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fe6ec6ba9608db4b", "name": "Commented-code block (12 lines) in packages/api/src/handlers/routine-asl-validator.ts:319", "shortDescription": {"text": "Commented-code block (12 lines) in packages/api/src/handlers/routine-asl-validator.ts:319"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c55b3370a2c8cd2", "name": "Commented-code block (5 lines) in packages/api/src/handlers/invites.ts:185", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/invites.ts:185"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c59892b9d882d60", "name": "Commented-code block (5 lines) in packages/api/src/handlers/deployment-sessions.ts:280", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/deployment-sessions.ts:280"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cad2244a5fa9ae12", "name": "Commented-code block (6 lines) in packages/api/src/handlers/stripe-webhook.ts:237", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/stripe-webhook.ts:237"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5bf2ecfaa4b93a5", "name": "Commented-code block (7 lines) in packages/api/src/handlers/compliance.ts:165", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/handlers/compliance.ts: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-1b3fd6492be9181f", "name": "Commented-code block (5 lines) in packages/api/src/handlers/skills.ts:441", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/skills.ts:441"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c512a573080dee8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/skills.ts:793", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/skills.ts:793"}, "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-58091bd26f59fb79", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/extension-proxy.ts:117", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/extension-proxy.ts:117"}, "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-3c01ef6e3dd71195", "name": "Commented-code block (7 lines) in packages/api/src/handlers/wakeup-processor.system-prompt.test.ts:84", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/handlers/wakeup-processor.system-prompt.test.ts:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a3ebc2e97e12edac", "name": "Commented-code block (5 lines) in packages/api/src/handlers/chat-agent-invoke.ts:109", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/chat-agent-invoke.ts:109"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0d0bed591b8028df", "name": "Commented-code block (6 lines) in packages/api/src/handlers/eval-worker.ts:331", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/eval-worker.ts:331"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e7ed147c347427fe", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/graphql-http.ts:69", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/graphql-http.ts:69"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6aa13f02946bcec6", "name": "Commented-code block (6 lines) in packages/api/src/handlers/knowledge-graph-observations-ingest.ts:270", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/knowledge-graph-observations-ingest.ts:270"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47645031aa2d3866", "name": "Commented-code block (10 lines) in packages/api/src/handlers/mcp-admin-provision.ts:180", "shortDescription": {"text": "Commented-code block (10 lines) in packages/api/src/handlers/mcp-admin-provision.ts: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-7a898765508607f7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/oauth-callback.ts:182", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/oauth-callback.ts:182"}, "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-6d0e64f422d63dc9", "name": "Commented-code block (5 lines) in packages/api/src/handlers/email-send.ts:77", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/email-send.ts:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d3a2a095197e0733", "name": "Commented-code block (6 lines) in packages/api/src/handlers/wakeup-processor.ts:128", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/wakeup-processor.ts:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0bfb5c5d990625ae", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/wakeup-processor.ts:253", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/wakeup-processor.ts:253"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4c0f5c6d04b0cae7", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/workspace-fetch-source.test.ts:450", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/workspace-fetch-source.test.ts:450"}, "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-5ec316b302116595", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/routine-task-weather-email.ts:115", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/routine-task-weather-email.ts:115"}, "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-8a15efae0caf8ae5", "name": "Commented-code block (7 lines) in packages/api/src/handlers/wakeup-processor.dispatch-parity.test.ts:213", "shortDescription": {"text": "Commented-code block (7 lines) in packages/api/src/handlers/wakeup-processor.dispatch-parity.test.ts:213"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4452a59fec4bde9b", "name": "Commented-code block (6 lines) in packages/api/src/handlers/chat-agent-activity.ts:84", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/chat-agent-activity.ts:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-01c83b2cab5850da", "name": "Commented-code block (5 lines) in packages/api/src/handlers/oauth-authorize.ts:131", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/oauth-authorize.ts:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4b319d42d3daea1f", "name": "Commented-code block (6 lines) in packages/api/src/handlers/tenants.ts:68", "shortDescription": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/tenants.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ec5c52ba18bc7e67", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/workspace-fetch-source.ts:4", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/workspace-fetch-source.ts:4"}, "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-914f63beff0b0d20", "name": "Commented-code block (5 lines) in packages/api/src/handlers/crons/stall-monitor.ts:120", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/crons/stall-monitor.ts:120"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b32465a760ce0eb", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/slack/oauth-install.ts:188", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/slack/oauth-install.ts:188"}, "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-85b2842cf69d95d1", "name": "Commented-code block (5 lines) in packages/api/src/handlers/webhooks/_shared.ts:125", "shortDescription": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/webhooks/_shared.ts:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-be9c114c5a8ad677", "name": "Commented-code block (5 lines) in packages/ui/src/env.d.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in packages/ui/src/env.d.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa7b344c8fe7b95a", "name": "Commented-code block (7 lines) in packages/database-pg/src/schema/evaluations.ts:35", "shortDescription": {"text": "Commented-code block (7 lines) in packages/database-pg/src/schema/evaluations.ts:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-482dffa8ec1a5f43", "name": "Commented-code block (7 lines) in packages/database-pg/src/schema/routines.ts:62", "shortDescription": {"text": "Commented-code block (7 lines) in packages/database-pg/src/schema/routines.ts:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c28cffcea53921a4", "name": "Commented-code block (6 lines) in packages/database-pg/src/schema/threads.ts:107", "shortDescription": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/threads.ts:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-40f340a93c70d6dc", "name": "Commented-code block (5 lines) in packages/database-pg/src/schema/quick-actions.ts:32", "shortDescription": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/quick-actions.ts: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-3c0157479b1f3b0c", "name": "Commented-code block (6 lines) in packages/database-pg/src/schema/messages.ts:41", "shortDescription": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/messages.ts:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd94915abc73933a", "name": "Commented-code block (5 lines) in packages/database-pg/src/schema/billing.ts:50", "shortDescription": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/billing.ts:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e12c7b8c061cd76c", "name": "Commented-code block (9 lines) in packages/database-pg/src/schema/brain.ts:813", "shortDescription": {"text": "Commented-code block (9 lines) in packages/database-pg/src/schema/brain.ts:813"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-76ec797cdd945435", "name": "Commented-code block (5 lines) in packages/database-pg/src/schema/webhook-deliveries.ts:102", "shortDescription": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/webhook-deliveries.ts:102"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a656b91cbef4a949", "name": "Commented-code block (5 lines) in packages/database-pg/src/schema/compliance.ts:340", "shortDescription": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/compliance.ts:340"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b0c42397b64c4801", "name": "Commented-code block (5 lines) in packages/database-pg/src/schema/skills.ts:22", "shortDescription": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/skills.ts:22"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e8f5ae42d63ac57", "name": "Commented-code block (6 lines) in packages/database-pg/src/schema/core.ts:69", "shortDescription": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/core.ts:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4224904d1bc2626", "name": "Commented-code block (6 lines) in packages/database-pg/src/schema/wiki.ts:117", "shortDescription": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/wiki.ts:117"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-431c3c33551de349", "name": "Commented-code block (6 lines) in packages/database-pg/src/schema/artifacts.ts:68", "shortDescription": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/artifacts.ts:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8c7e92ecbdf5813", "name": "Commented-code block (6 lines) in packages/admin-ops/src/routines.ts:190", "shortDescription": {"text": "Commented-code block (6 lines) in packages/admin-ops/src/routines.ts:190"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a088ddfbb9cec77", "name": "Commented-code block (5 lines) in packages/admin-ops/src/_fields.ts:41", "shortDescription": {"text": "Commented-code block (5 lines) in packages/admin-ops/src/_fields.ts:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-757ee8407755b21c", "name": "Commented-code block (6 lines) in packages/admin-ops/src/client.ts:41", "shortDescription": {"text": "Commented-code block (6 lines) in packages/admin-ops/src/client.ts:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-31e465278be1db12", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/admin-ops/src/client.test.ts:49", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/admin-ops/src/client.test.ts:49"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-55d00aad3ac7056b", "name": "Commented-code block (5 lines) in packages/audit-verifier/__tests__/merkle.test.ts:142", "shortDescription": {"text": "Commented-code block (5 lines) in packages/audit-verifier/__tests__/merkle.test.ts:142"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-695d06d0ae6b731e", "name": "Commented-code block (5 lines) in packages/audit-verifier/__tests__/verify.test.ts:255", "shortDescription": {"text": "Commented-code block (5 lines) in packages/audit-verifier/__tests__/verify.test.ts:255"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf93f4c8429208f5", "name": "Commented-code block (6 lines) in packages/audit-verifier/src/chain.ts:71", "shortDescription": {"text": "Commented-code block (6 lines) in packages/audit-verifier/src/chain.ts:71"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f271c65ebdc3b15f", "name": "Commented-code block (7 lines) in packages/audit-verifier/src/verify.ts:131", "shortDescription": {"text": "Commented-code block (7 lines) in packages/audit-verifier/src/verify.ts:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-955a53da6b086966", "name": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/server.test.ts:2013", "shortDescription": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/server.test.ts:2013"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ffb3b0fa052f361d", "name": "Commented-code block (8 lines) in packages/agentcore-pi/agent-container/tests/mcp-proxy.test.ts:91", "shortDescription": {"text": "Commented-code block (8 lines) in packages/agentcore-pi/agent-container/tests/mcp-proxy.test.ts:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d3b6a430b829dbdc", "name": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/sessionstore-aurora.test.ts:483", "shortDescription": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/sessionstore-aurora.test.ts:483"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91cd5207fbd48e40", "name": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/mcp.test.ts:29", "shortDescription": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/mcp.test.ts:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-efbb1b267383b3b7", "name": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/worker-isolation.test.ts:422", "shortDescription": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/worker-isolation.test.ts:422"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cbc0a9a57fdca7f4", "name": "Commented-code block (11 lines) in packages/agentcore-pi/agent-container/tests/sandbox-factory.test.ts:55", "shortDescription": {"text": "Commented-code block (11 lines) in packages/agentcore-pi/agent-container/tests/sandbox-factory.test.ts:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b3b0124b6e8267a", "name": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/user-question-context.test.ts:9", "shortDescription": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/user-question-context.test.ts:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea9ac3895f24f738", "name": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/tests/integration/tenant-isolation.test.ts:153", "shortDescription": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/tests/integration/tenant-isolation.test.ts:153"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-56f527f27659572a", "name": "Commented-code block (7 lines) in packages/agentcore-pi/agent-container/skill-bridge/run_skill.py:125", "shortDescription": {"text": "Commented-code block (7 lines) in packages/agentcore-pi/agent-container/skill-bridge/run_skill.py:125"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0b3cfd1f6041444b", "name": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/sessionstore-aurora.ts:202", "shortDescription": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/sessionstore-aurora.ts:202"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27c35a897328d07f", "name": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/mcp-connect.ts:199", "shortDescription": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/mcp-connect.ts:199"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-814b07acadae0e9c", "name": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/mcp.ts:83", "shortDescription": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/mcp.ts:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7cabf2ba2d4b86d7", "name": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/handler-context.ts:366", "shortDescription": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/handler-context.ts:366"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b020b36ae392e1dc", "name": "Commented-code block (10 lines) in packages/agentcore-pi/agent-container/src/scrubbing-fetch.ts:77", "shortDescription": {"text": "Commented-code block (10 lines) in packages/agentcore-pi/agent-container/src/scrubbing-fetch.ts:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cecb7525ac8ed9b2", "name": "Commented-code block (7 lines) in packages/agentcore-pi/agent-container/src/server.ts:1104", "shortDescription": {"text": "Commented-code block (7 lines) in packages/agentcore-pi/agent-container/src/server.ts:1104"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2d9260ff03fdba47", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/agentcore-pi/agent-container/src/server.ts:885", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/agentcore-pi/agent-container/src/server.ts:885"}, "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-ae319c099ac2b2ce", "name": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/runtime/providers/hindsight-memory-provider.", "shortDescription": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/runtime/providers/hindsight-memory-provider.ts:247"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-504b4e2d8db4ef5c", "name": "Commented-code block (8 lines) in packages/pi-aws/connectors/agentcore-codeinterpreter.ts:100", "shortDescription": {"text": "Commented-code block (8 lines) in packages/pi-aws/connectors/agentcore-codeinterpreter.ts:100"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-79c0be97f44ec907", "name": "Commented-code block (7 lines) in packages/pi-aws/connectors/agentcore-codeinterpreter.test.ts:489", "shortDescription": {"text": "Commented-code block (7 lines) in packages/pi-aws/connectors/agentcore-codeinterpreter.test.ts:489"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c0d773944b56e12", "name": "Commented-code block (5 lines) in packages/pi-runtime-core/src/durable-session-manager.ts:156", "shortDescription": {"text": "Commented-code block (5 lines) in packages/pi-runtime-core/src/durable-session-manager.ts:156"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-38dcc435b986a1ba", "name": "Commented-code block (5 lines) in packages/pi-runtime-core/src/agent-loop.ts:540", "shortDescription": {"text": "Commented-code block (5 lines) in packages/pi-runtime-core/src/agent-loop.ts:540"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2854afa9c13863cf", "name": "Commented-code block (5 lines) in packages/workspace-editor/src/components/FileTree.tsx:206", "shortDescription": {"text": "Commented-code block (5 lines) in packages/workspace-editor/src/components/FileTree.tsx:206"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e69f11e77896f2b4", "name": "Commented-code block (7 lines) in packages/evals-core/test/scoring.test.ts:162", "shortDescription": {"text": "Commented-code block (7 lines) in packages/evals-core/test/scoring.test.ts:162"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d2eddbd5b59f8da", "name": "Commented-code block (9 lines) in packages/evals-core/test/scoring-characterization.test.ts:277", "shortDescription": {"text": "Commented-code block (9 lines) in packages/evals-core/test/scoring-characterization.test.ts:277"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-32d19f65c299d903", "name": "Commented-code block (9 lines) in packages/evals-core/src/scoring.ts:212", "shortDescription": {"text": "Commented-code block (9 lines) in packages/evals-core/src/scoring.ts:212"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c532a6eee07df5f", "name": "Commented-code block (5 lines) in packages/lambda/routine-task-python.ts:189", "shortDescription": {"text": "Commented-code block (5 lines) in packages/lambda/routine-task-python.ts:189"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d3fb605ab15b7a18", "name": "Commented-code block (5 lines) in packages/lambda/routine-resume.ts:121", "shortDescription": {"text": "Commented-code block (5 lines) in packages/lambda/routine-resume.ts:121"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3e23bb59e75dfb0f", "name": "Commented-code block (5 lines) in packages/lambda/compliance-export-runner.ts:113", "shortDescription": {"text": "Commented-code block (5 lines) in packages/lambda/compliance-export-runner.ts:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d750293eec5953f0", "name": "Commented-code block (11 lines) in packages/lambda/admin-ops-mcp.ts:91", "shortDescription": {"text": "Commented-code block (11 lines) in packages/lambda/admin-ops-mcp.ts:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eb2b9584d533aae1", "name": "Commented-code block (6 lines) in packages/lambda/job-trigger.ts:173", "shortDescription": {"text": "Commented-code block (6 lines) in packages/lambda/job-trigger.ts:173"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02ef05a73fa0972e", "name": "Commented-code block (5 lines) in packages/lambda/agentcore-admin.ts:235", "shortDescription": {"text": "Commented-code block (5 lines) in packages/lambda/agentcore-admin.ts:235"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a2548122f651ab18", "name": "Commented-code block (8 lines) in packages/lambda/compliance-outbox-drainer.ts:36", "shortDescription": {"text": "Commented-code block (8 lines) in packages/lambda/compliance-outbox-drainer.ts:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8407d05db4e44f5d", "name": "Commented-code block (6 lines) in packages/lambda/compliance-anchor.ts:69", "shortDescription": {"text": "Commented-code block (6 lines) in packages/lambda/compliance-anchor.ts:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-583e9a0d67de0b82", "name": "Commented-code block (5 lines) in packages/lambda/compliance-anchor-watchdog.ts:66", "shortDescription": {"text": "Commented-code block (5 lines) in packages/lambda/compliance-anchor-watchdog.ts:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-85699bc0ade6f73a", "name": "Commented-code block (5 lines) in packages/lambda/__tests__/compliance-outbox-drainer.test.ts:131", "shortDescription": {"text": "Commented-code block (5 lines) in packages/lambda/__tests__/compliance-outbox-drainer.test.ts:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f81b02cc6c326d6", "name": "Commented-code block (5 lines) in packages/lambda/__tests__/integration/compliance-anchor.integration.test.ts:111", "shortDescription": {"text": "Commented-code block (5 lines) in packages/lambda/__tests__/integration/compliance-anchor.integration.test.ts:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f86bbc2c08083e76", "name": "Commented-code block (6 lines) in packages/lambda/__tests__/integration/compliance-drainer.integration.test.ts:84", "shortDescription": {"text": "Commented-code block (6 lines) in packages/lambda/__tests__/integration/compliance-drainer.integration.test.ts:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e5ed5a0a9c05b5b4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/react-native-sdk/src/context-engine.ts:97", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/react-native-sdk/src/context-engine.ts:97"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5bb501362de73ac9", "name": "Commented-code block (7 lines) in packages/react-native-sdk/src/auth/provider.tsx:34", "shortDescription": {"text": "Commented-code block (7 lines) in packages/react-native-sdk/src/auth/provider.tsx:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fdd92497d83ba036", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/react-native-sdk/src/auth/cognito.ts:133", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/react-native-sdk/src/auth/cognito.ts:133"}, "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-cb83666f6dcede8e", "name": "Commented-code block (6 lines) in packages/namespace-registry/src/db.ts:95", "shortDescription": {"text": "Commented-code block (6 lines) in packages/namespace-registry/src/db.ts:95"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aaae8cc44f42cb35", "name": "Commented-code block (5 lines) in packages/runtime-config/src/loader.ts:206", "shortDescription": {"text": "Commented-code block (5 lines) in packages/runtime-config/src/loader.ts:206"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-538049a2554fc96a", "name": "Commented-code block (6 lines) in packages/runtime-config/src/index.ts:15", "shortDescription": {"text": "Commented-code block (6 lines) in packages/runtime-config/src/index.ts:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-696ecfd61ff22752", "name": "Commented-code block (7 lines) in packages/pi-extensions/src/system-prompt-compose.ts:16", "shortDescription": {"text": "Commented-code block (7 lines) in packages/pi-extensions/src/system-prompt-compose.ts:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-262f66bec1cac48e", "name": "Commented-code block (5 lines) in packages/pi-extensions/src/fetch-workspace-source.ts:420", "shortDescription": {"text": "Commented-code block (5 lines) in packages/pi-extensions/src/fetch-workspace-source.ts:420"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab0a094c68ae6b43", "name": "`fetch()` without try/.catch or AbortSignal \u2014 packages/pi-extensions/src/fetch-workspace-source.ts:440", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/pi-extensions/src/fetch-workspace-source.ts:440"}, "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-ebe270f49df7a826", "name": "Commented-code block (5 lines) in packages/pi-extensions/src/ask-user-question.ts:264", "shortDescription": {"text": "Commented-code block (5 lines) in packages/pi-extensions/src/ask-user-question.ts:264"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-696d51e82e7d0faa", "name": "Commented-code block (6 lines) in packages/pi-extensions/src/memory.ts:195", "shortDescription": {"text": "Commented-code block (6 lines) in packages/pi-extensions/src/memory.ts:195"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-27570335b793111f", "name": "Commented-code block (7 lines) in packages/agentcore/agent-container/agents_md_parser.py:71", "shortDescription": {"text": "Commented-code block (7 lines) in packages/agentcore/agent-container/agents_md_parser.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-ee15a8a613e92eb3", "name": "Legacy-named symbol `list_objects_v2` in packages/agentcore/agent-container/install_skills.py:127", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in packages/agentcore/agent-container/install_skills.py:127"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8011fceee14f569f", "name": "Commented-code block (5 lines) in packages/agentcore/agent-container/memory.py:581", "shortDescription": {"text": "Commented-code block (5 lines) in packages/agentcore/agent-container/memory.py:581"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc08dff34a6caf0e", "name": "Commented-code block (5 lines) in packages/plugin-catalog/src/contracts.ts:370", "shortDescription": {"text": "Commented-code block (5 lines) in packages/plugin-catalog/src/contracts.ts:370"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d9b48de051314327", "name": "Commented-code block (5 lines) in packages/graph/src/WikiGraph.tsx:177", "shortDescription": {"text": "Commented-code block (5 lines) in packages/graph/src/WikiGraph.tsx:177"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-058e479900d86111", "name": "Commented-code block (5 lines) in packages/graph/src/MemoryGraph.tsx:102", "shortDescription": {"text": "Commented-code block (5 lines) in packages/graph/src/MemoryGraph.tsx:102"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a829a0375e78663d", "name": "Commented-code block (5 lines) in terraform/modules/app/deployment-control-plane/runner.py:2099", "shortDescription": {"text": "Commented-code block (5 lines) in terraform/modules/app/deployment-control-plane/runner.py:2099"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b214fb05f9ef538", "name": "Network/subprocess call without timeout or try/except \u2014 terraform/modules/app/deployment-control-plane/runner.py:55", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 terraform/modules/app/deployment-control-plane/runner.py:55"}, "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-eb12ab9ced4389f1", "name": "Commented-code block (6 lines) in terraform/modules/app/agentcore-code-interpreter/sandbox/sitecustomize.py:54", "shortDescription": {"text": "Commented-code block (6 lines) in terraform/modules/app/agentcore-code-interpreter/sandbox/sitecustomize.py:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c82539662d73a0e0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 plugins/twenty/smoke/twenty-managed-app-smoke.mjs:291", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 plugins/twenty/smoke/twenty-managed-app-smoke.mjs:291"}, "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-bdb31a24f71b36ad", "name": "`fetch()` without try/.catch or AbortSignal \u2014 plugins/company-brain/smoke/cognee-managed-app-smoke.mjs:383", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 plugins/company-brain/smoke/cognee-managed-app-smoke.mjs:383"}, "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-daeca292c73e8e99", "name": "355 env vars used in code but missing from .env.example", "shortDescription": {"text": "355 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ADMIN_OPS_MCP_FUNCTION_NAME`, `ADMIN_URL`, `AGENTCORE_ADMIN_LAMBDA_ARN`, `AGENTCORE_ADMIN_TOKEN`, `AGENTCORE_BROWSER_IDENTIFIER`, `AGENTCORE_FILES_BUCKET`, `AGENTCORE_FUNCTION_NAME`, `AGENTCORE_GATEWAY_URL` + 347 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:\nterraform/modules/app/deployment-control-plane/runner.py:psql_env, terraform/modules/app/deployment-control-plane/runner.py:psql\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}}]}}, "automationDetails": {"id": "repobility/21251"}, "properties": {"repository": "thinkwork-ai/thinkwork", "repoUrl": "https://github.com/thinkwork-ai/thinkwork", "branch": "main"}, "results": [{"ruleId": "scanner-a0cd10e3c088bc17", "level": "note", "message": {"text": "Possibly dead Python function: validate_token"}, "properties": {"repobilityId": "6483d0a5f5f0ddf4", "scanner": "scanner-primary", "fingerprint": "a0cd10e3c088bc17", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/identity.py:76"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4afd4cfc53403a10", "level": "note", "message": {"text": "Possibly dead Python function: revoke_token"}, "properties": {"repobilityId": "42024dd4298430be", "scanner": "scanner-primary", "fingerprint": "4afd4cfc53403a10", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/identity.py:115"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-91158bed7a6f38a5", "level": "note", "message": {"text": "Possibly dead Python function: clear_all_tokens"}, "properties": {"repobilityId": "53813cad1475429b", "scanner": "scanner-primary", "fingerprint": "91158bed7a6f38a5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/identity.py:121"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-617d1cd4c18d6b4d", "level": "note", "message": {"text": "Possibly dead Python function: log_message"}, "properties": {"repobilityId": "965f3150b4af5b2e", "scanner": "scanner-primary", "fingerprint": "617d1cd4c18d6b4d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/kb_search_server.py:139"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e367600b9803427", "level": "note", "message": {"text": "Possibly dead Python function: do_POST"}, "properties": {"repobilityId": "53357410ca9379a9", "scanner": "scanner-primary", "fingerprint": "7e367600b9803427", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/kb_search_server.py:142"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f321e5b53220b60", "level": "note", "message": {"text": "Possibly dead Python function: do_GET"}, "properties": {"repobilityId": "2d943bb45e4f13bd", "scanner": "scanner-primary", "fingerprint": "7f321e5b53220b60", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/kb_search_server.py:189"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b8ee0c0912ad35a7", "level": "note", "message": {"text": "Possibly dead Python function: retain"}, "properties": {"repobilityId": "acff76db32b79bf6", "scanner": "scanner-primary", "fingerprint": "b8ee0c0912ad35a7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/hindsight_client.py:65"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d837aa03aa834993", "level": "note", "message": {"text": "Possibly dead Python function: reflect"}, "properties": {"repobilityId": "1d740141cf577b50", "scanner": "scanner-primary", "fingerprint": "d837aa03aa834993", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/hindsight_client.py:82"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0394d905efe1f660", "level": "note", "message": {"text": "Possibly dead Python function: configure_bank"}, "properties": {"repobilityId": "9b409b93f06ed4dd", "scanner": "scanner-primary", "fingerprint": "0394d905efe1f660", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/hindsight_client.py:92"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-62f1f4c82cbddc9c", "level": "note", "message": {"text": "Possibly dead Python function: list_entities"}, "properties": {"repobilityId": "0182346299caa7c2", "scanner": "scanner-primary", "fingerprint": "62f1f4c82cbddc9c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/hindsight_client.py:97"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7c1d64bb07214671", "level": "note", "message": {"text": "Possibly dead Python function: install_skills"}, "properties": {"repobilityId": "4a3bf8def81c3ea5", "scanner": "scanner-primary", "fingerprint": "7c1d64bb07214671", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/install_skills.py:17"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9ebdb00a320eda3d", "level": "note", "message": {"text": "Possibly dead Python function: install_workspace"}, "properties": {"repobilityId": "bd12078a9c4ecb4e", "scanner": "scanner-primary", "fingerprint": "9ebdb00a320eda3d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/install_skills.py:79"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-53ae85ccae8e2122", "level": "note", "message": {"text": "Possibly dead Python function: install_system_workspace"}, "properties": {"repobilityId": "286bdaeb9bd5175b", "scanner": "scanner-primary", "fingerprint": "53ae85ccae8e2122", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/install_skills.py:160"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6545561ee0620a17", "level": "note", "message": {"text": "Possibly dead Python function: store_turn"}, "properties": {"repobilityId": "3f1277928c52459e", "scanner": "scanner-primary", "fingerprint": "6545561ee0620a17", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/memory.py:79"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-029d412ffa8071e7", "level": "note", "message": {"text": "Possibly dead Python function: store_turn_pair"}, "properties": {"repobilityId": "1876ec18cb5c4e87", "scanner": "scanner-primary", "fingerprint": "029d412ffa8071e7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/memory.py:128"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de88a51df4298705", "level": "note", "message": {"text": "Possibly dead Python function: retrieve_session_memory"}, "properties": {"repobilityId": "79f4e43a49098420", "scanner": "scanner-primary", "fingerprint": "de88a51df4298705", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/memory.py:233"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-391fb79897cb1e89", "level": "note", "message": {"text": "Possibly dead Python function: retrieve_assistant_memory"}, "properties": {"repobilityId": "78f2e60d426feb96", "scanner": "scanner-primary", "fingerprint": "391fb79897cb1e89", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/memory.py:259"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0528b2eb698be3ed", "level": "note", "message": {"text": "Possibly dead Python function: retrieve_memory_events"}, "properties": {"repobilityId": "2835e6fc391cc074", "scanner": "scanner-primary", "fingerprint": "0528b2eb698be3ed", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/memory.py:427"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ded1d76d3f49d077", "level": "note", "message": {"text": "Possibly dead Python function: build_converse_messages"}, "properties": {"repobilityId": "9fd56b602dc58681", "scanner": "scanner-primary", "fingerprint": "ded1d76d3f49d077", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/memory.py:514"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d845a365c337630a", "level": "note", "message": {"text": "Possibly dead Python function: build_conversation_string"}, "properties": {"repobilityId": "66da2b15727400f9", "scanner": "scanner-primary", "fingerprint": "d845a365c337630a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/memory.py:544"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9657c6bb5b89274b", "level": "note", "message": {"text": "Possibly dead Python function: clear_thread_memory"}, "properties": {"repobilityId": "ca0a846e5157ea86", "scanner": "scanner-primary", "fingerprint": "9657c6bb5b89274b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/memory.py:569"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09a311fd6d7c98ab", "level": "note", "message": {"text": "Possibly dead Python function: reset_captured_request_ids"}, "properties": {"repobilityId": "e1123ffa29508d8c", "scanner": "scanner-primary", "fingerprint": "09a311fd6d7c98ab", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/bedrock_request_tracker.py:38"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dbd641950b7773b0", "level": "note", "message": {"text": "Possibly dead Python function: install_on_session"}, "properties": {"repobilityId": "ff1d05c1ae482bc2", "scanner": "scanner-primary", "fingerprint": "dbd641950b7773b0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/bedrock_request_tracker.py:53"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c8bec7bce1c11b7b", "level": "note", "message": {"text": "Possibly dead Python function: log_agent_invocation"}, "properties": {"repobilityId": "d2a60f2538bf99c2", "scanner": "scanner-primary", "fingerprint": "c8bec7bce1c11b7b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/observability.py:32"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-168d66fbc40a6efd", "level": "note", "message": {"text": "Possibly dead Python function: log_permission_denied"}, "properties": {"repobilityId": "c15b51a7d13913f8", "scanner": "scanner-primary", "fingerprint": "168d66fbc40a6efd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/observability.py:69"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dd1d5074212fcf1e", "level": "note", "message": {"text": "Possibly dead Python function: log_approval_decision"}, "properties": {"repobilityId": "a77b0315870a08aa", "scanner": "scanner-primary", "fingerprint": "dd1d5074212fcf1e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore/agent-container/observability.py:104"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ce1d1c4e35fb048", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/scripts/bundle-terraform.js:50"}, "properties": {"repobilityId": "6d134a2e34253cc1", "scanner": "scanner-primary", "fingerprint": "4ce1d1c4e35fb048", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-122f6a9d97ab437e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/prerequisites.ts:66"}, "properties": {"repobilityId": "f2c2753f5383e001", "scanner": "scanner-primary", "fingerprint": "122f6a9d97ab437e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-67aba614f7d4281a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/ui.ts:23"}, "properties": {"repobilityId": "a3aa474fe38a43d3", "scanner": "scanner-primary", "fingerprint": "67aba614f7d4281a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c1c3708b49f60c66", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/terraform.ts:141"}, "properties": {"repobilityId": "62dff328ba6ac747", "scanner": "scanner-primary", "fingerprint": "c1c3708b49f60c66", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ef84ccca7079c85f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/config.ts:84"}, "properties": {"repobilityId": "e99d55ab66f72d30", "scanner": "scanner-primary", "fingerprint": "ef84ccca7079c85f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5ed8c07b1f168811", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/login.ts:151"}, "properties": {"repobilityId": "8a7980b63ef3d20b", "scanner": "scanner-primary", "fingerprint": "5ed8c07b1f168811", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b78d29ff69b6bf3a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/doctor.ts:247"}, "properties": {"repobilityId": "151465620737004f", "scanner": "scanner-primary", "fingerprint": "b78d29ff69b6bf3a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-132207b8991651fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/init.ts:174"}, "properties": {"repobilityId": "f3039f3dc4329128", "scanner": "scanner-primary", "fingerprint": "132207b8991651fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f05db8402e15312", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/status.ts:171"}, "properties": {"repobilityId": "0c47e330ec94f96b", "scanner": "scanner-primary", "fingerprint": "3f05db8402e15312", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e3f02885d996780", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/user.ts:111"}, "properties": {"repobilityId": "e41b05f7cd577719", "scanner": "scanner-primary", "fingerprint": "2e3f02885d996780", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a8fee7f876b139b5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/deploy.ts:428"}, "properties": {"repobilityId": "1b64b59c16f1575f", "scanner": "scanner-primary", "fingerprint": "a8fee7f876b139b5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ce0df57d33b65443", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/trace.ts:61"}, "properties": {"repobilityId": "6181aacfb5040432", "scanner": "scanner-primary", "fingerprint": "ce0df57d33b65443", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad8c53e29b04e66c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/destroy.ts:132"}, "properties": {"repobilityId": "18cbba64bd090315", "scanner": "scanner-primary", "fingerprint": "ad8c53e29b04e66c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-70038f9233e46155", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/mcp.ts:122"}, "properties": {"repobilityId": "ee881b2c5f70ffcb", "scanner": "scanner-primary", "fingerprint": "70038f9233e46155", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-abc484264916e581", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/update.ts:61"}, "properties": {"repobilityId": "e1ed941fa2201eed", "scanner": "scanner-primary", "fingerprint": "abc484264916e581", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7e299c8da6bcbcee", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/message.ts:196"}, "properties": {"repobilityId": "a9024c5a630b1273", "scanner": "scanner-primary", "fingerprint": "7e299c8da6bcbcee", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8f198c4933b6fe50", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/cleanup-space-hindsight-banks.ts:66"}, "properties": {"repobilityId": "1f8d38a3e8ded2a6", "scanner": "scanner-primary", "fingerprint": "8f198c4933b6fe50", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-68368216a5d9520b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/logout.ts:63"}, "properties": {"repobilityId": "a44387279c8f0c22", "scanner": "scanner-primary", "fingerprint": "68368216a5d9520b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-be835cfdf4242f67", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/computer.ts:95"}, "properties": {"repobilityId": "44488f497da6e707", "scanner": "scanner-primary", "fingerprint": "be835cfdf4242f67", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa057d7c33436c25", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/turn.ts:251"}, "properties": {"repobilityId": "77125665519ebde5", "scanner": "scanner-primary", "fingerprint": "aa057d7c33436c25", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a04c0c200e2ef0d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/tools.ts:77"}, "properties": {"repobilityId": "0a15a97e64fb4b42", "scanner": "scanner-primary", "fingerprint": "a04c0c200e2ef0d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d9654d594bf2ecbb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/release.ts:81"}, "properties": {"repobilityId": "d5993dc8197daeac", "scanner": "scanner-primary", "fingerprint": "d9654d594bf2ecbb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-83f658a42f460443", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/scheduled-job.ts:260"}, "properties": {"repobilityId": "33ce97c16d1331a0", "scanner": "scanner-primary", "fingerprint": "83f658a42f460443", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa86aa33f0bb84ef", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/migrate-folder-canon.ts:57"}, "properties": {"repobilityId": "aca6c29a30ad3703", "scanner": "scanner-primary", "fingerprint": "aa86aa33f0bb84ef", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a955bf371f51f6d8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/webhook.ts:287"}, "properties": {"repobilityId": "3d86ee98cfae052a", "scanner": "scanner-primary", "fingerprint": "a955bf371f51f6d8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b27f15378ad0397b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/artifact.ts:208"}, "properties": {"repobilityId": "364002d6510e4542", "scanner": "scanner-primary", "fingerprint": "b27f15378ad0397b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3bf6ebabe8e13a55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/memory.ts:281"}, "properties": {"repobilityId": "93577ccc8d63eb1d", "scanner": "scanner-primary", "fingerprint": "3bf6ebabe8e13a55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3afab64555f757a5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/routine.ts:319"}, "properties": {"repobilityId": "f48d3a463acf4100", "scanner": "scanner-primary", "fingerprint": "3afab64555f757a5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fdb19b21cafb70d8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/thread/get.ts:64"}, "properties": {"repobilityId": "cbf5e6b053434b55", "scanner": "scanner-primary", "fingerprint": "fdb19b21cafb70d8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e05fb283599bb9a6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/thread/create.ts:103"}, "properties": {"repobilityId": "d943bb41295de0d2", "scanner": "scanner-primary", "fingerprint": "e05fb283599bb9a6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44d15d371662cb38", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/thread/checkout.ts:34"}, "properties": {"repobilityId": "fb777b800af5a25a", "scanner": "scanner-primary", "fingerprint": "44d15d371662cb38", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da96bc16f9345208", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/enterprise/deploy.ts:654"}, "properties": {"repobilityId": "d491e21e8a0c75b4", "scanner": "scanner-primary", "fingerprint": "da96bc16f9345208", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c471cfb8743c84f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/enterprise/destroy.ts:165"}, "properties": {"repobilityId": "37be7dd6344ae4f4", "scanner": "scanner-primary", "fingerprint": "2c471cfb8743c84f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d7e520ab9837cd51", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/enterprise/bootstrap.ts:486"}, "properties": {"repobilityId": "2fc90e51dcd1af93", "scanner": "scanner-primary", "fingerprint": "d7e520ab9837cd51", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a63cf71af645cedf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/wiki/status.ts:200"}, "properties": {"repobilityId": "e9298f8f56b7a29e", "scanner": "scanner-primary", "fingerprint": "a63cf71af645cedf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b7134d31181caa4b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/wiki/compile.ts:135"}, "properties": {"repobilityId": "9d1bef10b2baa6e8", "scanner": "scanner-primary", "fingerprint": "b7134d31181caa4b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d461b7e4ab6aa895", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/wiki/rebuild.ts:88"}, "properties": {"repobilityId": "07d8a6a43b408dcf", "scanner": "scanner-primary", "fingerprint": "d461b7e4ab6aa895", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bbbb811f56ea5142", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/eval/get.ts:61"}, "properties": {"repobilityId": "a6f63e58423c66c7", "scanner": "scanner-primary", "fingerprint": "bbbb811f56ea5142", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48bda3ef6a239e95", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/eval/test-case/get.ts:35"}, "properties": {"repobilityId": "1676a96e9067b0f7", "scanner": "scanner-primary", "fingerprint": "48bda3ef6a239e95", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b96c5c7f8533d71e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/commands/inbox/get.ts:58"}, "properties": {"repobilityId": "d245d3f377809aab", "scanner": "scanner-primary", "fingerprint": "b96c5c7f8533d71e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d9132b623bc66af", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/interactive.ts:52"}, "properties": {"repobilityId": "29e44a1ec9a90967", "scanner": "scanner-primary", "fingerprint": "0d9132b623bc66af", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-06ba71c4bd72554b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/output.ts:41"}, "properties": {"repobilityId": "68b6ba2907670269", "scanner": "scanner-primary", "fingerprint": "06ba71c4bd72554b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7f3ecd5220f9b021", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/resolve-stage.ts:74"}, "properties": {"repobilityId": "e5875bc1f0d967dc", "scanner": "scanner-primary", "fingerprint": "7f3ecd5220f9b021", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e1704215d8d7f630", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/resolve-tenant.ts:78"}, "properties": {"repobilityId": "d39504505d50d22d", "scanner": "scanner-primary", "fingerprint": "e1704215d8d7f630", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8759d443ee1a5c3e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/cli/src/lib/resolve-identifier.ts:69"}, "properties": {"repobilityId": "e349af02fc7b603c", "scanner": "scanner-primary", "fingerprint": "8759d443ee1a5c3e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a922581fb4537ef8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/components/threads/ActivityTimeline.tsx:966"}, "properties": {"repobilityId": "984527294ca3846b", "scanner": "scanner-primary", "fingerprint": "a922581fb4537ef8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3d8fd03ce2dfe3ca", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/components/chat/ChatBubble.tsx:200"}, "properties": {"repobilityId": "c5c1f95259e914cc", "scanner": "scanner-primary", "fingerprint": "3d8fd03ce2dfe3ca", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3f2604eabfd3b672", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/components/chat/ChatInput.tsx:76"}, "properties": {"repobilityId": "78d0efc7bbdef9a2", "scanner": "scanner-primary", "fingerprint": "3f2604eabfd3b672", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9430b64747913b3c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/components/agents/agent-detail.tsx:274"}, "properties": {"repobilityId": "3ab037b60535d9f1", "scanner": "scanner-primary", "fingerprint": "9430b64747913b3c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f988d65820435c04", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/demo.tsx:197"}, "properties": {"repobilityId": "cf8e54e9157f9b1f", "scanner": "scanner-primary", "fingerprint": "f988d65820435c04", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-eb3c4631de0d2662", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/verify.tsx:59"}, "properties": {"repobilityId": "53ca1be8be078622", "scanner": "scanner-primary", "fingerprint": "eb3c4631de0d2662", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-5f59b422ae83894a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/usage.tsx:12"}, "properties": {"repobilityId": "aac8370a1b3e2131", "scanner": "scanner-primary", "fingerprint": "5f59b422ae83894a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a9685cdb37488a0d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/account.tsx:30"}, "properties": {"repobilityId": "b1c674d996cd6c7d", "scanner": "scanner-primary", "fingerprint": "a9685cdb37488a0d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-99c00a1e253e2b05", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/profile.tsx:59"}, "properties": {"repobilityId": "a42155c00a072dad", "scanner": "scanner-primary", "fingerprint": "99c00a1e253e2b05", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2998e90cb43e0577", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/basic-credential.tsx:14"}, "properties": {"repobilityId": "2f45dfbdd3949fa9", "scanner": "scanner-primary", "fingerprint": "2998e90cb43e0577", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-adc9630ab3e0e1e1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/integration-detail.tsx:27"}, "properties": {"repobilityId": "ce1910b5425e2f35", "scanner": "scanner-primary", "fingerprint": "adc9630ab3e0e1e1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-d96166a7fc0b8eb7", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/settings/basic-credential/[id].tsx:18"}, "properties": {"repobilityId": "295e7ee0dd47a9bb", "scanner": "scanner-primary", "fingerprint": "d96166a7fc0b8eb7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c3f0b09b0c7d865a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/fleet/[id]/audit.tsx:8"}, "properties": {"repobilityId": "f2968a0119d17be7", "scanner": "scanner-primary", "fingerprint": "c3f0b09b0c7d865a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-6aa2fc9422f9e188", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/fleet/[id]/inbox.tsx:9"}, "properties": {"repobilityId": "b265957550e8bb92", "scanner": "scanner-primary", "fingerprint": "6aa2fc9422f9e188", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-07cfeb92fd61d6f2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/thread/[threadId]/index.tsx:857"}, "properties": {"repobilityId": "bf36a39e88295056", "scanner": "scanner-primary", "fingerprint": "07cfeb92fd61d6f2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-224f2fc1ec11cd0d", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/index.tsx:28"}, "properties": {"repobilityId": "e00cf4244c76d4c6", "scanner": "scanner-primary", "fingerprint": "224f2fc1ec11cd0d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f0c77e267b6c197e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/[id]/conversation.tsx:69"}, "properties": {"repobilityId": "4e24453cde7ca720", "scanner": "scanner-primary", "fingerprint": "f0c77e267b6c197e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-67e3a8c8b8a61888", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/[id]/index.tsx:141"}, "properties": {"repobilityId": "dd6e440f16171329", "scanner": "scanner-primary", "fingerprint": "67e3a8c8b8a61888", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9ae72944d54b3426", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/threads/[id]/documents.tsx:8"}, "properties": {"repobilityId": "ea51564d2ce9d61e", "scanner": "scanner-primary", "fingerprint": "9ae72944d54b3426", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-aa50435d90efcdc1", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/invite/[token].tsx:27"}, "properties": {"repobilityId": "6c9f193d6f713797", "scanner": "scanner-primary", "fingerprint": "aa50435d90efcdc1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f69ec1d131d17f97", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/invite/[token].tsx:30"}, "properties": {"repobilityId": "d533fc8f5b4d151e", "scanner": "scanner-primary", "fingerprint": "f69ec1d131d17f97", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8be62b2c30d39a4b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/builder.tsx:123"}, "properties": {"repobilityId": "861502987a44f027", "scanner": "scanner-primary", "fingerprint": "8be62b2c30d39a4b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-53c782cfdee17f03", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/routines/builder.tsx:89"}, "properties": {"repobilityId": "14e4063ec51911fe", "scanner": "scanner-primary", "fingerprint": "53c782cfdee17f03", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-35395c3654c0e0c9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/builder-chat.tsx:77"}, "properties": {"repobilityId": "1aad3a6ebf3abf70", "scanner": "scanner-primary", "fingerprint": "35395c3654c0e0c9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0201db56c1793e56", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/new.tsx:36"}, "properties": {"repobilityId": "8206df62d23589a9", "scanner": "scanner-primary", "fingerprint": "0201db56c1793e56", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-29fdd35f77d1eeb6", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/edit.tsx:54"}, "properties": {"repobilityId": "d00258b82b23d788", "scanner": "scanner-primary", "fingerprint": "29fdd35f77d1eeb6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7f8ed648f0bcf887", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/index.tsx:370"}, "properties": {"repobilityId": "ab33860c7b998b06", "scanner": "scanner-primary", "fingerprint": "7f8ed648f0bcf887", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-427c4b0194189661", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/triggers/add-schedule.tsx:473"}, "properties": {"repobilityId": "6a834a10e4e43b1b", "scanner": "scanner-primary", "fingerprint": "427c4b0194189661", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-410f88aedd53a319", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/triggers/index.tsx:113"}, "properties": {"repobilityId": "991f6731224dbd36", "scanner": "scanner-primary", "fingerprint": "410f88aedd53a319", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-352d6a40e91cb8d9", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/routines/[id]/triggers/[triggerId].tsx:95"}, "properties": {"repobilityId": "36080d5c56a74796", "scanner": "scanner-primary", "fingerprint": "352d6a40e91cb8d9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a8dbf86217edf5be", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/usage.tsx:91"}, "properties": {"repobilityId": "7ddec70dd0a25c38", "scanner": "scanner-primary", "fingerprint": "a8dbf86217edf5be", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e4e1c61ed6ea228a", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/model.tsx:28"}, "properties": {"repobilityId": "37131769a4c6acc7", "scanner": "scanner-primary", "fingerprint": "e4e1c61ed6ea228a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4d0fba93d16ea340", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/file-view.tsx:6"}, "properties": {"repobilityId": "3b0db866ccd259ed", "scanner": "scanner-primary", "fingerprint": "4d0fba93d16ea340", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-7d04550bb7130050", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/files.tsx:140"}, "properties": {"repobilityId": "492862d1a9701c8c", "scanner": "scanner-primary", "fingerprint": "7d04550bb7130050", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c9e4c763f5ff99a0", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/index.tsx:21"}, "properties": {"repobilityId": "a6ec2c9d45fa9f8f", "scanner": "scanner-primary", "fingerprint": "c9e4c763f5ff99a0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a0c62e68111f1084", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/agents/[id]/budget.tsx:8"}, "properties": {"repobilityId": "eb9cf03a2389281b", "scanner": "scanner-primary", "fingerprint": "a0c62e68111f1084", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4c04e2ac72b211cd", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/onboarding/complete.tsx:130"}, "properties": {"repobilityId": "832210e7471e22ad", "scanner": "scanner-primary", "fingerprint": "4c04e2ac72b211cd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-f4b9b7540c750a47", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/onboarding/verify-code.tsx:122"}, "properties": {"repobilityId": "6354aa2b15d1ef4e", "scanner": "scanner-primary", "fingerprint": "f4b9b7540c750a47", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-34543d05a95aba43", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/onboarding/verify-code.tsx:124"}, "properties": {"repobilityId": "e9a265515b169767", "scanner": "scanner-primary", "fingerprint": "34543d05a95aba43", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4e81d3aeaf50cfdc", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/skills/[skillId].tsx:42"}, "properties": {"repobilityId": "646ac15b25492f44", "scanner": "scanner-primary", "fingerprint": "4e81d3aeaf50cfdc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2d0746a6e1acfa17", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/skills/configure.tsx:38"}, "properties": {"repobilityId": "fe9157806965f6d6", "scanner": "scanner-primary", "fingerprint": "2d0746a6e1acfa17", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-043b90e0d9c663e8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/app/(tabs)/index.tsx:735"}, "properties": {"repobilityId": "579e8298bbabb6eb", "scanner": "scanner-primary", "fingerprint": "043b90e0d9c663e8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a3c29cee8a42e278", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/(tabs)/fleet.tsx:21"}, "properties": {"repobilityId": "b13e1eebdf706467", "scanner": "scanner-primary", "fingerprint": "a3c29cee8a42e278", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-bfea09fc68547e9f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/(tabs)/activity/index.tsx:161"}, "properties": {"repobilityId": "5642ebfe2de0a85c", "scanner": "scanner-primary", "fingerprint": "bfea09fc68547e9f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-9e2d9ee54750b867", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/mobile/app/(tabs)/skills/index.tsx:34"}, "properties": {"repobilityId": "c979c792c08f25b9", "scanner": "scanner-primary", "fingerprint": "9e2d9ee54750b867", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e1b9f667b1db86e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/auth-context.tsx:139"}, "properties": {"repobilityId": "7d34d16a298b9a47", "scanner": "scanner-primary", "fingerprint": "e1b9f667b1db86e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-66fc790057c2ccbf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/auth.ts:303"}, "properties": {"repobilityId": "00a7d2c7bd1a8c48", "scanner": "scanner-primary", "fingerprint": "66fc790057c2ccbf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-70e9bf67ca74a23a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/cognito-storage.ts:31"}, "properties": {"repobilityId": "12fde1f9a5585e25", "scanner": "scanner-primary", "fingerprint": "70e9bf67ca74a23a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cb31ef90471b4790", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/graphql/client.ts:102"}, "properties": {"repobilityId": "0f5a16875c3eae6c", "scanner": "scanner-primary", "fingerprint": "cb31ef90471b4790", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d500c647519326d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/lib/hooks/use-push-notifications.ts:41"}, "properties": {"repobilityId": "e3872d9749ddab5a", "scanner": "scanner-primary", "fingerprint": "1d500c647519326d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ecbbf9c0a76b4fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/hooks/useGatewayChat.ts:184"}, "properties": {"repobilityId": "d5911ae884cb5206", "scanner": "scanner-primary", "fingerprint": "2ecbbf9c0a76b4fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5c59e5e069b7cf59", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 apps/mobile/hooks/useGraphQLChat.ts:74"}, "properties": {"repobilityId": "72a33c17c14b32aa", "scanner": "scanner-primary", "fingerprint": "5c59e5e069b7cf59", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ac56f7b53c8e725c", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/web/src/iframe-shell/main.ts:441"}, "properties": {"repobilityId": "4b9c8d790b345460", "scanner": "scanner-primary", "fingerprint": "ac56f7b53c8e725c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-4b1a11a577088fb1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/DesktopApplicationHeader.tsx:209"}, "properties": {"repobilityId": "cead326c26bf8a37", "scanner": "scanner-primary", "fingerprint": "4b1a11a577088fb1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-cec91fe3e1950c73", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/SpacesSidebar.tsx:121"}, "properties": {"repobilityId": "41671b394154847b", "scanner": "scanner-primary", "fingerprint": "cec91fe3e1950c73", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4aa3283d3ac4f2ad", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/DesktopWindowHeader.tsx:4"}, "properties": {"repobilityId": "752c33a2686306e6", "scanner": "scanner-primary", "fingerprint": "4aa3283d3ac4f2ad", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-784f0eacc573a258", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/AppTopBar.tsx:107"}, "properties": {"repobilityId": "0ac296feb97d4374", "scanner": "scanner-primary", "fingerprint": "784f0eacc573a258", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-457452c28ac2be98", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsMcpServers.tsx:121"}, "properties": {"repobilityId": "058d1c39cd6df11a", "scanner": "scanner-primary", "fingerprint": "457452c28ac2be98", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b97e70bbee0be1da", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalTestCaseDetail.tsx:113"}, "properties": {"repobilityId": "8a340933f089918c", "scanner": "scanner-primary", "fingerprint": "b97e70bbee0be1da", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-63caf56ca1dbb5da", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsUserDetail.tsx:695"}, "properties": {"repobilityId": "15f8c458e3cef8bf", "scanner": "scanner-primary", "fingerprint": "63caf56ca1dbb5da", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d6fbe9dedfe33cbd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsRoutines.tsx:59"}, "properties": {"repobilityId": "37aab892d7a9682e", "scanner": "scanner-primary", "fingerprint": "d6fbe9dedfe33cbd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-46ca021c7942ad3d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalRunDetail.tsx:884"}, "properties": {"repobilityId": "d2af72073736b922", "scanner": "scanner-primary", "fingerprint": "46ca021c7942ad3d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c5f4912bb6ba301f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsHeaderBar.tsx:78"}, "properties": {"repobilityId": "52ddd49d0634da7f", "scanner": "scanner-primary", "fingerprint": "c5f4912bb6ba301f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-cadc62f3528d02e9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSkills.tsx:217"}, "properties": {"repobilityId": "4065a88bbfd5cd9d", "scanner": "scanner-primary", "fingerprint": "cadc62f3528d02e9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-095ac42dfea6e5e3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsGeneral.tsx:974"}, "properties": {"repobilityId": "76fc3a498b21036f", "scanner": "scanner-primary", "fingerprint": "095ac42dfea6e5e3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b74c771bfa39928e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalReplayTools.tsx:339"}, "properties": {"repobilityId": "1a1f0e7ce560a823", "scanner": "scanner-primary", "fingerprint": "b74c771bfa39928e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-6453e593ede7f771", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsKnowledgeBases.tsx:71"}, "properties": {"repobilityId": "7e93879a76cfb6ce", "scanner": "scanner-primary", "fingerprint": "6453e593ede7f771", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9bb22fb42e53be98", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsAgents.tsx:614"}, "properties": {"repobilityId": "7a3e5f8b4bd19dcc", "scanner": "scanner-primary", "fingerprint": "9bb22fb42e53be98", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9e6055a51343ca2f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalStudio.tsx:108"}, "properties": {"repobilityId": "b2b1186a788c958e", "scanner": "scanner-primary", "fingerprint": "9e6055a51343ca2f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-73ac212fc616d448", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsKnowledgeBaseDetail.tsx:374"}, "properties": {"repobilityId": "2dc0f95db8f004b0", "scanner": "scanner-primary", "fingerprint": "73ac212fc616d448", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-afc6cd2ad6ff7c0c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalDatasetDetail.tsx:164"}, "properties": {"repobilityId": "debdf22d7376c860", "scanner": "scanner-primary", "fingerprint": "afc6cd2ad6ff7c0c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-09491227288140a0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsEvalDatasets.tsx:196"}, "properties": {"repobilityId": "ab75afcc05ecdf9c", "scanner": "scanner-primary", "fingerprint": "09491227288140a0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1ede2138d09528c3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsActivityExecutionTrace.tsx:164"}, "properties": {"repobilityId": "ce438b82509f45a4", "scanner": "scanner-primary", "fingerprint": "1ede2138d09528c3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0237ef87ea7ee29c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsAnalytics.tsx:285"}, "properties": {"repobilityId": "400fa16f1804507c", "scanner": "scanner-primary", "fingerprint": "0237ef87ea7ee29c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-179ed5e40bcaf157", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsActivityThreadDetail.tsx:464"}, "properties": {"repobilityId": "a979ec9ee593dacd", "scanner": "scanner-primary", "fingerprint": "179ed5e40bcaf157", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-35e76ed49164865b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsMcpServerDetail.tsx:320"}, "properties": {"repobilityId": "d6d09af6bd781543", "scanner": "scanner-primary", "fingerprint": "35e76ed49164865b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b3cd5da659e1c265", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsWiki.tsx:133"}, "properties": {"repobilityId": "7f90f6a78b2b6672", "scanner": "scanner-primary", "fingerprint": "b3cd5da659e1c265", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-afe32a8de8105562", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsWebhookDetail.tsx:331"}, "properties": {"repobilityId": "c8f113c42f7cbce5", "scanner": "scanner-primary", "fingerprint": "afe32a8de8105562", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-937b540ca7e3b487", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsMemory.tsx:188"}, "properties": {"repobilityId": "d5b20e681a857e1a", "scanner": "scanner-primary", "fingerprint": "937b540ca7e3b487", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7673e3bebab707a6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsActivity.tsx:346"}, "properties": {"repobilityId": "1255a18ae258c318", "scanner": "scanner-primary", "fingerprint": "7673e3bebab707a6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ec241a87635f09ae", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSpaces.tsx:82"}, "properties": {"repobilityId": "2c463a8765b79d45", "scanner": "scanner-primary", "fingerprint": "ec241a87635f09ae", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b5599b31243137fc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsAutomations.tsx:243"}, "properties": {"repobilityId": "c08987623ef214d6", "scanner": "scanner-primary", "fingerprint": "b5599b31243137fc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8882c08daf187331", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/UserModelsSection.tsx:157"}, "properties": {"repobilityId": "209fd376dd4a4c03", "scanner": "scanner-primary", "fingerprint": "8882c08daf187331", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-126f66aae496fb62", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSpaceConfig.tsx:429"}, "properties": {"repobilityId": "01b63885973fae7a", "scanner": "scanner-primary", "fingerprint": "126f66aae496fb62", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4cf0f8b5dde49210", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/SettingsSidebar.tsx:99"}, "properties": {"repobilityId": "50ba272b3f7ae77b", "scanner": "scanner-primary", "fingerprint": "4cf0f8b5dde49210", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3ea39f0e2480a70f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/knowledge-graph/KnowledgeGraphIngestControls.tsx:37"}, "properties": {"repobilityId": "aa4461bc077ad7b7", "scanner": "scanner-primary", "fingerprint": "3ea39f0e2480a70f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1e787890586454be", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/knowledge-graph/KnowledgeGraphEntitySheet.tsx:54"}, "properties": {"repobilityId": "a68ca8bc11dac580", "scanner": "scanner-primary", "fingerprint": "1e787890586454be", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d5a13b176e19f6aa", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/knowledge-graph/KnowledgeGraphExplorer.tsx:204"}, "properties": {"repobilityId": "8824e474d5b5db85", "scanner": "scanner-primary", "fingerprint": "d5a13b176e19f6aa", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d25a1c67eb408378", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/managed-applications/ManagedApplicationJobTimeline.tsx:34"}, "properties": {"repobilityId": "781fab172fb16d22", "scanner": "scanner-primary", "fingerprint": "d25a1c67eb408378", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e3857a526c70c34f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/brain/BrainOperationsPage.tsx:625"}, "properties": {"repobilityId": "0bcbff9e58a210ce", "scanner": "scanner-primary", "fingerprint": "e3857a526c70c34f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-99d0df4d133d6b5f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/plugins/PluginsPage.tsx:214"}, "properties": {"repobilityId": "2eded0ca6f797491", "scanner": "scanner-primary", "fingerprint": "99d0df4d133d6b5f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3ca8c2b77c1d85f6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/plugins/UninstallPluginDialog.tsx:91"}, "properties": {"repobilityId": "74e3304992a1e677", "scanner": "scanner-primary", "fingerprint": "3ca8c2b77c1d85f6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0f0f0ddbc580f3aa", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/settings/plugins/PluginDetail.tsx:428"}, "properties": {"repobilityId": "d36b0cfbadba988f", "scanner": "scanner-primary", "fingerprint": "0f0f0ddbc580f3aa", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-04a996d41ec363c3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/OnboardingChecklistPanel.tsx:173"}, "properties": {"repobilityId": "6dfe580bd32b0030", "scanner": "scanner-primary", "fingerprint": "04a996d41ec363c3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-eab6c929fc0611ab", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/MentionMenu.tsx:161"}, "properties": {"repobilityId": "63a09647cc4796f4", "scanner": "scanner-primary", "fingerprint": "eab6c929fc0611ab", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a8278a018999427c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/ThreadConversation.tsx:247"}, "properties": {"repobilityId": "6f4425a325197e60", "scanner": "scanner-primary", "fingerprint": "a8278a018999427c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4d73e33cdf25c548", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/SpaceThreadList.tsx:97"}, "properties": {"repobilityId": "a872385c95ac535b", "scanner": "scanner-primary", "fingerprint": "4d73e33cdf25c548", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f81d1c49b6fa3baa", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/spaces/SkillMenu.tsx:96"}, "properties": {"repobilityId": "97f38b05be3ad52b", "scanner": "scanner-primary", "fingerprint": "f81d1c49b6fa3baa", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c0bf045877a4a61b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/apps/DraftAppletPreview.tsx:139"}, "properties": {"repobilityId": "c3297a424d3cb538", "scanner": "scanner-primary", "fingerprint": "c0bf045877a4a61b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-44d89914686410df", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/apps/GeneratedAppArtifactShell.tsx:54"}, "properties": {"repobilityId": "d595a6dbf5a54a44", "scanner": "scanner-primary", "fingerprint": "44d89914686410df", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-18e395d4cffefee4", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/apps/AppPreviewCard.tsx:53"}, "properties": {"repobilityId": "f8e9e8f9e7ae8097", "scanner": "scanner-primary", "fingerprint": "18e395d4cffefee4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9d941f882d37e2bc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineDefinitionPanel.tsx:246"}, "properties": {"repobilityId": "620dd6c6a3cb19e4", "scanner": "scanner-primary", "fingerprint": "9d941f882d37e2bc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c3a195dd79dd9822", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/StepDetailPanel.tsx:386"}, "properties": {"repobilityId": "454cd3c4c52eb6e3", "scanner": "scanner-primary", "fingerprint": "c3a195dd79dd9822", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8b8b0f53f8ea32a8", "level": "note", "message": {"text": "React Flow <Controls> without dark theming \u2014 apps/web/src/components/routines/RoutineFlowCanvas.tsx:136"}, "properties": {"repobilityId": "abb9f925598b2dec", "scanner": "scanner-primary", "fingerprint": "8b8b0f53f8ea32a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.controls.no-bg"]}}, {"ruleId": "scanner-eb61dd1aafcc501b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineFlowInspector.tsx:83"}, "properties": {"repobilityId": "e9d1f1438fb3995f", "scanner": "scanner-primary", "fingerprint": "eb61dd1aafcc501b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5fe504b76fef2448", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineAddStepCommand.tsx:50"}, "properties": {"repobilityId": "95a3ae3968371ed7", "scanner": "scanner-primary", "fingerprint": "5fe504b76fef2448", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-37f2bfe94ccacba4", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineStepConfigEditor.tsx:152"}, "properties": {"repobilityId": "01861663646311b0", "scanner": "scanner-primary", "fingerprint": "37f2bfe94ccacba4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-688f8d92c885b795", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/routines/RoutineFlowNode.tsx:69"}, "properties": {"repobilityId": "9f14e1b1d5a2c6db", "scanner": "scanner-primary", "fingerprint": "688f8d92c885b795", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3a3013a403c10da7", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/TaskThreadView.tsx:1174"}, "properties": {"repobilityId": "f5a2842c3405b908", "scanner": "scanner-primary", "fingerprint": "3a3013a403c10da7", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3dde29e673f37565", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/ProjectedWorkspacePanel.tsx:175"}, "properties": {"repobilityId": "2fe8ffd17d5298c8", "scanner": "scanner-primary", "fingerprint": "3dde29e673f37565", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-597a4b76ac218b9c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/StarterCardGrid.tsx:102"}, "properties": {"repobilityId": "306432d3c0e3adeb", "scanner": "scanner-primary", "fingerprint": "597a4b76ac218b9c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-aa1d63476e5428a2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/render-typed-part.tsx:312"}, "properties": {"repobilityId": "f23904117f6e72f7", "scanner": "scanner-primary", "fingerprint": "aa1d63476e5428a2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-aa7c667f40cf44fc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/GeneratedArtifactCard.tsx:34"}, "properties": {"repobilityId": "51355edb1d48e1f7", "scanner": "scanner-primary", "fingerprint": "aa7c667f40cf44fc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5e25f98af10e1d6e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/TaskDashboard.tsx:172"}, "properties": {"repobilityId": "604e364e3f375c0e", "scanner": "scanner-primary", "fingerprint": "5e25f98af10e1d6e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-542bc95ef046d496", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/workbench/ComposerModelPicker.tsx:63"}, "properties": {"repobilityId": "3c1fecf34883bfb1", "scanner": "scanner-primary", "fingerprint": "542bc95ef046d496", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b53d38493d913817", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/approvals/ApprovalQueue.tsx:49"}, "properties": {"repobilityId": "901574e32414e72e", "scanner": "scanner-primary", "fingerprint": "b53d38493d913817", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e16811c2528f1bb8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/memory/MemoryDetailSheet.tsx:167"}, "properties": {"repobilityId": "94906f3e29e314fb", "scanner": "scanner-primary", "fingerprint": "e16811c2528f1bb8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a58b9b406ad1877f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/memory/MemoryGraphNodeSheet.tsx:131"}, "properties": {"repobilityId": "5eef1959c40f2b66", "scanner": "scanner-primary", "fingerprint": "a58b9b406ad1877f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-433d4e4126665352", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/memory/WikiPageDetailSheet.tsx:76"}, "properties": {"repobilityId": "68ab90edc8497585", "scanner": "scanner-primary", "fingerprint": "433d4e4126665352", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-889c0cf5200445ba", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/shell/GlobalInboxSection.tsx:75"}, "properties": {"repobilityId": "d13b5be7ce6392ac", "scanner": "scanner-primary", "fingerprint": "889c0cf5200445ba", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c32b76fa2c382cb5", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/shell/ChatSidebar.tsx:1030"}, "properties": {"repobilityId": "fecb489ca7801904", "scanner": "scanner-primary", "fingerprint": "c32b76fa2c382cb5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bdd013b83e84e55f", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 apps/web/src/components/ai-elements/code-block.tsx:114"}, "properties": {"repobilityId": "36811d39395706e4", "scanner": "scanner-primary", "fingerprint": "bdd013b83e84e55f", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-94c753d2c49a0c2f", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/ai-elements/prompt-input.tsx:345"}, "properties": {"repobilityId": "91c7e1abc293060e", "scanner": "scanner-primary", "fingerprint": "94c753d2c49a0c2f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-edbb3a5a29888566", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/artifacts/ArtifactsTable.tsx:33"}, "properties": {"repobilityId": "732e187e4f2c5f5b", "scanner": "scanner-primary", "fingerprint": "edbb3a5a29888566", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-427c953e7dd0bb24", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/components/sidebar/FavoritesSection.tsx:150"}, "properties": {"repobilityId": "2ba8981442bd86f5", "scanner": "scanner-primary", "fingerprint": "427c953e7dd0bb24", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-728cf31222adc506", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 apps/web/src/lib/api-fetch.ts:73"}, "properties": {"repobilityId": "443be72de65d3bc3", "scanner": "scanner-primary", "fingerprint": "728cf31222adc506", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-a4b82a88a8af3679", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/sign-in.tsx:218"}, "properties": {"repobilityId": "cf3fa35df4e9d0a7", "scanner": "scanner-primary", "fingerprint": "a4b82a88a8af3679", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8966809c7918df02", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/deployment-profile.tsx:67"}, "properties": {"repobilityId": "6c7dd4c86e9dbda0", "scanner": "scanner-primary", "fingerprint": "8966809c7918df02", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c002edfe97bf76cd", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/onboarding/welcome.tsx:810"}, "properties": {"repobilityId": "a58ac87ddf2b7107", "scanner": "scanner-primary", "fingerprint": "c002edfe97bf76cd", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b434c17c788890d4", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.kbs.tsx:115"}, "properties": {"repobilityId": "22eea895be25a90b", "scanner": "scanner-primary", "fingerprint": "b434c17c788890d4", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bd7d619e2600a0c3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/threads.index.tsx:80"}, "properties": {"repobilityId": "dc09d05840a13c15", "scanner": "scanner-primary", "fingerprint": "bd7d619e2600a0c3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-002bc89eea03ff95", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.brain.tsx:218"}, "properties": {"repobilityId": "b79f853790168959", "scanner": "scanner-primary", "fingerprint": "002bc89eea03ff95", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-171046449018f66e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/spaces.$spaceId.tsx:175"}, "properties": {"repobilityId": "9d50659ecb68b682", "scanner": "scanner-primary", "fingerprint": "171046449018f66e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e0787b721fdbb755", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.pages.tsx:202"}, "properties": {"repobilityId": "950ce81b57a1bf53", "scanner": "scanner-primary", "fingerprint": "e0787b721fdbb755", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-159c55e874701520", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/memory.kbs.$kbId.tsx:218"}, "properties": {"repobilityId": "47bc0abb90ff7235", "scanner": "scanner-primary", "fingerprint": "159c55e874701520", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8d709aeee37da881", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 apps/web/src/routes/_authed/_shell/automations.index.tsx:65"}, "properties": {"repobilityId": "f30e4e750bb69bf6", "scanner": "scanner-primary", "fingerprint": "8d709aeee37da881", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-348518e29d73a000", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/verify-thread-traces.ts:187"}, "properties": {"repobilityId": "0c93fc13a5faec58", "scanner": "scanner-primary", "fingerprint": "348518e29d73a000", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e79e73249a348f91", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-customer-onboarding-space.ts:86"}, "properties": {"repobilityId": "3c0f4f84fafed0ac", "scanner": "scanner-primary", "fingerprint": "e79e73249a348f91", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b8c4b01c3af96db2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-crm-pipeline-risk-applet.ts:75"}, "properties": {"repobilityId": "881276fac662c396", "scanner": "scanner-primary", "fingerprint": "b8c4b01c3af96db2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-687c036be38b44bd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/cloudflare-sync-mcp.ts:76"}, "properties": {"repobilityId": "daf3d97efe57e4d4", "scanner": "scanner-primary", "fingerprint": "687c036be38b44bd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2bcb3406ff8be6fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/backfill-artifact-payloads-to-s3.ts:40"}, "properties": {"repobilityId": "c1264782ff062f6f", "scanner": "scanner-primary", "fingerprint": "2bcb3406ff8be6fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4cbec3d24c2919f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/integration/phase2-smoke.ts:53"}, "properties": {"repobilityId": "21ea25637d765676", "scanner": "scanner-primary", "fingerprint": "4cbec3d24c2919f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-69b487ca3314ec85", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release/build-release-manifest.ts:688"}, "properties": {"repobilityId": "477878faf709f53a", "scanner": "scanner-primary", "fingerprint": "69b487ca3314ec85", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0b10ebda09a1a94c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/release/verify-release-manifest.ts:114"}, "properties": {"repobilityId": "b0aaaf039594be14", "scanner": "scanner-primary", "fingerprint": "0b10ebda09a1a94c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-36d8fd1dda4541a8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/github-app-webhook.ts:130"}, "properties": {"repobilityId": "8a18f5eec732cb5d", "scanner": "scanner-primary", "fingerprint": "36d8fd1dda4541a8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-26508d252c6be044", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/workspace-files.ts:912"}, "properties": {"repobilityId": "2ab7898471e243d7", "scanner": "scanner-primary", "fingerprint": "26508d252c6be044", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-bd2fbb271e510f9b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/workspace-files.ts:1007"}, "properties": {"repobilityId": "bc7d6bc555717530", "scanner": "scanner-primary", "fingerprint": "bd2fbb271e510f9b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-da5aaa5b74aaf405", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/agentcore-invoke.ts:89"}, "properties": {"repobilityId": "87f06993bdfe74c1", "scanner": "scanner-primary", "fingerprint": "da5aaa5b74aaf405", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-280d3f39bfb26f20", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/knowledge-base-manager.ts:96"}, "properties": {"repobilityId": "5052e574a9cb4649", "scanner": "scanner-primary", "fingerprint": "280d3f39bfb26f20", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e132d5051dc0fd55", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-places-drift-snapshot.ts:273"}, "properties": {"repobilityId": "21cdf86dac63f405", "scanner": "scanner-primary", "fingerprint": "e132d5051dc0fd55", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4281963aebb0b865", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-rebuild-verify.ts:101"}, "properties": {"repobilityId": "2c7b5f46505aa5dc", "scanner": "scanner-primary", "fingerprint": "4281963aebb0b865", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-44802eb703a87bbb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/hindsight-bank-merge.ts:61"}, "properties": {"repobilityId": "3d41febdf29317da", "scanner": "scanner-primary", "fingerprint": "44802eb703a87bbb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5810948ea6a8d780", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/repair-agent-workspace-blueprint.ts:688"}, "properties": {"repobilityId": "e950c71b101f7f30", "scanner": "scanner-primary", "fingerprint": "5810948ea6a8d780", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-84b97983a0d22016", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/brain-write-audit.ts:16"}, "properties": {"repobilityId": "0df9a5568eeec0d9", "scanner": "scanner-primary", "fingerprint": "84b97983a0d22016", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe7c8309bb0b40cd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wipe-external-memory-stores.ts:116"}, "properties": {"repobilityId": "858b484b66dec31e", "scanner": "scanner-primary", "fingerprint": "fe7c8309bb0b40cd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7d0697a1b74e0fe2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/journal-import-resume.ts:75"}, "properties": {"repobilityId": "775ac75f1152e7cf", "scanner": "scanner-primary", "fingerprint": "7d0697a1b74e0fe2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04e07d137fa11ef1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/kb-promotion-audit.ts:3"}, "properties": {"repobilityId": "0f2e832bfdb0e298", "scanner": "scanner-primary", "fingerprint": "04e07d137fa11ef1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-395782d4958f1d95", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/bootstrap-user-context.ts:68"}, "properties": {"repobilityId": "6439e5fac1249fdf", "scanner": "scanner-primary", "fingerprint": "395782d4958f1d95", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6f21e8f6d3a008ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-places-audit.ts:147"}, "properties": {"repobilityId": "a8fc242e6d33cbeb", "scanner": "scanner-primary", "fingerprint": "6f21e8f6d3a008ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4aa1ca7e7db24d66", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-wipe-and-rebuild.ts:87"}, "properties": {"repobilityId": "5bcc3b68855a9e42", "scanner": "scanner-primary", "fingerprint": "4aa1ca7e7db24d66", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4cea16a3bfedb837", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-record-expander-probe.ts:58"}, "properties": {"repobilityId": "565c22956572b407", "scanner": "scanner-primary", "fingerprint": "4cea16a3bfedb837", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-929b72a0c04ccc85", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-parent-link-audit.ts:151"}, "properties": {"repobilityId": "3c33d81b4134c018", "scanner": "scanner-primary", "fingerprint": "929b72a0c04ccc85", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-82fccfa1d4030a21", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-places-refresh.ts:124"}, "properties": {"repobilityId": "5387626dac0a5732", "scanner": "scanner-primary", "fingerprint": "82fccfa1d4030a21", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f2d4d82e147366a4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/backfill-system-reviews-to-inbox.ts:39"}, "properties": {"repobilityId": "81f798a66b671647", "scanner": "scanner-primary", "fingerprint": "f2d4d82e147366a4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d31deb39a0131ea", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/backfill-materialize-workspaces.ts:68"}, "properties": {"repobilityId": "da22023e969a9743", "scanner": "scanner-primary", "fingerprint": "6d31deb39a0131ea", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c4984d74b6753f0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/eval-stall-probe.ts:660"}, "properties": {"repobilityId": "32ddaffcd1dcffe7", "scanner": "scanner-primary", "fingerprint": "c4984d74b6753f0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bb62c331ca6a29e5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/seed-tenant-entities-for-dogfood.ts:33"}, "properties": {"repobilityId": "95761462f1041119", "scanner": "scanner-primary", "fingerprint": "bb62c331ca6a29e5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c0bb2f63f34d70d6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-link-density-baseline.ts:72"}, "properties": {"repobilityId": "039010e13880800d", "scanner": "scanner-primary", "fingerprint": "c0bb2f63f34d70d6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc18ab45c4fae27b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/pi-runtime-capability-smoke.ts:688"}, "properties": {"repobilityId": "0b94d8cda27b2708", "scanner": "scanner-primary", "fingerprint": "dc18ab45c4fae27b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-efebb1ea9ac415a0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/scripts/wiki-link-backfill.ts:107"}, "properties": {"repobilityId": "1b209b565bf1a1e3", "scanner": "scanner-primary", "fingerprint": "efebb1ea9ac415a0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-30807b2bc1dabee5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__tests__/thread-cost-summary-e2e.skip.ts:41"}, "properties": {"repobilityId": "ddf7c6d35aefe1ee", "scanner": "scanner-primary", "fingerprint": "30807b2bc1dabee5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b3fa007a57ac0629", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__tests__/workflow-config-e2e.skip.ts:36"}, "properties": {"repobilityId": "3db5aabb72638f1b", "scanner": "scanner-primary", "fingerprint": "b3fa007a57ac0629", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e6bfc14b4d13498e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/pi-marco-smoke.ts:261"}, "properties": {"repobilityId": "1c61c2fdc9188f2b", "scanner": "scanner-primary", "fingerprint": "e6bfc14b4d13498e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c6254a1110614318", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/compliance-anchor-smoke.ts:86"}, "properties": {"repobilityId": "a6c61a28cc169823", "scanner": "scanner-primary", "fingerprint": "c6254a1110614318", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e869402dfefc1f7b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/compliance-export-runner-smoke.ts:60"}, "properties": {"repobilityId": "a375b1257a7719c6", "scanner": "scanner-primary", "fingerprint": "e869402dfefc1f7b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2b36fed32f650f93", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/__smoke__/fat-folder-smoke.ts:112"}, "properties": {"repobilityId": "2a42e3eea34548f4", "scanner": "scanner-primary", "fingerprint": "2b36fed32f650f93", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3e6cca72b5b11e48", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/workspace-layout-migration.ts:1218"}, "properties": {"repobilityId": "b1f2dc0542c0a1a8", "scanner": "scanner-primary", "fingerprint": "3e6cca72b5b11e48", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2250f1696e844b39", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/mcp-configs.ts:263"}, "properties": {"repobilityId": "5f7066edb17aa1a3", "scanner": "scanner-primary", "fingerprint": "2250f1696e844b39", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cb421282a05b5ba8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/workspace-map-generator.ts:820"}, "properties": {"repobilityId": "1dedd9ac5c402d59", "scanner": "scanner-primary", "fingerprint": "cb421282a05b5ba8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3508d46cfd630dd3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/oauth-token.ts:368"}, "properties": {"repobilityId": "29df6d7dbc9aed97", "scanner": "scanner-primary", "fingerprint": "3508d46cfd630dd3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-68e823726e563e0c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/mcp-server-update.ts:122"}, "properties": {"repobilityId": "43e7f50b2bbccb0b", "scanner": "scanner-primary", "fingerprint": "68e823726e563e0c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5f44f000dcbc3a7e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/oauth-client-credentials.ts:95"}, "properties": {"repobilityId": "ccc13d8c8670472c", "scanner": "scanner-primary", "fingerprint": "5f44f000dcbc3a7e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1e03238d48021bb0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/cost-recording.ts:230"}, "properties": {"repobilityId": "0fb8f1a4d3d34795", "scanner": "scanner-primary", "fingerprint": "1e03238d48021bb0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a85e022bd7a25409", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/agentcore-phase-log.ts:57"}, "properties": {"repobilityId": "6552c8a0367b5692", "scanner": "scanner-primary", "fingerprint": "a85e022bd7a25409", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-19798feb0e8c9a24", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/push-notifications.ts:102"}, "properties": {"repobilityId": "65a2c87a5f40b9a1", "scanner": "scanner-primary", "fingerprint": "19798feb0e8c9a24", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-456b217222b5e716", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/resolve-agent-runtime-config.ts:541"}, "properties": {"repobilityId": "3b35a30ba2a39508", "scanner": "scanner-primary", "fingerprint": "456b217222b5e716", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0f065355d5f02368", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/wakeup-defer.ts:68"}, "properties": {"repobilityId": "2fa14f56407f46be", "scanner": "scanner-primary", "fingerprint": "0f065355d5f02368", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8814730e543eacf8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/stripe-welcome-email.ts:133"}, "properties": {"repobilityId": "287cc8ae8575885c", "scanner": "scanner-primary", "fingerprint": "8814730e543eacf8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2c60377610b95332", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/stripe-credentials.ts:95"}, "properties": {"repobilityId": "9a43a719c226b429", "scanner": "scanner-primary", "fingerprint": "2c60377610b95332", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6811b8a71fb9d674", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/chat-finalize/process-finalize.ts:174"}, "properties": {"repobilityId": "d25b1f2e38aff774", "scanner": "scanner-primary", "fingerprint": "6811b8a71fb9d674", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-420518dee13974e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/chat-finalize/record-guardrail-block.ts:34"}, "properties": {"repobilityId": "77eb7107b4a13468", "scanner": "scanner-primary", "fingerprint": "420518dee13974e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9ed25662ecae8b07", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/chat-finalize/notify.ts:100"}, "properties": {"repobilityId": "bcedd45ae03356c6", "scanner": "scanner-primary", "fingerprint": "9ed25662ecae8b07", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-772320844aeb4ec3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/email/thread-reply.ts:218"}, "properties": {"repobilityId": "c485da0b7e3e16de", "scanner": "scanner-primary", "fingerprint": "772320844aeb4ec3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4146e0be99abd1e1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/orchestration/thread-release.ts:79"}, "properties": {"repobilityId": "de03905706c9ba9a", "scanner": "scanner-primary", "fingerprint": "4146e0be99abd1e1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe1baba36ab23fb6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/orchestration/process-materializer.ts:196"}, "properties": {"repobilityId": "bda62c61712e1691", "scanner": "scanner-primary", "fingerprint": "fe1baba36ab23fb6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cf784c499aabb662", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/routines/recipe-catalog.test.ts:225"}, "properties": {"repobilityId": "3d2066f4cf70975f", "scanner": "scanner-primary", "fingerprint": "cf784c499aabb662", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c93beeb5e34c3e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/routines/recipe-catalog.ts:1170"}, "properties": {"repobilityId": "f30fb4f6e2981adc", "scanner": "scanner-primary", "fingerprint": "7c93beeb5e34c3e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-07fe33d5d7662397", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/src/lib/routines/n8n/workflow-mapper.ts:560"}, "properties": {"repobilityId": "c046ebdc11df7171", "scanner": "scanner-primary", "fingerprint": "07fe33d5d7662397", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-2d67b4d3e0d9f2e6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/routines/n8n/workflow-mapper.ts:413"}, "properties": {"repobilityId": "52e6513f5571c40e", "scanner": "scanner-primary", "fingerprint": "2d67b4d3e0d9f2e6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a580fd63e40e4d0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/wiki/deterministic-linker.ts:339"}, "properties": {"repobilityId": "8ec0fb8b3c741151", "scanner": "scanner-primary", "fingerprint": "a580fd63e40e4d0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2fc88b0e956f1210", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/wiki/compiler.ts:2095"}, "properties": {"repobilityId": "4bc33a016a3c3e15", "scanner": "scanner-primary", "fingerprint": "2fc88b0e956f1210", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d3e292547ba044ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/memory/adapters/hindsight-adapter.ts:187"}, "properties": {"repobilityId": "7fc39d73bad0b6d9", "scanner": "scanner-primary", "fingerprint": "d3e292547ba044ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-65800cc43b9721c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/applets/source-policy.test.ts:111"}, "properties": {"repobilityId": "fbb6aed3718fda01", "scanner": "scanner-primary", "fingerprint": "65800cc43b9721c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d525e3197dce7910", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/slack/workspace-store.ts:72"}, "properties": {"repobilityId": "cbc08f4a7c53c1cf", "scanner": "scanner-primary", "fingerprint": "d525e3197dce7910", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-11f4aead67af6b98", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/slack/metrics.ts:32"}, "properties": {"repobilityId": "32ff30227072d02a", "scanner": "scanner-primary", "fingerprint": "11f4aead67af6b98", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a74ce3508e562ed2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/lib/plugins/activation.ts:870"}, "properties": {"repobilityId": "a57efb78013a36ae", "scanner": "scanner-primary", "fingerprint": "a74ce3508e562ed2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5841e6aa6dee439b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/utils.ts:395"}, "properties": {"repobilityId": "571c1c03620ddac6", "scanner": "scanner-primary", "fingerprint": "5841e6aa6dee439b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8daaaa13b9a92a14", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/routines/routine-credential-bindings.test.ts:74"}, "properties": {"repobilityId": "215395ac8f460c12", "scanner": "scanner-primary", "fingerprint": "8daaaa13b9a92a14", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dea311ab38d43f6f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/memory/mobileMemorySearch.query.ts:58"}, "properties": {"repobilityId": "cbee87dd9e5ab6ea", "scanner": "scanner-primary", "fingerprint": "dea311ab38d43f6f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d8ade07856c603e0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/memory/mobileWikiSearch.query.ts:60"}, "properties": {"repobilityId": "01a65c4699ccd325", "scanner": "scanner-primary", "fingerprint": "d8ade07856c603e0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3af7c96920aa7805", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/unregisterPushToken.mutation.ts:37"}, "properties": {"repobilityId": "1a509ffa6b66db81", "scanner": "scanner-primary", "fingerprint": "3af7c96920aa7805", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-acb2cc0622a2b50f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/bootstrapUser.mutation.ts:107"}, "properties": {"repobilityId": "15131002e9213965", "scanner": "scanner-primary", "fingerprint": "acb2cc0622a2b50f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-06d89e6da3f4acfb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/updateUserProfile.mutation.ts:186"}, "properties": {"repobilityId": "ae649ce771bff8b9", "scanner": "scanner-primary", "fingerprint": "06d89e6da3f4acfb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c84d75948196d92b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/graphql/resolvers/core/registerPushToken.mutation.ts:45"}, "properties": {"repobilityId": "3b3025c81d3ae12e", "scanner": "scanner-primary", "fingerprint": "c84d75948196d92b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-70d9217bb3a205ac", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/skill-runs-reconciler.ts:58"}, "properties": {"repobilityId": "01e8eaf93c7a01e3", "scanner": "scanner-primary", "fingerprint": "70d9217bb3a205ac", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-681062521dd6ca6c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wiki-export.ts:94"}, "properties": {"repobilityId": "c2a27dc8907f52c0", "scanner": "scanner-primary", "fingerprint": "681062521dd6ca6c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-85683e953f5e8ad3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/seed-workspace-defaults.ts:147"}, "properties": {"repobilityId": "9e7bac47afd9361d", "scanner": "scanner-primary", "fingerprint": "85683e953f5e8ad3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aa108c018405b0a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/memory-retain.ts:172"}, "properties": {"repobilityId": "fecb163a3e3e79d4", "scanner": "scanner-primary", "fingerprint": "aa108c018405b0a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-42a57ca7fd35200d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/migrate-existing-agents-to-overlay.ts:630"}, "properties": {"repobilityId": "1822a4eeafeea5f7", "scanner": "scanner-primary", "fingerprint": "42a57ca7fd35200d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-19714d8bec2ce51b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/migrate-agents-to-fat.ts:472"}, "properties": {"repobilityId": "05256170c957c8bc", "scanner": "scanner-primary", "fingerprint": "19714d8bec2ce51b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-64d266f8a5e1aa2b", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/src/handlers/recipe-refresh.ts:47"}, "properties": {"repobilityId": "c7fe30be1670d35f", "scanner": "scanner-primary", "fingerprint": "64d266f8a5e1aa2b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-0a7e8a7f4569d1ab", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/eval-runner.ts:343"}, "properties": {"repobilityId": "f975bfa57da42ad0", "scanner": "scanner-primary", "fingerprint": "0a7e8a7f4569d1ab", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2bed41c775afc1ad", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wiki-bootstrap-import.ts:61"}, "properties": {"repobilityId": "a7f1d2d9446fbe98", "scanner": "scanner-primary", "fingerprint": "2bed41c775afc1ad", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7122dbf709ec9484", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/mcp-approval.ts:157"}, "properties": {"repobilityId": "d913e0671532f060", "scanner": "scanner-primary", "fingerprint": "7122dbf709ec9484", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b5ff4b2a5b782b2e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-webhook.ts:130"}, "properties": {"repobilityId": "f8b125b0d5f449a9", "scanner": "scanner-primary", "fingerprint": "b5ff4b2a5b782b2e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1557c666bf3e1b59", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-checkout.ts:164"}, "properties": {"repobilityId": "233c58a2e7f7384e", "scanner": "scanner-primary", "fingerprint": "1557c666bf3e1b59", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-172f1b225a93b4c2", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/skills.ts:1075"}, "properties": {"repobilityId": "54b595fcf15a08aa", "scanner": "scanner-primary", "fingerprint": "172f1b225a93b4c2", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2f742cd0f3262370", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/routine-asl-validator.test.ts:195"}, "properties": {"repobilityId": "8ce8d32d4ea2a212", "scanner": "scanner-primary", "fingerprint": "2f742cd0f3262370", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d6c98cd04f20678f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/chat-agent-invoke.ts:558"}, "properties": {"repobilityId": "a08ee56681959af2", "scanner": "scanner-primary", "fingerprint": "d6c98cd04f20678f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-82333b613e01cc38", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/workspace-event-dispatcher.ts:89"}, "properties": {"repobilityId": "4e5d76a9a611f691", "scanner": "scanner-primary", "fingerprint": "82333b613e01cc38", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7cf4fe5c56277f64", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/mcp-approval-sweeper.ts:72"}, "properties": {"repobilityId": "67b47bf7458d88d3", "scanner": "scanner-primary", "fingerprint": "7cf4fe5c56277f64", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f355cf52f6781711", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/eval-worker.ts:783"}, "properties": {"repobilityId": "68c97b65508ad68c", "scanner": "scanner-primary", "fingerprint": "f355cf52f6781711", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3b5fb576dbb49e45", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/graphql-http.ts:81"}, "properties": {"repobilityId": "dde53ae6accbcf22", "scanner": "scanner-primary", "fingerprint": "3b5fb576dbb49e45", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-947f411b67cf9498", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-portal.ts:160"}, "properties": {"repobilityId": "756dbc41b57d4a02", "scanner": "scanner-primary", "fingerprint": "947f411b67cf9498", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b2f8e0e4b28e17a9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/eval-runs-reconciler.ts:210"}, "properties": {"repobilityId": "85c677ceed337a1d", "scanner": "scanner-primary", "fingerprint": "b2f8e0e4b28e17a9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-647b757dfbf34adb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/oauth-callback.ts:203"}, "properties": {"repobilityId": "8b18b548b6898920", "scanner": "scanner-primary", "fingerprint": "647b757dfbf34adb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-194aa95e1d79d9d9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/email-send.ts:332"}, "properties": {"repobilityId": "9275a0d579ca411c", "scanner": "scanner-primary", "fingerprint": "194aa95e1d79d9d9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-130822ba42dbd3d4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wakeup-processor.ts:521"}, "properties": {"repobilityId": "0828d43ae7659b4a", "scanner": "scanner-primary", "fingerprint": "130822ba42dbd3d4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3d8abf38691e8153", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/agent-actions.ts:248"}, "properties": {"repobilityId": "4998b6abba5e0e3d", "scanner": "scanner-primary", "fingerprint": "3d8abf38691e8153", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e47fd817a33a70fe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/backfill-user-md.ts:96"}, "properties": {"repobilityId": "1c4b8a92efcee869", "scanner": "scanner-primary", "fingerprint": "e47fd817a33a70fe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dfcb385ec4f6cbbe", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/bootstrap-workspaces.ts:122"}, "properties": {"repobilityId": "e1c278662414c583", "scanner": "scanner-primary", "fingerprint": "dfcb385ec4f6cbbe", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-02c3c247df75b33c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/webhook-deliveries-cleanup.ts:35"}, "properties": {"repobilityId": "b3f397aa21efccc6", "scanner": "scanner-primary", "fingerprint": "02c3c247df75b33c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2a39b37adbd33d74", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/email-inbound.ts:68"}, "properties": {"repobilityId": "4cb285044b8465b9", "scanner": "scanner-primary", "fingerprint": "2a39b37adbd33d74", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e5df9027ecbd8d32", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/oauth-authorize.ts:209"}, "properties": {"repobilityId": "2ec724d942b611f3", "scanner": "scanner-primary", "fingerprint": "e5df9027ecbd8d32", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c59284822824ab29", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/src/handlers/tenants.ts:70"}, "properties": {"repobilityId": "cdbbafed83c46839", "scanner": "scanner-primary", "fingerprint": "c59284822824ab29", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-1c7ad1507bcc01e3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/backfill-router-skills-to-agents-md.ts:357"}, "properties": {"repobilityId": "a6157a7979cc77f8", "scanner": "scanner-primary", "fingerprint": "1c7ad1507bcc01e3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f22d64ac1354eaba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/wiki-lint.ts:167"}, "properties": {"repobilityId": "27f730534f2e4ad6", "scanner": "scanner-primary", "fingerprint": "f22d64ac1354eaba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e667394023885ea7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/stripe-subscription.ts:32"}, "properties": {"repobilityId": "2261ebd21eb15163", "scanner": "scanner-primary", "fingerprint": "e667394023885ea7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-940d8c2d581bb157", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/span-enrichment.ts:95"}, "properties": {"repobilityId": "da52eeade9e29348", "scanner": "scanner-primary", "fingerprint": "940d8c2d581bb157", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcf5766735ca6727", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/email-triage-scheduler.ts:81"}, "properties": {"repobilityId": "a6a3b848a7df56e2", "scanner": "scanner-primary", "fingerprint": "dcf5766735ca6727", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-93e17a50f3327f5e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/budget-reset.ts:42"}, "properties": {"repobilityId": "8433c369989a4ecd", "scanner": "scanner-primary", "fingerprint": "93e17a50f3327f5e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d1d264ba178b2c0e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/mark-offline-agents.ts:29"}, "properties": {"repobilityId": "60526402ea1efe73", "scanner": "scanner-primary", "fingerprint": "d1d264ba178b2c0e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5b42f11eef6b8958", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/check-gateways.ts:35"}, "properties": {"repobilityId": "a206b961da8c2549", "scanner": "scanner-primary", "fingerprint": "5b42f11eef6b8958", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4cfebf67fe19194e", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 packages/api/src/handlers/crons/check-agent-health.ts:41"}, "properties": {"repobilityId": "bf4f12d78de41c40", "scanner": "scanner-primary", "fingerprint": "4cfebf67fe19194e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-8980a283eb0c6242", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/check-agent-health.ts:30"}, "properties": {"repobilityId": "bbd1411b97ae0399", "scanner": "scanner-primary", "fingerprint": "8980a283eb0c6242", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-65103edbf03a6c2f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/retry-dispatcher.ts:82"}, "properties": {"repobilityId": "d52d85c27255c59a", "scanner": "scanner-primary", "fingerprint": "65103edbf03a6c2f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1e3fdd9af88ff1a3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/expire-email-tokens.ts:33"}, "properties": {"repobilityId": "448271a650ddd075", "scanner": "scanner-primary", "fingerprint": "1e3fdd9af88ff1a3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47a2b10877cde5d1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/recover-stale-checkouts.ts:44"}, "properties": {"repobilityId": "4520691ebb8f684c", "scanner": "scanner-primary", "fingerprint": "47a2b10877cde5d1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1d39874a4f48f2ff", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/cleanup-pending-connections.ts:29"}, "properties": {"repobilityId": "8991077870221898", "scanner": "scanner-primary", "fingerprint": "1d39874a4f48f2ff", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bc020ff191bd3e8c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/expire-stale-invitations.ts:23"}, "properties": {"repobilityId": "07afcb42e7ac4eac", "scanner": "scanner-primary", "fingerprint": "bc020ff191bd3e8c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a20db0745279de56", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/crons/stall-monitor.ts:43"}, "properties": {"repobilityId": "28a683861d9ea9b7", "scanner": "scanner-primary", "fingerprint": "a20db0745279de56", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1780f3452cac934f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/api/src/handlers/slack/_shared.ts:123"}, "properties": {"repobilityId": "c6c37d812503a041", "scanner": "scanner-primary", "fingerprint": "1780f3452cac934f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-78b0b16b8236298a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/grouped-list-view.tsx:145"}, "properties": {"repobilityId": "d69a227844dc190b", "scanner": "scanner-primary", "fingerprint": "78b0b16b8236298a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7ae199bc6e7b9ff2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/ui/src/components/ui/chart.tsx:83"}, "properties": {"repobilityId": "ee6daf765547e20c", "scanner": "scanner-primary", "fingerprint": "7ae199bc6e7b9ff2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b49b1c1820f2915e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/badge-selector.tsx:235"}, "properties": {"repobilityId": "af4a1c850a19b971", "scanner": "scanner-primary", "fingerprint": "b49b1c1820f2915e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-113cb61023ef5aaa", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/combobox.tsx:71"}, "properties": {"repobilityId": "1d63a0be68c8a425", "scanner": "scanner-primary", "fingerprint": "113cb61023ef5aaa", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3b23d52e3f3ebf49", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/ui/src/components/ui/copyable-row.tsx:35"}, "properties": {"repobilityId": "69905708785d4fa1", "scanner": "scanner-primary", "fingerprint": "3b23d52e3f3ebf49", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f97cde1e84719823", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/workspace-editor/src/components/FileEditorPane.tsx:65"}, "properties": {"repobilityId": "6b9c99eb1ac8048a", "scanner": "scanner-primary", "fingerprint": "f97cde1e84719823", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c8bc45ed3df6a885", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 packages/workspace-editor/src/components/FolderTree.tsx:641"}, "properties": {"repobilityId": "0148745cd8056d7e", "scanner": "scanner-primary", "fingerprint": "c8bc45ed3df6a885", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-31a53da63a9d4fb9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-export-runner.ts:651"}, "properties": {"repobilityId": "37ba91909f8a5784", "scanner": "scanner-primary", "fingerprint": "31a53da63a9d4fb9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e90b77efb97a2ba8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/job-trigger.ts:163"}, "properties": {"repobilityId": "54ec8c0ad9effd9c", "scanner": "scanner-primary", "fingerprint": "e90b77efb97a2ba8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-114f99b9f481276f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/job-schedule-manager.ts:273"}, "properties": {"repobilityId": "62012425ae03a231", "scanner": "scanner-primary", "fingerprint": "114f99b9f481276f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c1cf7d318e804c63", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-outbox-drainer.ts:455"}, "properties": {"repobilityId": "3c7bbab9d8fc7891", "scanner": "scanner-primary", "fingerprint": "c1cf7d318e804c63", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7bd3e992907a9a1a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-anchor.ts:731"}, "properties": {"repobilityId": "6b29b8c3ecd6b88d", "scanner": "scanner-primary", "fingerprint": "7bd3e992907a9a1a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cec48e335904dc8e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/compliance-anchor-watchdog.ts:271"}, "properties": {"repobilityId": "fc2fecd9cd3025c4", "scanner": "scanner-primary", "fingerprint": "cec48e335904dc8e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c24f6fba063301f1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/lambda/__tests__/routine-task-python.test.ts:313"}, "properties": {"repobilityId": "5047ec54bfc40885", "scanner": "scanner-primary", "fingerprint": "c24f6fba063301f1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5adb28feecaeacfa", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 packages/computer-stdlib/src/__tests__/contract.test.ts:30"}, "properties": {"repobilityId": "7a41d914fe5b9804", "scanner": "scanner-primary", "fingerprint": "5adb28feecaeacfa", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-22d2cd205ea4fc43", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/react-native-sdk/src/logger.ts:4"}, "properties": {"repobilityId": "aa78ee78ddbc7414", "scanner": "scanner-primary", "fingerprint": "22d2cd205ea4fc43", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2deca66c8b9f4c01", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/namespace-registry/src/cli.ts:226"}, "properties": {"repobilityId": "aa9450e7bea9e82d", "scanner": "scanner-primary", "fingerprint": "2deca66c8b9f4c01", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5a0add1ec135325a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 packages/plugin-catalog/scripts/build-catalog.ts:71"}, "properties": {"repobilityId": "88bf881c4eb47c2a", "scanner": "scanner-primary", "fingerprint": "5a0add1ec135325a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f4aab6fa85143f5a", "level": "note", "message": {"text": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 packages/graph/src/WikiGraph.tsx:145"}, "properties": {"repobilityId": "ebda8ec91949679f", "scanner": "scanner-primary", "fingerprint": "f4aab6fa85143f5a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.edge-label.no-bg"]}}, {"ruleId": "scanner-7433578a7543659f", "level": "note", "message": {"text": "React Flow edge with `label=` but no project-wide edge-label CSS override \u2014 packages/graph/src/MemoryGraph.tsx:304"}, "properties": {"repobilityId": "a4e115c6d921de50", "scanner": "scanner-primary", "fingerprint": "7433578a7543659f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.edge-label.no-bg"]}}, {"ruleId": "scanner-153f8e4fd5e6e257", "level": "warning", "message": {"text": "Dockerfile runs as root: packages/cognee/Dockerfile"}, "properties": {"repobilityId": "8e2ed9f3ea85923b", "scanner": "scanner-primary", "fingerprint": "153f8e4fd5e6e257", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-dd2df00baa093ee7", "level": "warning", "message": {"text": "Dockerfile runs as root: packages/agentcore-pi/agent-container/Dockerfile"}, "properties": {"repobilityId": "8a7772f6a05916d7", "scanner": "scanner-primary", "fingerprint": "dd2df00baa093ee7", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-566df58066fbdafb", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: public.ecr.aws/docker/library/node:22-bookworm-slim"}, "properties": {"repobilityId": "ad8e4e4ca0528237", "scanner": "scanner-primary", "fingerprint": "566df58066fbdafb", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore-pi/agent-container/Dockerfile"}, "region": {"startLine": 9}}}]}, {"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-d820e365393eec43", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/__tests__/version.test.ts:2"}, "properties": {"repobilityId": "d3ed28959a6e9e8b", "scanner": "scanner-primary", "fingerprint": "d820e365393eec43", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/__tests__/version.test.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-b8826b9b197c8d14", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/__tests__/enterprise-preflight.test.ts:2"}, "properties": {"repobilityId": "241f6d8c744f65c1", "scanner": "scanner-primary", "fingerprint": "b8826b9b197c8d14", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/__tests__/enterprise-preflight.test.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-6474bf626ee8e662", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/api-client.ts:11"}, "properties": {"repobilityId": "b71c775f553a8af9", "scanner": "scanner-primary", "fingerprint": "6474bf626ee8e662", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/api-client.ts"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-fcc8e1a3d9b2134d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/prerequisites.ts:6"}, "properties": {"repobilityId": "906717fb59fcf7b4", "scanner": "scanner-primary", "fingerprint": "fcc8e1a3d9b2134d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/prerequisites.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-5a67615b9f3a619e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/aws.ts:7"}, "properties": {"repobilityId": "417667a88595de2e", "scanner": "scanner-primary", "fingerprint": "5a67615b9f3a619e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/aws.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-06b9d8b2d164cb5a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/aws-discovery.ts:10"}, "properties": {"repobilityId": "02b952565b044ed4", "scanner": "scanner-primary", "fingerprint": "06b9d8b2d164cb5a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/aws-discovery.ts"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-686f59b58e8bcd18", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/cognito-discovery.ts:19"}, "properties": {"repobilityId": "fd35db9a9e83a01a", "scanner": "scanner-primary", "fingerprint": "686f59b58e8bcd18", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/cognito-discovery.ts"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-d6801cf77ca380af", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/terraform.ts:9"}, "properties": {"repobilityId": "35d96ea884edaa85", "scanner": "scanner-primary", "fingerprint": "d6801cf77ca380af", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/terraform.ts"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-b9b17f25932c84eb", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/cognito-oauth.ts:29"}, "properties": {"repobilityId": "d42494bed3d29c8d", "scanner": "scanner-primary", "fingerprint": "b9b17f25932c84eb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/cognito-oauth.ts"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-854b243cc659aa06", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/login.ts:25"}, "properties": {"repobilityId": "20ba9465b80008aa", "scanner": "scanner-primary", "fingerprint": "854b243cc659aa06", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/login.ts"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-617196f47ff69067", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/doctor.ts:3"}, "properties": {"repobilityId": "29ae600b64a898fe", "scanner": "scanner-primary", "fingerprint": "617196f47ff69067", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/doctor.ts"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-3c5a0e68556b2659", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/init.ts:4"}, "properties": {"repobilityId": "84871184344bc128", "scanner": "scanner-primary", "fingerprint": "3c5a0e68556b2659", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/init.ts"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-896adeda92cc7a5e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/status.ts:2"}, "properties": {"repobilityId": "ac4bd85206c6a0a6", "scanner": "scanner-primary", "fingerprint": "896adeda92cc7a5e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/status.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-f4501f4d4d1f31bc", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/user.ts:13"}, "properties": {"repobilityId": "10c566975fa90d50", "scanner": "scanner-primary", "fingerprint": "f4501f4d4d1f31bc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/user.ts"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-04dd11dda0c75c68", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/deploy.ts:1"}, "properties": {"repobilityId": "5e9aec9119acbf56", "scanner": "scanner-primary", "fingerprint": "04dd11dda0c75c68", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/deploy.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5093265654f091da", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/update.ts:2"}, "properties": {"repobilityId": "1435ee0652d385d6", "scanner": "scanner-primary", "fingerprint": "5093265654f091da", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/update.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-1e1068884401f5a1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/bootstrap.ts:2"}, "properties": {"repobilityId": "72142a7c86d9463c", "scanner": "scanner-primary", "fingerprint": "1e1068884401f5a1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/bootstrap.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-f372ff07527fbdcd", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/cleanup-space-hindsight-banks.ts:1"}, "properties": {"repobilityId": "320f13b5287074de", "scanner": "scanner-primary", "fingerprint": "f372ff07527fbdcd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/cleanup-space-hindsight-banks.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ebae699452424882", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/release.ts:16"}, "properties": {"repobilityId": "ccf1ace6ee30f95e", "scanner": "scanner-primary", "fingerprint": "ebae699452424882", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/release.ts"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-76dbed11a60940e5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/migrate-folder-canon.ts:1"}, "properties": {"repobilityId": "81786969059b0976", "scanner": "scanner-primary", "fingerprint": "76dbed11a60940e5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/migrate-folder-canon.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-405b174a60aa22bc", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/preflight.ts:1"}, "properties": {"repobilityId": "b61a999ebe9cf26e", "scanner": "scanner-primary", "fingerprint": "405b174a60aa22bc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/preflight.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3d5b2ddcaf5586af", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/aws-bootstrap.ts:1"}, "properties": {"repobilityId": "492b1fd6d5a25736", "scanner": "scanner-primary", "fingerprint": "3d5b2ddcaf5586af", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/aws-bootstrap.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c89ed6dc6da91e04", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/deploy.ts:2"}, "properties": {"repobilityId": "176c86b2fa449e05", "scanner": "scanner-primary", "fingerprint": "c89ed6dc6da91e04", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/deploy.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-6c452ed7d2f6f8c5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/github.ts:1"}, "properties": {"repobilityId": "fc4eaf6f54fe0a3d", "scanner": "scanner-primary", "fingerprint": "6c452ed7d2f6f8c5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/github.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-227b594ee6745f76", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/workflow.ts:1"}, "properties": {"repobilityId": "c3f00de419dd7ea0", "scanner": "scanner-primary", "fingerprint": "227b594ee6745f76", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/workflow.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3d09b03ee4da60d7", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in apps/cli/src/commands/enterprise/overlay.ts:95"}, "properties": {"repobilityId": "4544f1556201f3f0", "scanner": "scanner-primary", "fingerprint": "3d09b03ee4da60d7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/overlay.ts"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-df53342145706a63", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/repository.ts:1"}, "properties": {"repobilityId": "1a2c2940f9c88503", "scanner": "scanner-primary", "fingerprint": "df53342145706a63", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/repository.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8622b4e50569a985", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/aws-deployments.ts:1"}, "properties": {"repobilityId": "860455567ed2b737", "scanner": "scanner-primary", "fingerprint": "8622b4e50569a985", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/aws-deployments.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-64dea3e2e995d024", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/cli/src/commands/enterprise/secrets.ts:1"}, "properties": {"repobilityId": "c845a1e41e468eae", "scanner": "scanner-primary", "fingerprint": "64dea3e2e995d024", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/secrets.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-261ccc97b0a8d831", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in apps/desktop/src/main/code-signature.ts:1"}, "properties": {"repobilityId": "a844dcdc9c999ff2", "scanner": "scanner-primary", "fingerprint": "261ccc97b0a8d831", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/src/main/code-signature.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33dab48204812ee2", "level": "error", "message": {"text": "Insecure pattern 'private_key_in_repo' in apps/mobile/lib/deployment-profile.test.ts:209"}, "properties": {"repobilityId": "21ceb5e2d24f1148", "scanner": "scanner-primary", "fingerprint": "33dab48204812ee2", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["owasp", "private_key_in_repo"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/mobile/lib/deployment-profile.test.ts"}, "region": {"startLine": 209}}}]}, {"ruleId": "scanner-01654989e30ac3f7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/web/src/iframe-shell/__tests__/EmptyRenderGuard.test.tsx:10"}, "properties": {"repobilityId": "9c1d4fd4a74e807d", "scanner": "scanner-primary", "fingerprint": "01654989e30ac3f7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/src/iframe-shell/__tests__/EmptyRenderGuard.test.tsx"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-8ea2503d3f577dd4", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts:41"}, "properties": {"repobilityId": "10a4ae4aa7dee2a0", "scanner": "scanner-primary", "fingerprint": "8ea2503d3f577dd4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-759c6abad9ea261d", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts:47"}, "properties": {"repobilityId": "7774bf5f3ab80ecc", "scanner": "scanner-primary", "fingerprint": "759c6abad9ea261d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-20ee0ebd7961812a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apps/web/src/components/workbench/SkillTokenInput.tsx:148"}, "properties": {"repobilityId": "e476261f953b9007", "scanner": "scanner-primary", "fingerprint": "20ee0ebd7961812a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/src/components/workbench/SkillTokenInput.tsx"}, "region": {"startLine": 148}}}]}, {"ruleId": "scanner-7ddae8faa939ea9f", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in apps/web/src/components/ai-elements/code-block.tsx:114"}, "properties": {"repobilityId": "eeb8322d3f1f9ece", "scanner": "scanner-primary", "fingerprint": "7ddae8faa939ea9f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/src/components/ai-elements/code-block.tsx"}, "region": {"startLine": 114}}}]}, {"ruleId": "scanner-3e3bade712faa09c", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in apps/web/src/lib/auth.test.ts:135"}, "properties": {"repobilityId": "1c41611d03f90b6e", "scanner": "scanner-primary", "fingerprint": "3e3bade712faa09c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/src/lib/auth.test.ts"}, "region": {"startLine": 135}}}]}, {"ruleId": "scanner-3a6689e60aef336f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/verify-thread-traces.ts:62"}, "properties": {"repobilityId": "4c679155bd1b3b03", "scanner": "scanner-primary", "fingerprint": "3a6689e60aef336f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/verify-thread-traces.ts"}, "region": {"startLine": 62}}}]}, {"ruleId": "scanner-c255a4e52b1bea43", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in scripts/dev-stripe-proxy.mjs:123"}, "properties": {"repobilityId": "d4ef345fdf4a78e3", "scanner": "scanner-primary", "fingerprint": "c255a4e52b1bea43", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/dev-stripe-proxy.mjs"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-db596e81c835a722", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/cloudflare-sync-mcp.ts:26"}, "properties": {"repobilityId": "9d607ee450d9b2f0", "scanner": "scanner-primary", "fingerprint": "db596e81c835a722", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/cloudflare-sync-mcp.ts"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-8829afaba7eb011e", "level": "error", "message": {"text": "Possible secret in scripts/integration/phase2-smoke.ts"}, "properties": {"repobilityId": "3c472e9867bb724e", "scanner": "scanner-primary", "fingerprint": "8829afaba7eb011e", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/integration/phase2-smoke.ts"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-f788f01622bf5a7e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/integration/phase2-smoke.ts:19"}, "properties": {"repobilityId": "ccdce4e611a09d46", "scanner": "scanner-primary", "fingerprint": "f788f01622bf5a7e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/integration/phase2-smoke.ts"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-dc468f8b92c3e85f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/foundation-bootstrap-smoke.mjs:20"}, "properties": {"repobilityId": "22d717fe67cf6475", "scanner": "scanner-primary", "fingerprint": "dc468f8b92c3e85f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/foundation-bootstrap-smoke.mjs"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-9c23aaad05eefcb2", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/deployment-evidence.mjs:1"}, "properties": {"repobilityId": "4f990285b0211fac", "scanner": "scanner-primary", "fingerprint": "9c23aaad05eefcb2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/deployment-evidence.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c9cbdd8f639f74ae", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-runbook-smoke.mjs:20"}, "properties": {"repobilityId": "883f37dd1138c099", "scanner": "scanner-primary", "fingerprint": "c9cbdd8f639f74ae", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/spaces-runbook-smoke.mjs"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-3a088a2a5710f429", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/managed-app-controller-readiness-smoke.mjs:23"}, "properties": {"repobilityId": "04107d13b1dc1afd", "scanner": "scanner-primary", "fingerprint": "3a088a2a5710f429", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/managed-app-controller-readiness-smoke.mjs"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-ed783d9a10837b4a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-thread-streaming-smoke.mjs:29"}, "properties": {"repobilityId": "da7dd932bc101299", "scanner": "scanner-primary", "fingerprint": "ed783d9a10837b4a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/spaces-thread-streaming-smoke.mjs"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-e7bf4ad975fde44b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-surface-smoke.mjs:25"}, "properties": {"repobilityId": "b9fa52b759b3a492", "scanner": "scanner-primary", "fingerprint": "e7bf4ad975fde44b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/spaces-surface-smoke.mjs"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-896a7fbb65f5356f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/knowledge-graph-source-ingest-smoke-lib.mjs:1"}, "properties": {"repobilityId": "6ad41d634d9ca9ba", "scanner": "scanner-primary", "fingerprint": "896a7fbb65f5356f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/knowledge-graph-source-ingest-smoke-lib.mjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d8ee943e72efa15e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/hindsight-consolidation-backfill.mjs:32"}, "properties": {"repobilityId": "09230ff10b847cd4", "scanner": "scanner-primary", "fingerprint": "d8ee943e72efa15e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/hindsight-consolidation-backfill.mjs"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-948f18b72bbd0c3a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-crm-dashboard-prompt-smoke.mjs:17"}, "properties": {"repobilityId": "3ff0a23aa7e9d0da", "scanner": "scanner-primary", "fingerprint": "948f18b72bbd0c3a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/spaces-crm-dashboard-prompt-smoke.mjs"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-d1c3689c6220030e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/deployment-teardown-readiness-smoke.mjs:23"}, "properties": {"repobilityId": "aa4712be6cdc7352", "scanner": "scanner-primary", "fingerprint": "d1c3689c6220030e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/deployment-teardown-readiness-smoke.mjs"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-40a9b34483992c55", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-shared-multi-user-smoke.mjs:18"}, "properties": {"repobilityId": "89d0affeaac5fdb5", "scanner": "scanner-primary", "fingerprint": "40a9b34483992c55", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/spaces-shared-multi-user-smoke.mjs"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-3d22a164f0e59787", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/spaces-applet-pipeline-smoke.mjs:22"}, "properties": {"repobilityId": "7bd44916a49e8d64", "scanner": "scanner-primary", "fingerprint": "3d22a164f0e59787", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/spaces-applet-pipeline-smoke.mjs"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-5ceb5bb679a070ac", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/smoke/knowledge-graph-thread-ingest-smoke.mjs:22"}, "properties": {"repobilityId": "eb184f4b457c1197", "scanner": "scanner-primary", "fingerprint": "5ceb5bb679a070ac", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/smoke/knowledge-graph-thread-ingest-smoke.mjs"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-f7304db85faf8705", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/release/__tests__/publish-release-assets.test.ts:2"}, "properties": {"repobilityId": "d8440c7fae628342", "scanner": "scanner-primary", "fingerprint": "f7304db85faf8705", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/release/__tests__/publish-release-assets.test.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-421bb2d257fa165f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/release/__tests__/write-deployment-status.test.ts:2"}, "properties": {"repobilityId": "9c03a352e60588dd", "scanner": "scanner-primary", "fingerprint": "421bb2d257fa165f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/release/__tests__/write-deployment-status.test.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-01ae50454b5e7bc9", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/release/__tests__/build-release-manifest.test.ts:2"}, "properties": {"repobilityId": "6cc412b0e2340c4c", "scanner": "scanner-primary", "fingerprint": "01ae50454b5e7bc9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/release/__tests__/build-release-manifest.test.ts"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-2b178b8516b343cf", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/workspace-files.ts:164"}, "properties": {"repobilityId": "2d585bb828c49c66", "scanner": "scanner-primary", "fingerprint": "2b178b8516b343cf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/workspace-files.ts"}, "region": {"startLine": 164}}}]}, {"ruleId": "scanner-c4e1506383017a3b", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/knowledge-base-files.ts:61"}, "properties": {"repobilityId": "885dd896bd7d28e4", "scanner": "scanner-primary", "fingerprint": "c4e1506383017a3b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/knowledge-base-files.ts"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-c1ac158f14c0aeca", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/lib/response.ts:7"}, "properties": {"repobilityId": "52f8b4c735d2e7a8", "scanner": "scanner-primary", "fingerprint": "c1ac158f14c0aeca", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/lib/response.ts"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-67adfa37c2ee2fef", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/mcp-admin-keys.ts:72"}, "properties": {"repobilityId": "3c92896320aab393", "scanner": "scanner-primary", "fingerprint": "67adfa37c2ee2fef", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/mcp-admin-keys.ts"}, "region": {"startLine": 72}}}]}, {"ruleId": "scanner-6fe1d4037320f7bf", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routines.ts:22"}, "properties": {"repobilityId": "e68ecac9b4d4497e", "scanner": "scanner-primary", "fingerprint": "6fe1d4037320f7bf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/routines.ts"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-537ca6f4dbfec749", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/agents-runtime-config.ts:41"}, "properties": {"repobilityId": "0c76e9f927db22f0", "scanner": "scanner-primary", "fingerprint": "537ca6f4dbfec749", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/agents-runtime-config.ts"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-a31f52d5b8f745c6", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/budgets.ts:24"}, "properties": {"repobilityId": "7f57fc97a2d0e3a2", "scanner": "scanner-primary", "fingerprint": "a31f52d5b8f745c6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/budgets.ts"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-9c93b60f008c461f", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/recipe-refresh.ts:34"}, "properties": {"repobilityId": "82bc521aa4bd1885", "scanner": "scanner-primary", "fingerprint": "9c93b60f008c461f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/recipe-refresh.ts"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-cd8d472c1ea6b323", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/messages.ts:40"}, "properties": {"repobilityId": "52a7dc693d9d11c6", "scanner": "scanner-primary", "fingerprint": "cd8d472c1ea6b323", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/messages.ts"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-d9449157f2014f19", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/users.ts:30"}, "properties": {"repobilityId": "35f84a0e9d6dff52", "scanner": "scanner-primary", "fingerprint": "d9449157f2014f19", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/users.ts"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-d240a4de80cdbfa4", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routine-execution-callback.ts:162"}, "properties": {"repobilityId": "24fefa5aee2dade8", "scanner": "scanner-primary", "fingerprint": "d240a4de80cdbfa4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/routine-execution-callback.ts"}, "region": {"startLine": 162}}}]}, {"ruleId": "scanner-f00055bd80de8ce3", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routine-asl-validator.ts:656"}, "properties": {"repobilityId": "32ad6300fd4908ee", "scanner": "scanner-primary", "fingerprint": "f00055bd80de8ce3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/routine-asl-validator.ts"}, "region": {"startLine": 656}}}]}, {"ruleId": "scanner-6db76e43f69b74be", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/sandbox-quota-check.ts:40"}, "properties": {"repobilityId": "250d53052b8bc703", "scanner": "scanner-primary", "fingerprint": "6db76e43f69b74be", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/sandbox-quota-check.ts"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-7caa3c5759cae086", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/invites.ts:118"}, "properties": {"repobilityId": "c9e6194e389d5e1b", "scanner": "scanner-primary", "fingerprint": "7caa3c5759cae086", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/invites.ts"}, "region": {"startLine": 118}}}]}, {"ruleId": "scanner-688027f24cf5cfb2", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/skills.ts:81"}, "properties": {"repobilityId": "8281efb48a9f58e6", "scanner": "scanner-primary", "fingerprint": "688027f24cf5cfb2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/skills.ts"}, "region": {"startLine": 81}}}]}, {"ruleId": "scanner-54d0a78a3356a174", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/extension-proxy.ts:222"}, "properties": {"repobilityId": "fb50425b7713d60b", "scanner": "scanner-primary", "fingerprint": "54d0a78a3356a174", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/extension-proxy.ts"}, "region": {"startLine": 222}}}]}, {"ruleId": "scanner-2f2507a2df5fcbd5", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/activity.ts:24"}, "properties": {"repobilityId": "4e5930596fb83e65", "scanner": "scanner-primary", "fingerprint": "2f2507a2df5fcbd5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/activity.ts"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-c4c6d514de7722cc", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/connections.ts:60"}, "properties": {"repobilityId": "1af26e3e7079b9b2", "scanner": "scanner-primary", "fingerprint": "c4c6d514de7722cc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/connections.ts"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-96f4061fefae9592", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/mcp-admin-provision.ts:137"}, "properties": {"repobilityId": "ae69bcfec66a3b50", "scanner": "scanner-primary", "fingerprint": "96f4061fefae9592", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/mcp-admin-provision.ts"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-051ba31283fa1ada", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/agent-actions.ts:49"}, "properties": {"repobilityId": "5e0a4ebf2627f2f0", "scanner": "scanner-primary", "fingerprint": "051ba31283fa1ada", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/agent-actions.ts"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-57550ffd52eaa320", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/scheduled-jobs.ts:252"}, "properties": {"repobilityId": "0685cbc0305d04f7", "scanner": "scanner-primary", "fingerprint": "57550ffd52eaa320", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/scheduled-jobs.ts"}, "region": {"startLine": 252}}}]}, {"ruleId": "scanner-842ad519743e174f", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/manifest-log.ts:51"}, "properties": {"repobilityId": "a7efc4b00f2e1002", "scanner": "scanner-primary", "fingerprint": "842ad519743e174f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/manifest-log.ts"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-f4eb0d24859d5611", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/webhooks-admin.ts:68"}, "properties": {"repobilityId": "5289158ac02e1c6e", "scanner": "scanner-primary", "fingerprint": "f4eb0d24859d5611", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/webhooks-admin.ts"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-3db7d2c52662af4f", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/github-app.ts:31"}, "properties": {"repobilityId": "f757bf4683e134d0", "scanner": "scanner-primary", "fingerprint": "3db7d2c52662af4f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/github-app.ts"}, "region": {"startLine": 31}}}]}, {"ruleId": "scanner-c36711dfe1e1ee68", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/sandbox-invocation-log.ts:62"}, "properties": {"repobilityId": "eeafa9280e243510", "scanner": "scanner-primary", "fingerprint": "c36711dfe1e1ee68", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/sandbox-invocation-log.ts"}, "region": {"startLine": 62}}}]}, {"ruleId": "scanner-1853866d3d90ec95", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/capability-catalog-list.ts:44"}, "properties": {"repobilityId": "d3102bddf9e37a8e", "scanner": "scanner-primary", "fingerprint": "1853866d3d90ec95", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/capability-catalog-list.ts"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-04cfb0f1ad60d84e", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/agents.ts:58"}, "properties": {"repobilityId": "68a3cc394ce6f70b", "scanner": "scanner-primary", "fingerprint": "04cfb0f1ad60d84e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/agents.ts"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-37eb9f6e1b35f7a4", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/routine-step-callback.ts:103"}, "properties": {"repobilityId": "5ff62abc0bc6d7f5", "scanner": "scanner-primary", "fingerprint": "37eb9f6e1b35f7a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/routine-step-callback.ts"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-645695fcfd5ca35a", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/tenants.ts:48"}, "properties": {"repobilityId": "9d2575a90467e768", "scanner": "scanner-primary", "fingerprint": "645695fcfd5ca35a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/tenants.ts"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-640c0c7ae7f0c681", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/api/src/handlers/guardrails-handler.ts:60"}, "properties": {"repobilityId": "38406aa7995d1f84", "scanner": "scanner-primary", "fingerprint": "640c0c7ae7f0c681", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/src/handlers/guardrails-handler.ts"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-2d090ebcdbcf3521", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/ui/src/components/ui/chart.tsx:83"}, "properties": {"repobilityId": "34885250ab5d400f", "scanner": "scanner-primary", "fingerprint": "2d090ebcdbcf3521", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/src/components/ui/chart.tsx"}, "region": {"startLine": 83}}}]}, {"ruleId": "scanner-64591f8b08d4402b", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/agentcore-pi/agent-container/src/runtime/tools/execute-code.ts:27"}, "properties": {"repobilityId": "db2583817af6ec08", "scanner": "scanner-primary", "fingerprint": "64591f8b08d4402b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore-pi/agent-container/src/runtime/tools/execute-code.ts"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-09e517efcfdac719", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/pi-aws/connectors/agentcore-codeinterpreter.ts:205"}, "properties": {"repobilityId": "118a697c7fc1d7f0", "scanner": "scanner-primary", "fingerprint": "09e517efcfdac719", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/pi-aws/connectors/agentcore-codeinterpreter.ts"}, "region": {"startLine": 205}}}]}, {"ruleId": "scanner-bde46c2cb643e16c", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/pi-aws/connectors/agentcore-codeinterpreter.test.ts:103"}, "properties": {"repobilityId": "c5f9cac738aed3c0", "scanner": "scanner-primary", "fingerprint": "bde46c2cb643e16c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/pi-aws/connectors/agentcore-codeinterpreter.test.ts"}, "region": {"startLine": 103}}}]}, {"ruleId": "scanner-ac99006fb562af67", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in packages/pi-aws/src/sandbox-types.ts:48"}, "properties": {"repobilityId": "d4d16837cde503a6", "scanner": "scanner-primary", "fingerprint": "ac99006fb562af67", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/pi-aws/src/sandbox-types.ts"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-5724d81fcf0ad161", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/lambda/admin-ops-mcp.ts:766"}, "properties": {"repobilityId": "46db32af5ea01932", "scanner": "scanner-primary", "fingerprint": "5724d81fcf0ad161", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/lambda/admin-ops-mcp.ts"}, "region": {"startLine": 766}}}]}, {"ruleId": "scanner-642179c7ddc76de3", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in packages/lambda/agentcore-admin.ts:45"}, "properties": {"repobilityId": "ff8c5d7ba43b2f06", "scanner": "scanner-primary", "fingerprint": "642179c7ddc76de3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/lambda/agentcore-admin.ts"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-dc0deb9ea37a8cc8", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in packages/computer-stdlib/src/__tests__/contract.test.ts:30"}, "properties": {"repobilityId": "8a1fd338610eeb64", "scanner": "scanner-primary", "fingerprint": "dc0deb9ea37a8cc8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/computer-stdlib/src/__tests__/contract.test.ts"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-1dff4fb69b4d503f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in packages/namespace-registry/src/db.ts:17"}, "properties": {"repobilityId": "a89e59f44ede7d08", "scanner": "scanner-primary", "fingerprint": "1dff4fb69b4d503f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/namespace-registry/src/db.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-13d51fc1c2579601", "level": "error", "message": {"text": "Possible secret in .github/workflows/deploy.yml"}, "properties": {"repobilityId": "65b5750911718848", "scanner": "scanner-primary", "fingerprint": "13d51fc1c2579601", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 951}}}]}, {"ruleId": "scanner-13d51fc1c2579601", "level": "error", "message": {"text": "Possible secret in .github/workflows/deploy.yml"}, "properties": {"repobilityId": "65b5750911718848", "scanner": "scanner-primary", "fingerprint": "13d51fc1c2579601", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 1041}}}]}, {"ruleId": "scanner-d4c7de9ac3f9094c", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in plugins/plane/smoke/plane-managed-app-smoke.mjs:18"}, "properties": {"repobilityId": "252e99ce1a533000", "scanner": "scanner-primary", "fingerprint": "d4c7de9ac3f9094c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/plane/smoke/plane-managed-app-smoke.mjs"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-ca0c75220f891654", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in plugins/twenty/smoke/twenty-managed-app-smoke.mjs:17"}, "properties": {"repobilityId": "5ba69b4ad4d1eece", "scanner": "scanner-primary", "fingerprint": "ca0c75220f891654", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/twenty/smoke/twenty-managed-app-smoke.mjs"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-e81659ea45866171", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in plugins/company-brain/smoke/cognee-managed-app-smoke.mjs:19"}, "properties": {"repobilityId": "2a572d4eca94c148", "scanner": "scanner-primary", "fingerprint": "e81659ea45866171", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/company-brain/smoke/cognee-managed-app-smoke.mjs"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-4d1ebb3f6b06f663", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d4f74e9c59300c53", "scanner": "scanner-primary", "fingerprint": "4d1ebb3f6b06f663", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/templates/deploy-repo/.github/workflows/deploy.yml"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-cda36ec3d6a42cb2", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "ac05cf22b55edb41", "scanner": "scanner-primary", "fingerprint": "cda36ec3d6a42cb2", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/src/commands/enterprise/templates/deploy-repo/.github/workflows/deploy.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d76eaf0bd66712c9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "934d55b67f74f0ff", "scanner": "scanner-primary", "fingerprint": "d76eaf0bd66712c9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-desktop.yml"}, "region": {"startLine": 392}}}]}, {"ruleId": "scanner-b95d7b10e8652696", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a47a1d35d34e6ab7", "scanner": "scanner-primary", "fingerprint": "b95d7b10e8652696", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release-desktop.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2fdcc3aac10df7e9", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8790272a56f5e9ce", "scanner": "scanner-primary", "fingerprint": "2fdcc3aac10df7e9", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/cla.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b5ff68ae3a5989fc", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 236}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b5ff68ae3a5989fc", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 253}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b5ff68ae3a5989fc", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 548}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d08151bb856f4436", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d08151bb856f4436", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 122}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "d08151bb856f4436", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 140}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5ab0c5bd71e63ad8", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 196}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b0f359fc82dc1097", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 374}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6ce3b24f43cf649e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "011d0afdcc8813d1", "scanner": "scanner-primary", "fingerprint": "6ce3b24f43cf649e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publish-sdk.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a404b0da0c6e94e8", "level": "note", "message": {"text": "Very large file: apps/cli/src/gql/graphql.ts (9402 lines)"}, "properties": {"repobilityId": "6172cc0e75bba3b0", "scanner": "scanner-primary", "fingerprint": "a404b0da0c6e94e8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e988e40723a2a968", "level": "note", "message": {"text": "Very large file: apps/cli/src/gql/gql.ts (867 lines)"}, "properties": {"repobilityId": "98b678a863d21ec4", "scanner": "scanner-primary", "fingerprint": "e988e40723a2a968", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c2ef00dcb5555afe", "level": "note", "message": {"text": "Very large file: apps/mobile/lib/gql/graphql.ts (8897 lines)"}, "properties": {"repobilityId": "cb24f2ca8c5dfe3e", "scanner": "scanner-primary", "fingerprint": "c2ef00dcb5555afe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0d34653524c6e4aa", "level": "note", "message": {"text": "Very large file: apps/web/src/routeTree.gen.ts (2074 lines)"}, "properties": {"repobilityId": "4debb994ee995a78", "scanner": "scanner-primary", "fingerprint": "0d34653524c6e4aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a5e8a4901d2f2322", "level": "note", "message": {"text": "Very large file: apps/web/src/components/settings/SettingsActivityExecutionTrace.tsx (2653 lines)"}, "properties": {"repobilityId": "7812bfb7621bd3c7", "scanner": "scanner-primary", "fingerprint": "a5e8a4901d2f2322", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-10693cf087b99386", "level": "note", "message": {"text": "Very large file: apps/web/src/components/workbench/SpacesThreadDetailRoute.tsx (2703 lines)"}, "properties": {"repobilityId": "7b7604f8e4da7cd9", "scanner": "scanner-primary", "fingerprint": "10693cf087b99386", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fa504d2e57c7ce9c", "level": "note", "message": {"text": "Very large file: apps/web/src/components/workbench/TaskThreadView.tsx (4912 lines)"}, "properties": {"repobilityId": "dff45b17f42f53ee", "scanner": "scanner-primary", "fingerprint": "fa504d2e57c7ce9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-023565af36c813df", "level": "note", "message": {"text": "Very large file: apps/web/src/components/workbench/TaskThreadView.test.tsx (4656 lines)"}, "properties": {"repobilityId": "44ed41a4048622c3", "scanner": "scanner-primary", "fingerprint": "023565af36c813df", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fae1170cdf19d509", "level": "note", "message": {"text": "Very large file: apps/web/src/components/shell/ChatSidebar.tsx (2286 lines)"}, "properties": {"repobilityId": "bf9b3f44aa7b15d7", "scanner": "scanner-primary", "fingerprint": "fae1170cdf19d509", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fab43b05ae625af2", "level": "note", "message": {"text": "Very large file: apps/web/src/gql/graphql.ts (9420 lines)"}, "properties": {"repobilityId": "6afc7d3274469fe9", "scanner": "scanner-primary", "fingerprint": "fab43b05ae625af2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4c3562633fec379b", "level": "note", "message": {"text": "Very large file: apps/web/src/gql/gql.ts (921 lines)"}, "properties": {"repobilityId": "bd1390dbeb245d44", "scanner": "scanner-primary", "fingerprint": "4c3562633fec379b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-783b229d86c6b051", "level": "note", "message": {"text": "Very large file: packages/api/workspace-files.ts (3404 lines)"}, "properties": {"repobilityId": "c494eadbbc8fa224", "scanner": "scanner-primary", "fingerprint": "783b229d86c6b051", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f408075ccde17696", "level": "note", "message": {"text": "Very large file: packages/api/src/__tests__/workspace-files-handler.test.ts (4883 lines)"}, "properties": {"repobilityId": "195187baa7601977", "scanner": "scanner-primary", "fingerprint": "f408075ccde17696", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2713a848a23dffc2", "level": "note", "message": {"text": "Very large file: packages/api/src/__tests__/routines-publish-flow.test.ts (1558 lines)"}, "properties": {"repobilityId": "51c56d18f92a6963", "scanner": "scanner-primary", "fingerprint": "2713a848a23dffc2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f22804c241d7c755", "level": "note", "message": {"text": "Very large file: packages/api/src/__tests__/wiki-compiler.test.ts (2293 lines)"}, "properties": {"repobilityId": "8909ab9bd0403c92", "scanner": "scanner-primary", "fingerprint": "f22804c241d7c755", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5b533137eac575e3", "level": "note", "message": {"text": "Very large file: packages/api/src/lib/chat-finalize/process-finalize.ts (1752 lines)"}, "properties": {"repobilityId": "9d797c1f16484917", "scanner": "scanner-primary", "fingerprint": "5b533137eac575e3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5feb3c4537e56dd7", "level": "note", "message": {"text": "Very large file: packages/api/src/lib/spaces/customer-onboarding-chat-updates.ts (1609 lines)"}, "properties": {"repobilityId": "82412fa56b58f155", "scanner": "scanner-primary", "fingerprint": "5feb3c4537e56dd7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-89ba4e90b9781ab7", "level": "note", "message": {"text": "Very large file: packages/api/src/lib/wiki/compiler.ts (2188 lines)"}, "properties": {"repobilityId": "85186aa8d82faa26", "scanner": "scanner-primary", "fingerprint": "89ba4e90b9781ab7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9ad307a6f5428412", "level": "note", "message": {"text": "Very large file: packages/api/src/lib/wiki/repository.ts (3024 lines)"}, "properties": {"repobilityId": "9530345b47c33456", "scanner": "scanner-primary", "fingerprint": "9ad307a6f5428412", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-80a4b00d35f9af2e", "level": "note", "message": {"text": "Very large file: packages/api/src/lib/plugins/engine.ts (1537 lines)"}, "properties": {"repobilityId": "599d8ee80d20150c", "scanner": "scanner-primary", "fingerprint": "80a4b00d35f9af2e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-90ebee6fc8e758d5", "level": "note", "message": {"text": "Very large file: packages/api/src/graphql/resolvers/evaluations/index.test.ts (2176 lines)"}, "properties": {"repobilityId": "8154eb29c05ff492", "scanner": "scanner-primary", "fingerprint": "90ebee6fc8e758d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2bb58c88f3c3d8eb", "level": "note", "message": {"text": "Very large file: packages/api/src/graphql/resolvers/evaluations/index.ts (1752 lines)"}, "properties": {"repobilityId": "59e606c105baf6bd", "scanner": "scanner-primary", "fingerprint": "2bb58c88f3c3d8eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-374c2688ac0cae40", "level": "note", "message": {"text": "Very large file: packages/api/src/handlers/skills.ts (3106 lines)"}, "properties": {"repobilityId": "f87811a08c1a5fbe", "scanner": "scanner-primary", "fingerprint": "374c2688ac0cae40", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cf44f8cbd4f914a0", "level": "note", "message": {"text": "Very large file: packages/api/src/handlers/chat-agent-invoke.ts (1579 lines)"}, "properties": {"repobilityId": "67b4a7e8d22b93e4", "scanner": "scanner-primary", "fingerprint": "cf44f8cbd4f914a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6a57ea1b192e5922", "level": "note", "message": {"text": "Very large file: packages/api/src/handlers/wakeup-processor.ts (3303 lines)"}, "properties": {"repobilityId": "fce3b024efc827b5", "scanner": "scanner-primary", "fingerprint": "6a57ea1b192e5922", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1c8588b3eb2402f9", "level": "note", "message": {"text": "Very large file: packages/workspace-defaults/src/index.ts (1119 lines)"}, "properties": {"repobilityId": "f9a6287d9daf69ac", "scanner": "scanner-primary", "fingerprint": "1c8588b3eb2402f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-30f5dc78fd417ff8", "level": "note", "message": {"text": "Very large file: packages/agentcore-pi/agent-container/tests/server.test.ts (3518 lines)"}, "properties": {"repobilityId": "59210d825d4f8287", "scanner": "scanner-primary", "fingerprint": "30f5dc78fd417ff8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1c8be5cd11c5d25a", "level": "note", "message": {"text": "Very large file: packages/agentcore-pi/agent-container/src/server.ts (3101 lines)"}, "properties": {"repobilityId": "2077dcc23b151e66", "scanner": "scanner-primary", "fingerprint": "1c8be5cd11c5d25a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a3f32b75df09344e", "level": "note", "message": {"text": "Very large file: terraform/modules/app/deployment-control-plane/test_runner_bundle.py (2062 lines)"}, "properties": {"repobilityId": "54584614f385c631", "scanner": "scanner-primary", "fingerprint": "a3f32b75df09344e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-93406ba11434feeb", "level": "note", "message": {"text": "Very large file: terraform/modules/app/deployment-control-plane/runner.py (3500 lines)"}, "properties": {"repobilityId": "0e52ab0ca41d1c59", "scanner": "scanner-primary", "fingerprint": "93406ba11434feeb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-09d06f740d6ec124", "level": "note", "message": {"text": "119 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "09d06f740d6ec124", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-a0165ea166579aa4", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/cli/package.json"}, "properties": {"repobilityId": "027862884b842339", "scanner": "scanner-primary", "fingerprint": "a0165ea166579aa4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/cli/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d57b3f82d2270c5b", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/desktop/package.json"}, "properties": {"repobilityId": "a5d1a254ecc349f8", "scanner": "scanner-primary", "fingerprint": "d57b3f82d2270c5b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/desktop/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0c2205560692580", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/mobile/package.json"}, "properties": {"repobilityId": "b3dfed7bb3d70ed3", "scanner": "scanner-primary", "fingerprint": "d0c2205560692580", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/mobile/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4a9eb7dc7c6e3880", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: apps/web/package.json"}, "properties": {"repobilityId": "6c1704bf24cf19ac", "scanner": "scanner-primary", "fingerprint": "4a9eb7dc7c6e3880", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apps/web/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b8fae141f052f3ab", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: docs/package.json"}, "properties": {"repobilityId": "e77ce50b08d152bb", "scanner": "scanner-primary", "fingerprint": "b8fae141f052f3ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5aad5509c7520fc5", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/deployment-runner/package.json"}, "properties": {"repobilityId": "c836bb5bbbd89731", "scanner": "scanner-primary", "fingerprint": "5aad5509c7520fc5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/deployment-runner/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0a0634ffe3eb1107", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/api/package.json"}, "properties": {"repobilityId": "61aa8b13d545e157", "scanner": "scanner-primary", "fingerprint": "0a0634ffe3eb1107", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/api/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-50218c90b43393bb", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/ui/package.json"}, "properties": {"repobilityId": "637e26a8c754e81d", "scanner": "scanner-primary", "fingerprint": "50218c90b43393bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/ui/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-74e452664ed31a23", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/workspace-defaults/package.json"}, "properties": {"repobilityId": "06a11d0feb25b7cc", "scanner": "scanner-primary", "fingerprint": "74e452664ed31a23", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/workspace-defaults/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a8a60bbcc5460821", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/database-pg/package.json"}, "properties": {"repobilityId": "2052e85da8d005a1", "scanner": "scanner-primary", "fingerprint": "a8a60bbcc5460821", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/database-pg/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-376766faa58de668", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/admin-ops/package.json"}, "properties": {"repobilityId": "1dc5cd96de413656", "scanner": "scanner-primary", "fingerprint": "376766faa58de668", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/admin-ops/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-375456fd52822ef8", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/audit-verifier/package.json"}, "properties": {"repobilityId": "c717ed46b1a6ab96", "scanner": "scanner-primary", "fingerprint": "375456fd52822ef8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/audit-verifier/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f0d96f660c9b7c29", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/agentcore-pi/package.json"}, "properties": {"repobilityId": "62871dd381f6d56e", "scanner": "scanner-primary", "fingerprint": "f0d96f660c9b7c29", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/agentcore-pi/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cecd94fae44b0901", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/pi-aws/package.json"}, "properties": {"repobilityId": "4a48a2b970ff6618", "scanner": "scanner-primary", "fingerprint": "cecd94fae44b0901", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/pi-aws/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-61f6a81912f8f8e1", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/pi-runtime-core/package.json"}, "properties": {"repobilityId": "0d702cca73f1a33d", "scanner": "scanner-primary", "fingerprint": "61f6a81912f8f8e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/pi-runtime-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4c948fac63de01ff", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/workspace-editor/package.json"}, "properties": {"repobilityId": "cb3e43482ed60c3c", "scanner": "scanner-primary", "fingerprint": "4c948fac63de01ff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/workspace-editor/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-519e99c79de5fbf2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/release-manifest/package.json"}, "properties": {"repobilityId": "b35e2d4b0200c92c", "scanner": "scanner-primary", "fingerprint": "519e99c79de5fbf2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/release-manifest/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ccc16f2b4c4cb304", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/evals-core/package.json"}, "properties": {"repobilityId": "deb2596348fdb86f", "scanner": "scanner-primary", "fingerprint": "ccc16f2b4c4cb304", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/evals-core/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9823892572ae955", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/lambda/package.json"}, "properties": {"repobilityId": "ba71b1c278e6665e", "scanner": "scanner-primary", "fingerprint": "b9823892572ae955", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/lambda/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b6904ce034050588", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/desktop-ipc/package.json"}, "properties": {"repobilityId": "c6ad31743188f6c4", "scanner": "scanner-primary", "fingerprint": "b6904ce034050588", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/desktop-ipc/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2dcdfc48a1c9de9c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/computer-stdlib/package.json"}, "properties": {"repobilityId": "273f3354c5da22f7", "scanner": "scanner-primary", "fingerprint": "2dcdfc48a1c9de9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/computer-stdlib/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27fb94cfd77eaaa2", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/react-native-sdk/package.json"}, "properties": {"repobilityId": "8d1e0fc9895a9675", "scanner": "scanner-primary", "fingerprint": "27fb94cfd77eaaa2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/react-native-sdk/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-56040b52452bba7f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/pricing-config/package.json"}, "properties": {"repobilityId": "974ec7185112be1d", "scanner": "scanner-primary", "fingerprint": "56040b52452bba7f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/pricing-config/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0d60435fa0503e7a", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/namespace-registry/package.json"}, "properties": {"repobilityId": "68938a2ca5572cd4", "scanner": "scanner-primary", "fingerprint": "0d60435fa0503e7a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/namespace-registry/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-da4a7d8da4be5be8", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/runtime-config/package.json"}, "properties": {"repobilityId": "a2bf1047cb1c8935", "scanner": "scanner-primary", "fingerprint": "da4a7d8da4be5be8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/runtime-config/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-61b7b51aa4822d11", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/pi-extensions/package.json"}, "properties": {"repobilityId": "3e27c69d4b8ed424", "scanner": "scanner-primary", "fingerprint": "61b7b51aa4822d11", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/pi-extensions/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4ee69356cc0fad79", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/plugin-catalog/package.json"}, "properties": {"repobilityId": "fbf7cf16954f80d5", "scanner": "scanner-primary", "fingerprint": "4ee69356cc0fad79", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/plugin-catalog/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b5823f3dacd825c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/deployment-profile/package.json"}, "properties": {"repobilityId": "e06e65aaec18c42f", "scanner": "scanner-primary", "fingerprint": "7b5823f3dacd825c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/deployment-profile/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5d7c3f19978cb63d", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: packages/graph/package.json"}, "properties": {"repobilityId": "54fe79d9a6f5430c", "scanner": "scanner-primary", "fingerprint": "5d7c3f19978cb63d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "packages/graph/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5e8ec492f2e29b8c", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: plugins/lastmile/package.json"}, "properties": {"repobilityId": "3fbd65f6367b463e", "scanner": "scanner-primary", "fingerprint": "5e8ec492f2e29b8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/lastmile/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8173a5bd52c054c8", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: plugins/plane/package.json"}, "properties": {"repobilityId": "fd8c4bab82c15679", "scanner": "scanner-primary", "fingerprint": "8173a5bd52c054c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/plane/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f4c4902d37fd32f", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: plugins/twenty/package.json"}, "properties": {"repobilityId": "d327d168eb39bc28", "scanner": "scanner-primary", "fingerprint": "7f4c4902d37fd32f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/twenty/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3954e9df5278f0b5", "level": "note", "message": {"text": "Node manifest has dependencies but no lockfile: plugins/company-brain/package.json"}, "properties": {"repobilityId": "2aca4e7e9d492a10", "scanner": "scanner-primary", "fingerprint": "3954e9df5278f0b5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["dependency", "lockfile", "reproducibility", "generated-repo-pattern"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/company-brain/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "fd90456794ede37f", "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": "4976059b3a34c1a6", "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": "4da08e25fc35c192", "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": "20254fb464f2f07c", "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": "1739586cdf521512", "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": "ec2d44685ce67b15", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-fbd909fb41ecd829", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: examples/skill-pack/github-issues/SKILL.md"}, "properties": {"repobilityId": "2ae5066558f69c2f", "scanner": "scanner-primary", "fingerprint": "fbd909fb41ecd829", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "examples/skill-pack/github-issues/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e725d2ab884fbd49", "level": "note", "message": {"text": "Multiple root agent instruction files without precedence"}, "properties": {"repobilityId": "1953db6c89508d22", "scanner": "scanner-primary", "fingerprint": "e725d2ab884fbd49", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["agent-instructions", "governance"]}}, {"ruleId": "scanner-9dc07f79fe096a77", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/cli/__tests__/registration-smoke.test.ts:233"}, "properties": {"repobilityId": "d54a00f6c8642cab", "scanner": "scanner-primary", "fingerprint": "9dc07f79fe096a77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-366286d9e38bb1ca", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/cli/__tests__/terraform-sandbox-host-fixture.test.ts:222"}, "properties": {"repobilityId": "9d18e528fa42915a", "scanner": "scanner-primary", "fingerprint": "366286d9e38bb1ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c2235b5db301d01", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/cli/src/commands/login.ts:680"}, "properties": {"repobilityId": "463ae3b0e3508ab4", "scanner": "scanner-primary", "fingerprint": "9c2235b5db301d01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c6d7ddad95ecea6e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/cli/src/commands/deploy.ts:464"}, "properties": {"repobilityId": "75dfc8c21a42e49f", "scanner": "scanner-primary", "fingerprint": "c6d7ddad95ecea6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99d085d81744b867", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/cli/src/commands/mcp.ts:538"}, "properties": {"repobilityId": "77fcb34dd2f1ff54", "scanner": "scanner-primary", "fingerprint": "99d085d81744b867", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-212cf5c3a26bf8d5", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/cli/src/commands/enterprise/deploy.ts:616"}, "properties": {"repobilityId": "d267b96f17910b8f", "scanner": "scanner-primary", "fingerprint": "212cf5c3a26bf8d5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4677447ccfeb7c9c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/cli/src/commands/enterprise/overlay.ts:140"}, "properties": {"repobilityId": "65a76221e86cd7f5", "scanner": "scanner-primary", "fingerprint": "4677447ccfeb7c9c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d6491d31256a8308", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/cli/src/commands/enterprise/templates/deploy-repo/scripts/apply-release.mjs:526"}, "properties": {"repobilityId": "a29cbf529ac01c69", "scanner": "scanner-primary", "fingerprint": "d6491d31256a8308", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8b25ea09e1253237", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/desktop/electron.vite.config.ts:31"}, "properties": {"repobilityId": "fb60efe19d572e66", "scanner": "scanner-primary", "fingerprint": "8b25ea09e1253237", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e2c7fdd4c7d08c3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/test/main/protocol.test.ts:57"}, "properties": {"repobilityId": "ec03f651171d48b3", "scanner": "scanner-primary", "fingerprint": "9e2c7fdd4c7d08c3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-65b258998d1360e2", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/main/protocol.ts:114"}, "properties": {"repobilityId": "b738e5a4d3868700", "scanner": "scanner-primary", "fingerprint": "65b258998d1360e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99c39b0f4acc3865", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/desktop/src/main/protocol.ts:114"}, "properties": {"repobilityId": "252685c7391f6611", "scanner": "scanner-primary", "fingerprint": "99c39b0f4acc3865", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4904a98774fcbc39", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/desktop/src/main/window.ts:70"}, "properties": {"repobilityId": "3e72f16efa56dbd0", "scanner": "scanner-primary", "fingerprint": "4904a98774fcbc39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-659bfdc58b6a64c1", "level": "none", "message": {"text": "Commented-code block (12 lines) in apps/mobile/metro.config.js:24"}, "properties": {"repobilityId": "55ee59d3d03e8a71", "scanner": "scanner-primary", "fingerprint": "659bfdc58b6a64c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5766a64c3943fd1", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/mobile/scripts/generate-brand-assets.mjs:143"}, "properties": {"repobilityId": "6b027bc024320792", "scanner": "scanner-primary", "fingerprint": "c5766a64c3943fd1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-544743a79437b7fb", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/mobile/components/threads/ActivityTimeline.tsx:1337"}, "properties": {"repobilityId": "9a3e08be3c68817a", "scanner": "scanner-primary", "fingerprint": "544743a79437b7fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a85c466b868056ec", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/mobile/components/wiki/graph/WikiGraphView.tsx:28"}, "properties": {"repobilityId": "8d409f96c01b6c30", "scanner": "scanner-primary", "fingerprint": "a85c466b868056ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8606aa77c11d4682", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/mobile/components/wiki/graph/KnowledgeGraph.tsx:106"}, "properties": {"repobilityId": "ce5a068cc236f8ea", "scanner": "scanner-primary", "fingerprint": "8606aa77c11d4682", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f34ae3849ab5d6ce", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/mobile/components/wiki/graph/hooks/useGraphCamera.ts:45"}, "properties": {"repobilityId": "758eb38c55e07810", "scanner": "scanner-primary", "fingerprint": "f34ae3849ab5d6ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76e2c20ece69ac54", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/components/wiki/graph/hooks/useForceSimulation.ts:107"}, "properties": {"repobilityId": "49fa2fc0b8185d6f", "scanner": "scanner-primary", "fingerprint": "76e2c20ece69ac54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ccd93ed1759f45a", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/app/_layout.tsx:233"}, "properties": {"repobilityId": "577de9509ea076d5", "scanner": "scanner-primary", "fingerprint": "3ccd93ed1759f45a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62214eafa2a74813", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/app/settings/billing.tsx:68"}, "properties": {"repobilityId": "047e46d01812c56a", "scanner": "scanner-primary", "fingerprint": "62214eafa2a74813", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-516ec39bfdd9234f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/app/settings/integration-detail.tsx:27"}, "properties": {"repobilityId": "c9faf2b57dc42b6b", "scanner": "scanner-primary", "fingerprint": "516ec39bfdd9234f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0cbf278b27afb99e", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/mobile/app/thread/[threadId]/index.tsx:540"}, "properties": {"repobilityId": "b4018c8025ab5441", "scanner": "scanner-primary", "fingerprint": "0cbf278b27afb99e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1587c4d69b8c4a15", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/mobile/app/auth/callback.tsx:14"}, "properties": {"repobilityId": "5ce7ac9fc232b5f0", "scanner": "scanner-primary", "fingerprint": "1587c4d69b8c4a15", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-345bf2ecc7f4257d", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/mobile/app/routines/builder.tsx:187"}, "properties": {"repobilityId": "174603fe93088b24", "scanner": "scanner-primary", "fingerprint": "345bf2ecc7f4257d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32252ce4149e8bd1", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/app/routines/[id]/executions/[executionId].tsx:127"}, "properties": {"repobilityId": "dde859918dae4ab7", "scanner": "scanner-primary", "fingerprint": "32252ce4149e8bd1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af034c192c113b2f", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/mobile/app/onboarding/complete.tsx:42"}, "properties": {"repobilityId": "ca944f7580639f50", "scanner": "scanner-primary", "fingerprint": "af034c192c113b2f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-feefda35d913f06e", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/app/(tabs)/index.tsx:391"}, "properties": {"repobilityId": "a9ce5224f2852685", "scanner": "scanner-primary", "fingerprint": "feefda35d913f06e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3111a2b89fb918ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/auth-context.tsx:198"}, "properties": {"repobilityId": "4c6d099311be90bc", "scanner": "scanner-primary", "fingerprint": "3111a2b89fb918ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44aa45d8e3cb3fa1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/lib/auth-context.tsx:452"}, "properties": {"repobilityId": "42026025369157ea", "scanner": "scanner-primary", "fingerprint": "44aa45d8e3cb3fa1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-794dabd7a322fabf", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/mobile/lib/auth.ts:214"}, "properties": {"repobilityId": "980b21e902358469", "scanner": "scanner-primary", "fingerprint": "794dabd7a322fabf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0a396a6569cb3dd8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/lib/auth.ts:310"}, "properties": {"repobilityId": "9cfecb8775f38ac2", "scanner": "scanner-primary", "fingerprint": "0a396a6569cb3dd8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a5e64145d7d0a2b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/cognito-storage.ts:38"}, "properties": {"repobilityId": "2e3ed9b72f700ec3", "scanner": "scanner-primary", "fingerprint": "a5e64145d7d0a2b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8aae6cf9d95d2129", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/loop.ts:3"}, "properties": {"repobilityId": "6e42e8652cfcdbce", "scanner": "scanner-primary", "fingerprint": "8aae6cf9d95d2129", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f3a44347212a791", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/index.ts:3"}, "properties": {"repobilityId": "0bb15f57b4996117", "scanner": "scanner-primary", "fingerprint": "6f3a44347212a791", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c588b3ab7a7c850", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/capture-image.ts:3"}, "properties": {"repobilityId": "40f688bb11d49161", "scanner": "scanner-primary", "fingerprint": "2c588b3ab7a7c850", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fe69c894113661c", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/persist-turn.ts:3"}, "properties": {"repobilityId": "028e1fc1d827656a", "scanner": "scanner-primary", "fingerprint": "2fe69c894113661c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a88cc6b16bcbbcc", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/mobile/lib/agent/types.ts:3"}, "properties": {"repobilityId": "e879a7bba95b78fe", "scanner": "scanner-primary", "fingerprint": "5a88cc6b16bcbbcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5753aa35ddd151b", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/turn-context.ts:3"}, "properties": {"repobilityId": "962f7147c5c5fb18", "scanner": "scanner-primary", "fingerprint": "e5753aa35ddd151b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09cdb7982dd2f990", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/extensions/load-extensions.ts:3"}, "properties": {"repobilityId": "e3bbeb31ee30e95e", "scanner": "scanner-primary", "fingerprint": "09cdb7982dd2f990", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7dffe3391b130a23", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/extensions/types.ts:3"}, "properties": {"repobilityId": "49874aa7378432c5", "scanner": "scanner-primary", "fingerprint": "7dffe3391b130a23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6614ae7054709dbb", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/mobile/lib/agent/tools/mcp-tool.ts:3"}, "properties": {"repobilityId": "eb2feb8805ceef76", "scanner": "scanner-primary", "fingerprint": "6614ae7054709dbb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7977a2cf123a086", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/mobile/lib/agent/tools/image-picker.ts:7"}, "properties": {"repobilityId": "b20a37b56298599a", "scanner": "scanner-primary", "fingerprint": "d7977a2cf123a086", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef6fc762213c0961", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/mobile/lib/hooks/use-users.ts:11"}, "properties": {"repobilityId": "eee3f11537c2d848", "scanner": "scanner-primary", "fingerprint": "ef6fc762213c0961", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4117fc1e29544552", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/mobile/lib/hooks/use-thread-read-state.ts:7"}, "properties": {"repobilityId": "5bf746fc6584217c", "scanner": "scanner-primary", "fingerprint": "4117fc1e29544552", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1d27943e904b156", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/mobile/lib/hooks/use-connections.ts:135"}, "properties": {"repobilityId": "ef54ad8585dfe107", "scanner": "scanner-primary", "fingerprint": "b1d27943e904b156", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-880f3564a928c626", "level": "none", "message": {"text": "Commented-code block (12 lines) in apps/web/vite.config.ts:7"}, "properties": {"repobilityId": "d1024a0a6e512017", "scanner": "scanner-primary", "fingerprint": "880f3564a928c626", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bef52297faac87a9", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/vite.iframe-shell.config.ts:44"}, "properties": {"repobilityId": "78d4f17e015edb23", "scanner": "scanner-primary", "fingerprint": "bef52297faac87a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8451c0b904546314", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/iframe-shell/main.ts:364"}, "properties": {"repobilityId": "2db097ae19739a70", "scanner": "scanner-primary", "fingerprint": "8451c0b904546314", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-309720c0fcfe4ecc", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/web/src/iframe-shell/__tests__/build-define-smoke.test.ts:128"}, "properties": {"repobilityId": "751cc9928aaed053", "scanner": "scanner-primary", "fingerprint": "309720c0fcfe4ecc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b48abbe990d1ad48", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/iframe-shell/__tests__/iframe-content-scan.test.ts:17"}, "properties": {"repobilityId": "366791c89cf5445c", "scanner": "scanner-primary", "fingerprint": "b48abbe990d1ad48", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4f51d36a75ce7828", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/SpacesSidebar.tsx:63"}, "properties": {"repobilityId": "4bd4f961bf119f52", "scanner": "scanner-primary", "fingerprint": "4f51d36a75ce7828", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b898030360b2bf5a", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/components/settings/SettingsEvalReplayTools.tsx:3"}, "properties": {"repobilityId": "76a77dbb9140b89b", "scanner": "scanner-primary", "fingerprint": "b898030360b2bf5a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcf4330e023ea8f8", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/settings/SettingsEvalDatasets.tsx:179"}, "properties": {"repobilityId": "9e6503e44336d55b", "scanner": "scanner-primary", "fingerprint": "fcf4330e023ea8f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4573e8a4254dad8", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/components/settings/settings-nav.tsx:79"}, "properties": {"repobilityId": "9b3ae5aa99b53492", "scanner": "scanner-primary", "fingerprint": "c4573e8a4254dad8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f809d699c5321f4", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/settings/EvalTestCaseForm.tsx:66"}, "properties": {"repobilityId": "28570fa4947cd12c", "scanner": "scanner-primary", "fingerprint": "3f809d699c5321f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e6d61ca63e09f24", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/components/settings/knowledge-graph/KnowledgeGraphExplorer.tsx:53"}, "properties": {"repobilityId": "c798ce408da16795", "scanner": "scanner-primary", "fingerprint": "7e6d61ca63e09f24", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47ddb94b84d4ded2", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/settings/plugins/PluginDetail.tsx:510"}, "properties": {"repobilityId": "05f19baf90727066", "scanner": "scanner-primary", "fingerprint": "47ddb94b84d4ded2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ca3540112b4ce05a", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/scheduled-jobs/ScheduledJobForm.tsx:1"}, "properties": {"repobilityId": "c7c97847efecc017", "scanner": "scanner-primary", "fingerprint": "ca3540112b4ce05a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38b7c83b9b01bb9a", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/components/workbench/SpacesComposer.tsx:192"}, "properties": {"repobilityId": "93f6516757fa6dbd", "scanner": "scanner-primary", "fingerprint": "38b7c83b9b01bb9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a24c1e5e67e50fe8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/workbench/SpacesComposer.tsx:586"}, "properties": {"repobilityId": "54e694d32e5da7c7", "scanner": "scanner-primary", "fingerprint": "a24c1e5e67e50fe8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-80cf78ed9b58c9a7", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/components/workbench/SpacesWorkbench.tsx:117"}, "properties": {"repobilityId": "afdefb791c080bbe", "scanner": "scanner-primary", "fingerprint": "80cf78ed9b58c9a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa5737d6df92be79", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/components/workbench/SpacesThreadDetailRoute.tsx:480"}, "properties": {"repobilityId": "766d344670a7a73e", "scanner": "scanner-primary", "fingerprint": "fa5737d6df92be79", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-37db5eb20d7ad305", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/workbench/TaskThreadView.tsx:420"}, "properties": {"repobilityId": "65a949183265cab8", "scanner": "scanner-primary", "fingerprint": "37db5eb20d7ad305", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee47cf95b9cf9ac0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/workbench/TaskThreadView.tsx:4887"}, "properties": {"repobilityId": "b1858d6c74b0c91d", "scanner": "scanner-primary", "fingerprint": "ee47cf95b9cf9ac0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-339c5bec7c362c9c", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/workbench/SpacesThreadDetailRoute.test.tsx:822"}, "properties": {"repobilityId": "fb5859c0f79002d8", "scanner": "scanner-primary", "fingerprint": "339c5bec7c362c9c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ab2b85d764d9950", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/workbench/StreamingMessageBuffer.test.tsx:38"}, "properties": {"repobilityId": "3beb27c9599621a2", "scanner": "scanner-primary", "fingerprint": "9ab2b85d764d9950", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df1dca6f156195b7", "level": "none", "message": {"text": "Commented-code block (11 lines) in apps/web/src/components/workbench/TaskThreadView.test.tsx:1019"}, "properties": {"repobilityId": "ba052971c31abc0f", "scanner": "scanner-primary", "fingerprint": "df1dca6f156195b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05fba393d2a0ba39", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/components/workbench/ThreadDetailActions.tsx:132"}, "properties": {"repobilityId": "00e12b02518bcbdf", "scanner": "scanner-primary", "fingerprint": "05fba393d2a0ba39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a2561e5d34f9d53", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/workbench/SpacesComposer.test.tsx:167"}, "properties": {"repobilityId": "6ed46d426e66fa83", "scanner": "scanner-primary", "fingerprint": "5a2561e5d34f9d53", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-807615d359aca3cd", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/shell/ChatSidebar.tsx:346"}, "properties": {"repobilityId": "a693e985ae5b8524", "scanner": "scanner-primary", "fingerprint": "807615d359aca3cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6848c92f51be99c5", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/ai-elements/reasoning.tsx:181"}, "properties": {"repobilityId": "ae29ac2a2435699b", "scanner": "scanner-primary", "fingerprint": "6848c92f51be99c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-afb045e499a68cd4", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/ai-elements/prompt-input.tsx:510"}, "properties": {"repobilityId": "603fdbb5d9372b50", "scanner": "scanner-primary", "fingerprint": "afb045e499a68cd4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-58708bbd77284265", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/components/ai-elements/prompt-input.tsx:173"}, "properties": {"repobilityId": "b77502a815ada8ec", "scanner": "scanner-primary", "fingerprint": "58708bbd77284265", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-800de0f9c5ec50a4", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/components/artifacts/SetAppStyleDialog.tsx:238"}, "properties": {"repobilityId": "78105a3d01b45df6", "scanner": "scanner-primary", "fingerprint": "800de0f9c5ec50a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91ae51c3005e7490", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/lib/auth.ts:490"}, "properties": {"repobilityId": "3aa34eeb0e5133db", "scanner": "scanner-primary", "fingerprint": "91ae51c3005e7490", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a55871731aee4648", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/lib/auth.ts:290"}, "properties": {"repobilityId": "b2a80859d754dd48", "scanner": "scanner-primary", "fingerprint": "a55871731aee4648", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-794b00d113ec319f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/lib/graphql-client.ts:10"}, "properties": {"repobilityId": "18dbc477279deede", "scanner": "scanner-primary", "fingerprint": "794b00d113ec319f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-95144b5af9be7e2b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/lib/api-fetch.ts:68"}, "properties": {"repobilityId": "24d1afc296a06ad2", "scanner": "scanner-primary", "fingerprint": "95144b5af9be7e2b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a1a3820a6b56adfb", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/lib/graphql-queries.ts:862"}, "properties": {"repobilityId": "360aa1afa09e2107", "scanner": "scanner-primary", "fingerprint": "a1a3820a6b56adfb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d67c735742a7239e", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/lib/applet-admin-queries.ts:8"}, "properties": {"repobilityId": "9f86388e6e99095e", "scanner": "scanner-primary", "fingerprint": "d67c735742a7239e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76b8981ae2db966d", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/lib/use-computer-thread-chunks.test.ts:51"}, "properties": {"repobilityId": "b168343428516cd8", "scanner": "scanner-primary", "fingerprint": "76b8981ae2db966d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-96931d005f6a94bb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 apps/web/src/lib/kb-files-api.ts:62"}, "properties": {"repobilityId": "27fee17e54af7ae6", "scanner": "scanner-primary", "fingerprint": "96931d005f6a94bb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-018b4b65136082bc", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/lib/use-composer-state.test.ts:103"}, "properties": {"repobilityId": "fd4f7ff6bf689d89", "scanner": "scanner-primary", "fingerprint": "018b4b65136082bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-526ddb6b127e6b39", "level": "none", "message": {"text": "Commented-code block (6 lines) in apps/web/src/routes/_authed.tsx:15"}, "properties": {"repobilityId": "a8fce6815039943c", "scanner": "scanner-primary", "fingerprint": "526ddb6b127e6b39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d7e3d10a9c06085", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.tsx:23"}, "properties": {"repobilityId": "f92a80e82e3b4e2c", "scanner": "scanner-primary", "fingerprint": "5d7e3d10a9c06085", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11b9ab7e66933391", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/_shell.tsx:38"}, "properties": {"repobilityId": "494f7aa2b53a9e9e", "scanner": "scanner-primary", "fingerprint": "11b9ab7e66933391", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3296a9f2ce85d8f0", "level": "none", "message": {"text": "Commented-code block (7 lines) in apps/web/src/routes/_authed/settings.local-workspace.tsx:3"}, "properties": {"repobilityId": "f20ee0dbb03ad0b2", "scanner": "scanner-primary", "fingerprint": "3296a9f2ce85d8f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db6027ef73070362", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.main-agent.tsx:3"}, "properties": {"repobilityId": "6149496ca03f143f", "scanner": "scanner-primary", "fingerprint": "db6027ef73070362", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28949c0fcabc9cf6", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.artifacts.$id.tsx:8"}, "properties": {"repobilityId": "26a448e8e02e384d", "scanner": "scanner-primary", "fingerprint": "28949c0fcabc9cf6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-917881a1f5550eb7", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/settings.agents.index.tsx:14"}, "properties": {"repobilityId": "1f30199c5b0a9ce7", "scanner": "scanner-primary", "fingerprint": "917881a1f5550eb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee767c353f52ed6e", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/web/src/routes/_authed/_shell/-artifacts.$id.test.tsx:183"}, "properties": {"repobilityId": "4f59f0dc5d27ad16", "scanner": "scanner-primary", "fingerprint": "ee767c353f52ed6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-078ef62e72c2e888", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/routes/_authed/_shell/artifacts.$id.tsx:230"}, "properties": {"repobilityId": "85921e9e088c4bcb", "scanner": "scanner-primary", "fingerprint": "078ef62e72c2e888", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b181f8dfba64a1f", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/applets/iframe-controller.ts:225"}, "properties": {"repobilityId": "b4739778c07834c1", "scanner": "scanner-primary", "fingerprint": "7b181f8dfba64a1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-470e429213283afe", "level": "none", "message": {"text": "Commented-code block (9 lines) in apps/web/src/applets/iframe-controller.test.ts:109"}, "properties": {"repobilityId": "efb448ca026239b6", "scanner": "scanner-primary", "fingerprint": "470e429213283afe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec71ff40a5687ce1", "level": "none", "message": {"text": "Commented-code block (8 lines) in apps/web/src/context/TenantContext.tsx:229"}, "properties": {"repobilityId": "2e6bf09d2e7f30d6", "scanner": "scanner-primary", "fingerprint": "ec71ff40a5687ce1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fdb81776f16017c2", "level": "none", "message": {"text": "Commented-code block (5 lines) in apps/web/src/context/TenantContext.role.test.tsx:116"}, "properties": {"repobilityId": "2a45cff2165b0266", "scanner": "scanner-primary", "fingerprint": "fdb81776f16017c2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e9847695306044e7", "level": "none", "message": {"text": "Commented-code block (5 lines) in docs/scripts/generate-brand-assets.mjs:2"}, "properties": {"repobilityId": "74a245ac588892e2", "scanner": "scanner-primary", "fingerprint": "e9847695306044e7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12e6856c86e3e89c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/verify-thread-traces.ts:160"}, "properties": {"repobilityId": "d490e060e7e3abc9", "scanner": "scanner-primary", "fingerprint": "12e6856c86e3e89c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b522b40935fb726e", "level": "none", "message": {"text": "Commented-code block (9 lines) in scripts/lint-agentcore-iam.mjs:12"}, "properties": {"repobilityId": "ed8804f3aa7ab445", "scanner": "scanner-primary", "fingerprint": "b522b40935fb726e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3840f533c7ed2468", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/cloudflare-sync-mcp.ts:264"}, "properties": {"repobilityId": "1a45bd7ef87bba76", "scanner": "scanner-primary", "fingerprint": "3840f533c7ed2468", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dd78ecade167edbe", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-appsync-streaming-smoke.mjs:194"}, "properties": {"repobilityId": "4f9fa167363d96ea", "scanner": "scanner-primary", "fingerprint": "dd78ecade167edbe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5599eafb673edba7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-runbook-smoke.mjs:411"}, "properties": {"repobilityId": "70e2bb332683cd6f", "scanner": "scanner-primary", "fingerprint": "5599eafb673edba7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c2b35e70b8f2f2f4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-thread-streaming-smoke.mjs:310"}, "properties": {"repobilityId": "5898e926eae092a4", "scanner": "scanner-primary", "fingerprint": "c2b35e70b8f2f2f4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2a4383e5c3d39fa1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-surface-smoke.mjs:554"}, "properties": {"repobilityId": "51620343e3fcc43b", "scanner": "scanner-primary", "fingerprint": "2a4383e5c3d39fa1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8f3847cd4568971f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/knowledge-graph-source-ingest-smoke-lib.mjs:359"}, "properties": {"repobilityId": "a1d571ec88acba82", "scanner": "scanner-primary", "fingerprint": "8f3847cd4568971f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6ec9d6cbfb9f9829", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-crm-dashboard-prompt-smoke.mjs:276"}, "properties": {"repobilityId": "e94a0a31d45536b7", "scanner": "scanner-primary", "fingerprint": "6ec9d6cbfb9f9829", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-499e3383a688cb13", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/spaces-applet-pipeline-smoke.mjs:213"}, "properties": {"repobilityId": "f1cde376e4649be1", "scanner": "scanner-primary", "fingerprint": "499e3383a688cb13", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7dbf792abcc67c73", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/smoke/knowledge-graph-thread-ingest-smoke.mjs:400"}, "properties": {"repobilityId": "39a7098be0b32337", "scanner": "scanner-primary", "fingerprint": "7dbf792abcc67c73", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3b9ecb9be553b853", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/lib/brain-path.mjs:9"}, "properties": {"repobilityId": "bcc21aed5d2931a4", "scanner": "scanner-primary", "fingerprint": "3b9ecb9be553b853", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6bf0ba6bf81e6eaf", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/agent-skills-list.ts:46"}, "properties": {"repobilityId": "33ffbe5f56114fd7", "scanner": "scanner-primary", "fingerprint": "6bf0ba6bf81e6eaf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9a9117064448f53e", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/workspace-files.ts:157"}, "properties": {"repobilityId": "32faf823c253b34c", "scanner": "scanner-primary", "fingerprint": "9a9117064448f53e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-477749d68ac06c2d", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/knowledge-base-manager.ts:30"}, "properties": {"repobilityId": "8ae557240cfb7e66", "scanner": "scanner-primary", "fingerprint": "477749d68ac06c2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f68da37b5f20e3c", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/vitest.config.ts:33"}, "properties": {"repobilityId": "2f7a288fe1ca1da3", "scanner": "scanner-primary", "fingerprint": "1f68da37b5f20e3c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b985742c8b9b2b3a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/test/integration/thread-tenant-pin.test.ts:368"}, "properties": {"repobilityId": "5fb1c27479fe21b0", "scanner": "scanner-primary", "fingerprint": "b985742c8b9b2b3a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-da7955810349d02f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/test/integration/skill-runs/chat-intent.test.ts:21"}, "properties": {"repobilityId": "e622137578bd67d8", "scanner": "scanner-primary", "fingerprint": "da7955810349d02f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-23de19d3613537ca", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/test/integration/skill-runs/reconciler-hitl-loop.test.ts:40"}, "properties": {"repobilityId": "d7da1989192fb039", "scanner": "scanner-primary", "fingerprint": "23de19d3613537ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fcb9fa85a369549b", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/test/integration/skill-runs/_harness/index.ts:83"}, "properties": {"repobilityId": "58927622069ea8fb", "scanner": "scanner-primary", "fingerprint": "fcb9fa85a369549b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-165ea15aebfa600a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/test/integration/context-engine/company-brain-context.e2e.test.ts:48"}, "properties": {"repobilityId": "1def1461909bd749", "scanner": "scanner-primary", "fingerprint": "165ea15aebfa600a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-db6d8ae870b9f62a", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/test/integration/sandbox/sandbox-pilot.e2e.test.ts:86"}, "properties": {"repobilityId": "5332241c8e9677dc", "scanner": "scanner-primary", "fingerprint": "db6d8ae870b9f62a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bdced81d172b1fa9", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/test/integration/sandbox/sandbox-cap-breach.e2e.test.ts:89"}, "properties": {"repobilityId": "3c6ffa8a8bb300a6", "scanner": "scanner-primary", "fingerprint": "bdced81d172b1fa9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20318dfc8f4f0894", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/test/integration/sandbox/_harness/fixtures.ts:251"}, "properties": {"repobilityId": "b1de2a6470b3a5aa", "scanner": "scanner-primary", "fingerprint": "20318dfc8f4f0894", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e04b55cad9061a19", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/test/integration/user-memory-mcp/_harness/mcp-json-rpc.ts:61"}, "properties": {"repobilityId": "e6b663e54c3a23a5", "scanner": "scanner-primary", "fingerprint": "e04b55cad9061a19", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1acac8ccc23478ed", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/test/integration/compliance-emit/compliance-emit.integration.test.ts:19"}, "properties": {"repobilityId": "373fed1e088c9263", "scanner": "scanner-primary", "fingerprint": "1acac8ccc23478ed", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ffe98b22ffd04d0", "level": "note", "message": {"text": "Legacy-named symbol `daysOld` in packages/api/scripts/wipe-external-memory-stores.ts:159"}, "properties": {"repobilityId": "c8836b9b0cf4b643", "scanner": "scanner-primary", "fingerprint": "7ffe98b22ffd04d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f30ac1f1811f13da", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/scripts/wiki-places-audit.ts:83"}, "properties": {"repobilityId": "4bdac94ff9caa33f", "scanner": "scanner-primary", "fingerprint": "f30ac1f1811f13da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb673016875eb78d", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/scripts/backfill-materialize-workspaces.ts:98"}, "properties": {"repobilityId": "3728509bdf796c51", "scanner": "scanner-primary", "fingerprint": "eb673016875eb78d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ffc7d756d6319d0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/scripts/pi-runtime-capability-smoke.ts:203"}, "properties": {"repobilityId": "33bc78828b58875e", "scanner": "scanner-primary", "fingerprint": "5ffc7d756d6319d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ebdb285bf77ce43d", "level": "note", "message": {"text": "Legacy-named symbol `totalLegacy` in packages/api/scripts/wipe-external-memory-stores.test.ts:142"}, "properties": {"repobilityId": "d04478cd94c7e435", "scanner": "scanner-primary", "fingerprint": "ebdb285bf77ce43d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a871b37b45434f74", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/__tests__/thread-lifecycle-status-loader.test.ts:159"}, "properties": {"repobilityId": "c004811d04e6f5e8", "scanner": "scanner-primary", "fingerprint": "a871b37b45434f74", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6149a920f6837f81", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/workspace-files-handler.test.ts:82"}, "properties": {"repobilityId": "5937a64260b707ea", "scanner": "scanner-primary", "fingerprint": "6149a920f6837f81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5aa9ea07e3332db", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/skills-complete-handler.test.ts:78"}, "properties": {"repobilityId": "ece9fc3c602adb4d", "scanner": "scanner-primary", "fingerprint": "f5aa9ea07e3332db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e183b168cf9d05b3", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/webhook-shared.test.ts:174"}, "properties": {"repobilityId": "e6d14e184d8f1b0e", "scanner": "scanner-primary", "fingerprint": "e183b168cf9d05b3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b1c158c09a45640", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/tenant-member-mutations.test.ts:72"}, "properties": {"repobilityId": "a09de84107bad7e0", "scanner": "scanner-primary", "fingerprint": "2b1c158c09a45640", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f71b42472d57e405", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/graphql-contract.test.ts:841"}, "properties": {"repobilityId": "65f264bff0e1b522", "scanner": "scanner-primary", "fingerprint": "f71b42472d57e405", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3821f354644de0d2", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/mobile-wiki-search.test.ts:331"}, "properties": {"repobilityId": "717b23bfc488ae2d", "scanner": "scanner-primary", "fingerprint": "3821f354644de0d2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14a3fc73b6d0cbba", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-journal-import.test.ts:307"}, "properties": {"repobilityId": "3eb1e00953b61969", "scanner": "scanner-primary", "fingerprint": "14a3fc73b6d0cbba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0965b0b0b1d316f5", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-deterministic-linker.test.ts:282"}, "properties": {"repobilityId": "ec74a306ee3a68e1", "scanner": "scanner-primary", "fingerprint": "0965b0b0b1d316f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb856923f37db599", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/api/src/__tests__/admin-rest-auth-bridge.test.ts:135"}, "properties": {"repobilityId": "350242f25a6bd8af", "scanner": "scanner-primary", "fingerprint": "fb856923f37db599", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7f3a01fc6c5267c7", "level": "note", "message": {"text": "Legacy-named symbol `nOld` in packages/api/src/__tests__/wiki-draft-compile.test.ts:375"}, "properties": {"repobilityId": "6392358dfb0c88f2", "scanner": "scanner-primary", "fingerprint": "7f3a01fc6c5267c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bc5bfca79e9ebdf1", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/__tests__/skills-start-handler.test.ts:76"}, "properties": {"repobilityId": "afe195c1e580406e", "scanner": "scanner-primary", "fingerprint": "bc5bfca79e9ebdf1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ddc37c181323887", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/admin-authz.test.ts:35"}, "properties": {"repobilityId": "f18dfc88c7aaf5ec", "scanner": "scanner-primary", "fingerprint": "4ddc37c181323887", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cbc3089896c4bf0", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-backlinks-resolver.test.ts:34"}, "properties": {"repobilityId": "ef2290db0ab51f6b", "scanner": "scanner-primary", "fingerprint": "9cbc3089896c4bf0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea90d499a6b999d5", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/draft-review-writeback.test.ts:19"}, "properties": {"repobilityId": "a4a8bedf5b1701bd", "scanner": "scanner-primary", "fingerprint": "ea90d499a6b999d5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8493cac000633a6f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/__tests__/wiki-compiler.test.ts:1855"}, "properties": {"repobilityId": "b13ba314627df0ff", "scanner": "scanner-primary", "fingerprint": "8493cac000633a6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cac588d7ac309235", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/__smoke__/pi-marco-smoke.ts:48"}, "properties": {"repobilityId": "ee4105b384c10d69", "scanner": "scanner-primary", "fingerprint": "cac588d7ac309235", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d81a311ca32b9ea5", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/api/src/__smoke__/compliance-anchor-smoke.ts:34"}, "properties": {"repobilityId": "9e88e27f108487dc", "scanner": "scanner-primary", "fingerprint": "d81a311ca32b9ea5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-584672511b8595ac", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/mcp-configs.ts:87"}, "properties": {"repobilityId": "3f75deed34461020", "scanner": "scanner-primary", "fingerprint": "584672511b8595ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02a069e94ef92450", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/mcp-configs.ts:359"}, "properties": {"repobilityId": "80a857d0a32015ec", "scanner": "scanner-primary", "fingerprint": "02a069e94ef92450", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-51389bde0da06f62", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/workspace-lanes.ts:30"}, "properties": {"repobilityId": "450bb069acd04f57", "scanner": "scanner-primary", "fingerprint": "51389bde0da06f62", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e64f3dfd1037b378", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/git-ref-fetcher.ts:35"}, "properties": {"repobilityId": "ead71eb93b42b36f", "scanner": "scanner-primary", "fingerprint": "e64f3dfd1037b378", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7823797b97ee1eb7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/oauth-token.ts:316"}, "properties": {"repobilityId": "8126bc94ba73da2c", "scanner": "scanner-primary", "fingerprint": "7823797b97ee1eb7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-22770569f844bead", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/skill-md-parser.ts:292"}, "properties": {"repobilityId": "11f4b972f02b0c12", "scanner": "scanner-primary", "fingerprint": "22770569f844bead", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c53a7722af7d310b", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/stripe-plans.test.ts:24"}, "properties": {"repobilityId": "810e06e62ad47243", "scanner": "scanner-primary", "fingerprint": "c53a7722af7d310b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5f10e7b79da0e28", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/cognito-auth.test.ts:60"}, "properties": {"repobilityId": "473c14fec6fb7b85", "scanner": "scanner-primary", "fingerprint": "c5f10e7b79da0e28", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eecaa02e76be52f3", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/tenant-membership.ts:84"}, "properties": {"repobilityId": "740335da390b558a", "scanner": "scanner-primary", "fingerprint": "eecaa02e76be52f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-906df7707b822b9f", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/cloudflare-namespace-token.ts:45"}, "properties": {"repobilityId": "af79ef8cb86c0a25", "scanner": "scanner-primary", "fingerprint": "906df7707b822b9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7437a4e3144b6cb9", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/user-md-writer.ts:402"}, "properties": {"repobilityId": "88b4826094a665d4", "scanner": "scanner-primary", "fingerprint": "7437a4e3144b6cb9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8262ed97a0c1a253", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/resolve-agent-runtime-config.ts:670"}, "properties": {"repobilityId": "379268c698228f9e", "scanner": "scanner-primary", "fingerprint": "8262ed97a0c1a253", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b0415a448d670e3", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/placeholder-aware-comparator.ts:151"}, "properties": {"repobilityId": "196a986df3a285c5", "scanner": "scanner-primary", "fingerprint": "2b0415a448d670e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2103dfb26a93d63f", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/agent-dispatch-payload.ts:109"}, "properties": {"repobilityId": "76763f55bc98cc98", "scanner": "scanner-primary", "fingerprint": "2103dfb26a93d63f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-353cfa8165b77f01", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/api/src/lib/chat-finalize/process-finalize.ts:519"}, "properties": {"repobilityId": "7a5e155d46263203", "scanner": "scanner-primary", "fingerprint": "353cfa8165b77f01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0aaa5013b29532f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/chat-finalize/reconcile.ts:628"}, "properties": {"repobilityId": "5369066bde0cba11", "scanner": "scanner-primary", "fingerprint": "e0aaa5013b29532f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59d9eec038af7862", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/chat-finalize/reconcile.test.ts:618"}, "properties": {"repobilityId": "70d176f11cadd549", "scanner": "scanner-primary", "fingerprint": "59d9eec038af7862", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2de785fe115fbcb", "level": "note", "message": {"text": "Legacy-named symbol `nLegacy` in packages/api/src/lib/__tests__/workspace-map-generator.test.ts:882"}, "properties": {"repobilityId": "a1f8c09a2d054627", "scanner": "scanner-primary", "fingerprint": "c2de785fe115fbcb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b2a8dd7421402d83", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/knowledge-graph/cognee-client.ts:237"}, "properties": {"repobilityId": "47ebc7afebc9986f", "scanner": "scanner-primary", "fingerprint": "b2a8dd7421402d83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-588498a794d5a667", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/context-engine/providers/wiki.ts:19"}, "properties": {"repobilityId": "395c00f7a914c7ae", "scanner": "scanner-primary", "fingerprint": "588498a794d5a667", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b423cc00807d904e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/routines/sfn-client.ts:37"}, "properties": {"repobilityId": "29afb28e09a64f14", "scanner": "scanner-primary", "fingerprint": "b423cc00807d904e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5bd23f2224007b9a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/routines/n8n/workflow-mapper.ts:546"}, "properties": {"repobilityId": "0d7644e4bd368995", "scanner": "scanner-primary", "fingerprint": "5bd23f2224007b9a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a7a89a1613ce40cd", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/planner.ts:593"}, "properties": {"repobilityId": "a1f76a33530db7c4", "scanner": "scanner-primary", "fingerprint": "a7a89a1613ce40cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a676739beb34096a", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/wiki/graph-materializer.ts:313"}, "properties": {"repobilityId": "368db0d148dc4759", "scanner": "scanner-primary", "fingerprint": "a676739beb34096a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-091a79eefb46a363", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/deterministic-linker.ts:285"}, "properties": {"repobilityId": "b1da64eaaa810932", "scanner": "scanner-primary", "fingerprint": "091a79eefb46a363", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06e73e5f99ee33b4", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/wiki/compiler.ts:453"}, "properties": {"repobilityId": "d527a707787308c2", "scanner": "scanner-primary", "fingerprint": "06e73e5f99ee33b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad39962e237ab976", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/repository.ts:1220"}, "properties": {"repobilityId": "e0925f0563255e3a", "scanner": "scanner-primary", "fingerprint": "ad39962e237ab976", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0471df98c199eca", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/wiki/parent-expander.ts:21"}, "properties": {"repobilityId": "76f9cc06f8900123", "scanner": "scanner-primary", "fingerprint": "d0471df98c199eca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77e4682c5d84f954", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/wiki/draft-compile.ts:375"}, "properties": {"repobilityId": "0dc3b28527f81aef", "scanner": "scanner-primary", "fingerprint": "77e4682c5d84f954", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ae48a0bfbf409e6", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/places-service.ts:342"}, "properties": {"repobilityId": "7eed76fd41a5234b", "scanner": "scanner-primary", "fingerprint": "9ae48a0bfbf409e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19c076422ead751b", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/wiki/enqueue.ts:92"}, "properties": {"repobilityId": "b6ba0b04b0c47514", "scanner": "scanner-primary", "fingerprint": "19c076422ead751b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab9df5162a90f300", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/wiki/link-backfill.ts:282"}, "properties": {"repobilityId": "4d2cdd8111478e5d", "scanner": "scanner-primary", "fingerprint": "ab9df5162a90f300", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-805bae14a115a532", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/workspace-renderer/compose-tuple.ts:526"}, "properties": {"repobilityId": "fa8492803f4a4f34", "scanner": "scanner-primary", "fingerprint": "805bae14a115a532", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-707011fb75399252", "level": "note", "message": {"text": "Legacy-named symbol `withLegacy` in packages/api/src/lib/workspace-renderer/agents-md-composer.test.ts:54"}, "properties": {"repobilityId": "85c68f1ab5238216", "scanner": "scanner-primary", "fingerprint": "707011fb75399252", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7d99fdbc29f7ba25", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/compliance/hash-chain.ts:90"}, "properties": {"repobilityId": "0308d7f299a6d332", "scanner": "scanner-primary", "fingerprint": "7d99fdbc29f7ba25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f5b2724080aa73d", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/compliance/event-schemas.ts:231"}, "properties": {"repobilityId": "f0c738192dc1da2c", "scanner": "scanner-primary", "fingerprint": "0f5b2724080aa73d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-902f3fd4c2f35238", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/compliance/reader-db.ts:70"}, "properties": {"repobilityId": "28405500b0dc2926", "scanner": "scanner-primary", "fingerprint": "902f3fd4c2f35238", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82fa931b41b50677", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/api/src/lib/compliance/redaction.ts:26"}, "properties": {"repobilityId": "849e79d3bb482356", "scanner": "scanner-primary", "fingerprint": "82fa931b41b50677", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5a421a3194ed62d", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/deployments/start-plan-job.ts:89"}, "properties": {"repobilityId": "334e36993e23890c", "scanner": "scanner-primary", "fingerprint": "e5a421a3194ed62d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f006ee87509b4fbb", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/ontology/suggestions.ts:413"}, "properties": {"repobilityId": "c06ad052c0661fb2", "scanner": "scanner-primary", "fingerprint": "f006ee87509b4fbb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f05c77894323abc", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/memory/adapters/agentcore-adapter.ts:185"}, "properties": {"repobilityId": "2c8cfd7cc40334be", "scanner": "scanner-primary", "fingerprint": "1f05c77894323abc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dcbc83aa54fc7f2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/applets/source-policy.test.ts:34"}, "properties": {"repobilityId": "ee1e604d55e5ded0", "scanner": "scanner-primary", "fingerprint": "1dcbc83aa54fc7f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10b075f412c1e8c3", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/applets/source-policy.ts:216"}, "properties": {"repobilityId": "015f7ebf1002f998", "scanner": "scanner-primary", "fingerprint": "10b075f412c1e8c3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2525e0f3ae7f078d", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/user-questions/intake.ts:260"}, "properties": {"repobilityId": "69fdf39e8fb485da", "scanner": "scanner-primary", "fingerprint": "2525e0f3ae7f078d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52393dd3483690ff", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/evals/dataset-store.ts:1128"}, "properties": {"repobilityId": "b3c7f3b17b8db759", "scanner": "scanner-primary", "fingerprint": "52393dd3483690ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d95c4d4607766574", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/evals/dataset-store.ts:223"}, "properties": {"repobilityId": "7b1c1e4231af242a", "scanner": "scanner-primary", "fingerprint": "d95c4d4607766574", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-87ee2d76e0852608", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/evals/run-launch.ts:235"}, "properties": {"repobilityId": "e755f15012be034d", "scanner": "scanner-primary", "fingerprint": "87ee2d76e0852608", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32c6641edf69d186", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/evals/agentcore-direct.ts:264"}, "properties": {"repobilityId": "7f7af00c76367b30", "scanner": "scanner-primary", "fingerprint": "32c6641edf69d186", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-afbc2f5eaf1c912a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/evals/skill-eval-run.ts:82"}, "properties": {"repobilityId": "7d35c105ee58f781", "scanner": "scanner-primary", "fingerprint": "afbc2f5eaf1c912a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2de2f5ff3d991a53", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/api/src/lib/evals/dataset-store.test.ts:722"}, "properties": {"repobilityId": "91b2ae5ca4a6e852", "scanner": "scanner-primary", "fingerprint": "2de2f5ff3d991a53", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d4023bc50ebf809e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/evals/engines/in-house.ts:173"}, "properties": {"repobilityId": "472000ff98163c73", "scanner": "scanner-primary", "fingerprint": "d4023bc50ebf809e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3d05fa6cb062dd3", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/brain/enrichment-apply.ts:537"}, "properties": {"repobilityId": "0006e5e70bd9e92e", "scanner": "scanner-primary", "fingerprint": "d3d05fa6cb062dd3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e3a97f6cd62fcf6", "level": "note", "message": {"text": "Legacy-named symbol `rOld` in packages/api/src/lib/brain/enrichment-apply-draft.test.ts:249"}, "properties": {"repobilityId": "0b19787413ed4899", "scanner": "scanner-primary", "fingerprint": "8e3a97f6cd62fcf6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ad48fdf0d825d518", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/lib/brain/enrichment-apply-draft.test.ts:360"}, "properties": {"repobilityId": "506dd5fb1f2cab5d", "scanner": "scanner-primary", "fingerprint": "ad48fdf0d825d518", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-664abb962d8ea129", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/brain/enrichment-types.ts:3"}, "properties": {"repobilityId": "c10024ad081b83d2", "scanner": "scanner-primary", "fingerprint": "664abb962d8ea129", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ac43b88acaeaeaf", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/brain/draft-review-writeback.ts:201"}, "properties": {"repobilityId": "386cf1c833203c88", "scanner": "scanner-primary", "fingerprint": "5ac43b88acaeaeaf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-734f4745df0a9c0d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/lib/slack/file-attachments.ts:278"}, "properties": {"repobilityId": "18834f8f6abcb702", "scanner": "scanner-primary", "fingerprint": "734f4745df0a9c0d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-502bde16e29fca76", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/lib/plugins/engine.ts:425"}, "properties": {"repobilityId": "02fca53906f21207", "scanner": "scanner-primary", "fingerprint": "502bde16e29fca76", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-921ef71958351b90", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/lib/plugins/activation.ts:682"}, "properties": {"repobilityId": "427a6f1d8ef32921", "scanner": "scanner-primary", "fingerprint": "921ef71958351b90", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dedf724ea8cdfdad", "level": "none", "message": {"text": "Commented-code block (13 lines) in packages/api/src/lib/plugins/handlers/infra.ts:455"}, "properties": {"repobilityId": "2d5704958c2515f0", "scanner": "scanner-primary", "fingerprint": "dedf724ea8cdfdad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06767088b59b6833", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/utils.ts:560"}, "properties": {"repobilityId": "7f7fd5e66e0f95b7", "scanner": "scanner-primary", "fingerprint": "06767088b59b6833", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-21f5a2e41363be9f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/server.ts:129"}, "properties": {"repobilityId": "85b4f016e02c1c98", "scanner": "scanner-primary", "fingerprint": "21f5a2e41363be9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd9f0bf8db295618", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/skill-runs/startSkillRun.mutation.ts:87"}, "properties": {"repobilityId": "edf5b6e25f7a284a", "scanner": "scanner-primary", "fingerprint": "cd9f0bf8db295618", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08ab7b66b600562f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/triggers/updateScheduledJob.mutation.ts:63"}, "properties": {"repobilityId": "71e3daecf1a52cce", "scanner": "scanner-primary", "fingerprint": "08ab7b66b600562f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-167f1757580125b1", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/graphql/resolvers/triggers/index.ts:19"}, "properties": {"repobilityId": "1b35a4b0f3b27d86", "scanner": "scanner-primary", "fingerprint": "167f1757580125b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-deed99f00d117fc6", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/threads/updateThread.mutation.ts:250"}, "properties": {"repobilityId": "40756742cd874eb8", "scanner": "scanner-primary", "fingerprint": "deed99f00d117fc6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8fb33758ec05cfd5", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/thread.query.ts:71"}, "properties": {"repobilityId": "0e2e6d3ea10cf993", "scanner": "scanner-primary", "fingerprint": "8fb33758ec05cfd5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c5a7a0d2417d54cb", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/api/src/graphql/resolvers/threads/threads.query.ts:17"}, "properties": {"repobilityId": "6e6ac71a01011e95", "scanner": "scanner-primary", "fingerprint": "c5a7a0d2417d54cb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ca0d9fde518e958", "level": "note", "message": {"text": "Legacy-named symbol `tp_legacy` in packages/api/src/graphql/resolvers/threads/unreadThreadCount.query.ts:49"}, "properties": {"repobilityId": "96935c8f4eecaf16", "scanner": "scanner-primary", "fingerprint": "2ca0d9fde518e958", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3030a0473bfe359f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/unreadThreadCount.query.ts:8"}, "properties": {"repobilityId": "eb765ad4dc12285f", "scanner": "scanner-primary", "fingerprint": "3030a0473bfe359f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86548b817708319a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/threadsPaged.query.ts:47"}, "properties": {"repobilityId": "b0c0f96e8c4e0ff2", "scanner": "scanner-primary", "fingerprint": "86548b817708319a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bfeac3318a1cf692", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/graphql/resolvers/threads/createThread.mutation.ts:84"}, "properties": {"repobilityId": "54a1da39012bc75d", "scanner": "scanner-primary", "fingerprint": "bfeac3318a1cf692", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d12c260aad5a4083", "level": "note", "message": {"text": "Legacy-named symbol `tp_legacy` in packages/api/src/graphql/resolvers/threads/unreadThreadCount.query.test.ts:19"}, "properties": {"repobilityId": "bb48b23a3dd1c5c9", "scanner": "scanner-primary", "fingerprint": "d12c260aad5a4083", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d47de3b71afaa168", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/threads/threadPins.readstate.test.ts:3"}, "properties": {"repobilityId": "893eb5c42fa4329c", "scanner": "scanner-primary", "fingerprint": "d47de3b71afaa168", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d7bde442dee68614", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/api/src/graphql/resolvers/threads/threadPins.shared.ts:162"}, "properties": {"repobilityId": "a51f92acfedcef8d", "scanner": "scanner-primary", "fingerprint": "d7bde442dee68614", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dbdeff136c6863ca", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/api/src/graphql/resolvers/threads/loaders.ts:121"}, "properties": {"repobilityId": "31d12f533432221a", "scanner": "scanner-primary", "fingerprint": "dbdeff136c6863ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc8ca7e8ebb7c8a6", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/threads/escalateThread.mutation.ts:37"}, "properties": {"repobilityId": "f448459e7c0b2382", "scanner": "scanner-primary", "fingerprint": "dc8ca7e8ebb7c8a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8cf8d3fb265c8ccc", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/api/src/graphql/resolvers/threads/types.ts:106"}, "properties": {"repobilityId": "dfb3456fcd5f7685", "scanner": "scanner-primary", "fingerprint": "8cf8d3fb265c8ccc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-926b9ff1c0ea5ed7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/routines/tenantToolInventory.query.ts:235"}, "properties": {"repobilityId": "37d03ee3536527ca", "scanner": "scanner-primary", "fingerprint": "926b9ff1c0ea5ed7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-753efaa6c02ddeff", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/graphql/resolvers/routines/publishRoutineVersion.mutation.ts:155"}, "properties": {"repobilityId": "2040f9d034879d8a", "scanner": "scanner-primary", "fingerprint": "753efaa6c02ddeff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d352694cfae0272a", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/wiki/wikiBacklinks.query.ts:47"}, "properties": {"repobilityId": "e39b2bd34979ab27", "scanner": "scanner-primary", "fingerprint": "d352694cfae0272a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e89e3b07f61b5245", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/wiki/wikiGraph.query.ts:92"}, "properties": {"repobilityId": "72a851770a360bbe", "scanner": "scanner-primary", "fingerprint": "e89e3b07f61b5245", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f80905244c86609c", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/compliance/query.ts:227"}, "properties": {"repobilityId": "7e37d72f426241ff", "scanner": "scanner-primary", "fingerprint": "f80905244c86609c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6443a7bdb6f4528a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/compliance/exports.ts:69"}, "properties": {"repobilityId": "c8641381bedf75d3", "scanner": "scanner-primary", "fingerprint": "6443a7bdb6f4528a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1eb1d045ac5312b0", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/evaluations/index.test.ts:1822"}, "properties": {"repobilityId": "676fe6426a9c63f6", "scanner": "scanner-primary", "fingerprint": "1eb1d045ac5312b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8503ea6479fa2c06", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/evaluations/index.ts:453"}, "properties": {"repobilityId": "52116ac886a4eb18", "scanner": "scanner-primary", "fingerprint": "8503ea6479fa2c06", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d5660842ead4998", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/evaluations/flag-thread.ts:376"}, "properties": {"repobilityId": "d50379af07170c63", "scanner": "scanner-primary", "fingerprint": "6d5660842ead4998", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5bae2b7775726f91", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/messages/answerUserQuestion.mutation.ts:121"}, "properties": {"repobilityId": "bbee6ab4af8a3cdd", "scanner": "scanner-primary", "fingerprint": "5bae2b7775726f91", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-446580896949a73d", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/messages/sendMessage.mutation.ts:135"}, "properties": {"repobilityId": "1049f559bc79acec", "scanner": "scanner-primary", "fingerprint": "446580896949a73d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6a0330e1a8c3541", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/api/src/graphql/resolvers/core/resolve-auth-user.ts:29"}, "properties": {"repobilityId": "7efb2008b8dc9cbd", "scanner": "scanner-primary", "fingerprint": "a6a0330e1a8c3541", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0b1c10470ad7d36", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/core/me.query.ts:20"}, "properties": {"repobilityId": "b9734a606c81c13b", "scanner": "scanner-primary", "fingerprint": "f0b1c10470ad7d36", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a0e8410d95cc8be2", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/graphql/resolvers/core/inviteMember.mutation.ts:47"}, "properties": {"repobilityId": "56a6e8464141e624", "scanner": "scanner-primary", "fingerprint": "a0e8410d95cc8be2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f7a6f04ba5953fb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/graphql/resolvers/core/setKnowledgeGraphDeployment.mutation.ts:135"}, "properties": {"repobilityId": "30585e033a9dc64c", "scanner": "scanner-primary", "fingerprint": "9f7a6f04ba5953fb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-774a42a87c620659", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/core/updateUserProfile.mutation.ts:143"}, "properties": {"repobilityId": "de88f9ec58ec58ba", "scanner": "scanner-primary", "fingerprint": "774a42a87c620659", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb1756b1e2385e16", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/api/src/graphql/resolvers/core/createTenant.mutation.ts:41"}, "properties": {"repobilityId": "defe9c7a8db515ca", "scanner": "scanner-primary", "fingerprint": "cb1756b1e2385e16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-82722f767392490b", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/inbox/decideInboxItem.mutation.ts:33"}, "properties": {"repobilityId": "c6b98adb03d4d1ce", "scanner": "scanner-primary", "fingerprint": "82722f767392490b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1701c0633cdf7f19", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/inbox/routine-approval-bridge.ts:110"}, "properties": {"repobilityId": "decaf0644389deb2", "scanner": "scanner-primary", "fingerprint": "1701c0633cdf7f19", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26a5f750a3acc268", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/graphql/resolvers/knowledge/knowledgeBases.query.ts:10"}, "properties": {"repobilityId": "82cc24eed93b4879", "scanner": "scanner-primary", "fingerprint": "26a5f750a3acc268", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78bb855ac2b1a5e5", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/mcp-admin-keys.ts:153"}, "properties": {"repobilityId": "196792e56ceac6c4", "scanner": "scanner-primary", "fingerprint": "78bb855ac2b1a5e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3497af7d76fdc5e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/eval-worker-integration.test.ts:412"}, "properties": {"repobilityId": "f8173b0484349de9", "scanner": "scanner-primary", "fingerprint": "a3497af7d76fdc5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9d94e3aa4012a99", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/eval-runs-reconciler-pinned.test.ts:42"}, "properties": {"repobilityId": "65144629aed2bd2f", "scanner": "scanner-primary", "fingerprint": "c9d94e3aa4012a99", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8419e6959eda30f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/webhooks.ts:462"}, "properties": {"repobilityId": "6a3c7369b85b2a6c", "scanner": "scanner-primary", "fingerprint": "8419e6959eda30f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f55bfc8f14cec872", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/wiki-export.ts:203"}, "properties": {"repobilityId": "569d15dd98c1e1f8", "scanner": "scanner-primary", "fingerprint": "f55bfc8f14cec872", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c81e2c5aafeb2072", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/api/src/handlers/thread-attachment-download.ts:131"}, "properties": {"repobilityId": "2871d1ccb365d4b0", "scanner": "scanner-primary", "fingerprint": "c81e2c5aafeb2072", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3698aa7b7883ba0f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/thread-attachment-download.ts:135"}, "properties": {"repobilityId": "7101f44bf364123a", "scanner": "scanner-primary", "fingerprint": "3698aa7b7883ba0f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fe669363844e33d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/messages.ts:259"}, "properties": {"repobilityId": "1886e21491756303", "scanner": "scanner-primary", "fingerprint": "fe669363844e33d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-621b42b7495c3cec", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/eval-runner.ts:267"}, "properties": {"repobilityId": "8806c6e70be1e3cf", "scanner": "scanner-primary", "fingerprint": "621b42b7495c3cec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7f48170f359fd68", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/routine-execution-callback.ts:205"}, "properties": {"repobilityId": "c980b63fd0d07c3d", "scanner": "scanner-primary", "fingerprint": "b7f48170f359fd68", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe6ec6ba9608db4b", "level": "none", "message": {"text": "Commented-code block (12 lines) in packages/api/src/handlers/routine-asl-validator.ts:319"}, "properties": {"repobilityId": "919c0dc0a8724505", "scanner": "scanner-primary", "fingerprint": "fe6ec6ba9608db4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c55b3370a2c8cd2", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/invites.ts:185"}, "properties": {"repobilityId": "8be503d3fb182d3e", "scanner": "scanner-primary", "fingerprint": "6c55b3370a2c8cd2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c59892b9d882d60", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/deployment-sessions.ts:280"}, "properties": {"repobilityId": "89257a2cb423fa56", "scanner": "scanner-primary", "fingerprint": "5c59892b9d882d60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cad2244a5fa9ae12", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/stripe-webhook.ts:237"}, "properties": {"repobilityId": "1f17a21e87eb3b62", "scanner": "scanner-primary", "fingerprint": "cad2244a5fa9ae12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5bf2ecfaa4b93a5", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/handlers/compliance.ts:165"}, "properties": {"repobilityId": "1a6d745bc3a0a116", "scanner": "scanner-primary", "fingerprint": "d5bf2ecfaa4b93a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b3fd6492be9181f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/skills.ts:441"}, "properties": {"repobilityId": "fe20de274417b601", "scanner": "scanner-primary", "fingerprint": "1b3fd6492be9181f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c512a573080dee8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/skills.ts:793"}, "properties": {"repobilityId": "94b30a927dea0db9", "scanner": "scanner-primary", "fingerprint": "6c512a573080dee8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-58091bd26f59fb79", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/extension-proxy.ts:117"}, "properties": {"repobilityId": "7424fe89c5857ded", "scanner": "scanner-primary", "fingerprint": "58091bd26f59fb79", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3c01ef6e3dd71195", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/handlers/wakeup-processor.system-prompt.test.ts:84"}, "properties": {"repobilityId": "a08ee11764a3b1c9", "scanner": "scanner-primary", "fingerprint": "3c01ef6e3dd71195", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a3ebc2e97e12edac", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/chat-agent-invoke.ts:109"}, "properties": {"repobilityId": "112d39f3c001a6cd", "scanner": "scanner-primary", "fingerprint": "a3ebc2e97e12edac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0d0bed591b8028df", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/eval-worker.ts:331"}, "properties": {"repobilityId": "fa3a0a8edaffbc31", "scanner": "scanner-primary", "fingerprint": "0d0bed591b8028df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7ed147c347427fe", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/graphql-http.ts:69"}, "properties": {"repobilityId": "5b4a2e2a69867ccd", "scanner": "scanner-primary", "fingerprint": "e7ed147c347427fe", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6aa13f02946bcec6", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/knowledge-graph-observations-ingest.ts:270"}, "properties": {"repobilityId": "c40b3d2caf9d4de6", "scanner": "scanner-primary", "fingerprint": "6aa13f02946bcec6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47645031aa2d3866", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/api/src/handlers/mcp-admin-provision.ts:180"}, "properties": {"repobilityId": "72c318e78ff6f727", "scanner": "scanner-primary", "fingerprint": "47645031aa2d3866", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a898765508607f7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/oauth-callback.ts:182"}, "properties": {"repobilityId": "e4a774fe07745114", "scanner": "scanner-primary", "fingerprint": "7a898765508607f7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6d0e64f422d63dc9", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/email-send.ts:77"}, "properties": {"repobilityId": "639bbb81d9cec92c", "scanner": "scanner-primary", "fingerprint": "6d0e64f422d63dc9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3a2a095197e0733", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/wakeup-processor.ts:128"}, "properties": {"repobilityId": "3eaeb18b7af7cf48", "scanner": "scanner-primary", "fingerprint": "d3a2a095197e0733", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0bfb5c5d990625ae", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/wakeup-processor.ts:253"}, "properties": {"repobilityId": "64c25495af8474ba", "scanner": "scanner-primary", "fingerprint": "0bfb5c5d990625ae", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4c0f5c6d04b0cae7", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/workspace-fetch-source.test.ts:450"}, "properties": {"repobilityId": "4e669643df3be89b", "scanner": "scanner-primary", "fingerprint": "4c0f5c6d04b0cae7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5ec316b302116595", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/routine-task-weather-email.ts:115"}, "properties": {"repobilityId": "0cd5fb12101005bb", "scanner": "scanner-primary", "fingerprint": "5ec316b302116595", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8a15efae0caf8ae5", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/api/src/handlers/wakeup-processor.dispatch-parity.test.ts:213"}, "properties": {"repobilityId": "b806a2e9d9541b65", "scanner": "scanner-primary", "fingerprint": "8a15efae0caf8ae5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4452a59fec4bde9b", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/chat-agent-activity.ts:84"}, "properties": {"repobilityId": "0c0c2e3d84528e11", "scanner": "scanner-primary", "fingerprint": "4452a59fec4bde9b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-01c83b2cab5850da", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/oauth-authorize.ts:131"}, "properties": {"repobilityId": "ca473ff8d37bc172", "scanner": "scanner-primary", "fingerprint": "01c83b2cab5850da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b319d42d3daea1f", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/api/src/handlers/tenants.ts:68"}, "properties": {"repobilityId": "2ecd6dafc9e2bf81", "scanner": "scanner-primary", "fingerprint": "4b319d42d3daea1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec5c52ba18bc7e67", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/workspace-fetch-source.ts:4"}, "properties": {"repobilityId": "af9cfb3e227e6401", "scanner": "scanner-primary", "fingerprint": "ec5c52ba18bc7e67", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-914f63beff0b0d20", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/crons/stall-monitor.ts:120"}, "properties": {"repobilityId": "523132b9d3de1935", "scanner": "scanner-primary", "fingerprint": "914f63beff0b0d20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b32465a760ce0eb", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/api/src/handlers/slack/oauth-install.ts:188"}, "properties": {"repobilityId": "ba4c68fb1ef45213", "scanner": "scanner-primary", "fingerprint": "0b32465a760ce0eb", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-85b2842cf69d95d1", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/api/src/handlers/webhooks/_shared.ts:125"}, "properties": {"repobilityId": "6f8bdd609b538f81", "scanner": "scanner-primary", "fingerprint": "85b2842cf69d95d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be9c114c5a8ad677", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/ui/src/env.d.ts:1"}, "properties": {"repobilityId": "3492ade10f21046e", "scanner": "scanner-primary", "fingerprint": "be9c114c5a8ad677", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aa7b344c8fe7b95a", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/database-pg/src/schema/evaluations.ts:35"}, "properties": {"repobilityId": "c732be9c02276fe5", "scanner": "scanner-primary", "fingerprint": "aa7b344c8fe7b95a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-482dffa8ec1a5f43", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/database-pg/src/schema/routines.ts:62"}, "properties": {"repobilityId": "9178c67f6eb2daa4", "scanner": "scanner-primary", "fingerprint": "482dffa8ec1a5f43", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c28cffcea53921a4", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/threads.ts:107"}, "properties": {"repobilityId": "7a716af747378257", "scanner": "scanner-primary", "fingerprint": "c28cffcea53921a4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40f340a93c70d6dc", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/quick-actions.ts:32"}, "properties": {"repobilityId": "4e80078a90c071c5", "scanner": "scanner-primary", "fingerprint": "40f340a93c70d6dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c0157479b1f3b0c", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/messages.ts:41"}, "properties": {"repobilityId": "584781c994134550", "scanner": "scanner-primary", "fingerprint": "3c0157479b1f3b0c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd94915abc73933a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/billing.ts:50"}, "properties": {"repobilityId": "2258ba9152e6cde3", "scanner": "scanner-primary", "fingerprint": "fd94915abc73933a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e12c7b8c061cd76c", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/database-pg/src/schema/brain.ts:813"}, "properties": {"repobilityId": "eede24615b980ae6", "scanner": "scanner-primary", "fingerprint": "e12c7b8c061cd76c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76ec797cdd945435", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/webhook-deliveries.ts:102"}, "properties": {"repobilityId": "e976b3977f65e488", "scanner": "scanner-primary", "fingerprint": "76ec797cdd945435", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a656b91cbef4a949", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/compliance.ts:340"}, "properties": {"repobilityId": "296e51ff5c136003", "scanner": "scanner-primary", "fingerprint": "a656b91cbef4a949", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0c42397b64c4801", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/database-pg/src/schema/skills.ts:22"}, "properties": {"repobilityId": "d6afd70d6eab701d", "scanner": "scanner-primary", "fingerprint": "b0c42397b64c4801", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2e8f5ae42d63ac57", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/core.ts:69"}, "properties": {"repobilityId": "a0ce05b61f6e7ea1", "scanner": "scanner-primary", "fingerprint": "2e8f5ae42d63ac57", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4224904d1bc2626", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/wiki.ts:117"}, "properties": {"repobilityId": "c69a3c2cb83b3dbe", "scanner": "scanner-primary", "fingerprint": "c4224904d1bc2626", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-431c3c33551de349", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/database-pg/src/schema/artifacts.ts:68"}, "properties": {"repobilityId": "691f77caf1fcfb9a", "scanner": "scanner-primary", "fingerprint": "431c3c33551de349", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8c7e92ecbdf5813", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/admin-ops/src/routines.ts:190"}, "properties": {"repobilityId": "36b60220f02b127d", "scanner": "scanner-primary", "fingerprint": "b8c7e92ecbdf5813", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a088ddfbb9cec77", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/admin-ops/src/_fields.ts:41"}, "properties": {"repobilityId": "05e5d7b2d31f9525", "scanner": "scanner-primary", "fingerprint": "7a088ddfbb9cec77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-757ee8407755b21c", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/admin-ops/src/client.ts:41"}, "properties": {"repobilityId": "0f4bdf7b9fc75d38", "scanner": "scanner-primary", "fingerprint": "757ee8407755b21c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-31e465278be1db12", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/admin-ops/src/client.test.ts:49"}, "properties": {"repobilityId": "f152c1f412549519", "scanner": "scanner-primary", "fingerprint": "31e465278be1db12", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-55d00aad3ac7056b", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/audit-verifier/__tests__/merkle.test.ts:142"}, "properties": {"repobilityId": "a0290ff95d408931", "scanner": "scanner-primary", "fingerprint": "55d00aad3ac7056b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-695d06d0ae6b731e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/audit-verifier/__tests__/verify.test.ts:255"}, "properties": {"repobilityId": "2d1372c1c6e1037f", "scanner": "scanner-primary", "fingerprint": "695d06d0ae6b731e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf93f4c8429208f5", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/audit-verifier/src/chain.ts:71"}, "properties": {"repobilityId": "1348c44ed049ff00", "scanner": "scanner-primary", "fingerprint": "bf93f4c8429208f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f271c65ebdc3b15f", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/audit-verifier/src/verify.ts:131"}, "properties": {"repobilityId": "122073ebee006b84", "scanner": "scanner-primary", "fingerprint": "f271c65ebdc3b15f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-955a53da6b086966", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/server.test.ts:2013"}, "properties": {"repobilityId": "41c3c0d4ddfa7f23", "scanner": "scanner-primary", "fingerprint": "955a53da6b086966", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffb3b0fa052f361d", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/agentcore-pi/agent-container/tests/mcp-proxy.test.ts:91"}, "properties": {"repobilityId": "5cf12a909c7266c1", "scanner": "scanner-primary", "fingerprint": "ffb3b0fa052f361d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3b6a430b829dbdc", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/sessionstore-aurora.test.ts:483"}, "properties": {"repobilityId": "ddf1d980da87e268", "scanner": "scanner-primary", "fingerprint": "d3b6a430b829dbdc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-91cd5207fbd48e40", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/mcp.test.ts:29"}, "properties": {"repobilityId": "170ef4d41c16c81f", "scanner": "scanner-primary", "fingerprint": "91cd5207fbd48e40", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-efbb1b267383b3b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/worker-isolation.test.ts:422"}, "properties": {"repobilityId": "cf27d4c8350d29c9", "scanner": "scanner-primary", "fingerprint": "efbb1b267383b3b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cbc0a9a57fdca7f4", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/agentcore-pi/agent-container/tests/sandbox-factory.test.ts:55"}, "properties": {"repobilityId": "8b722c64c1a46c4a", "scanner": "scanner-primary", "fingerprint": "cbc0a9a57fdca7f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b3b0124b6e8267a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/agentcore-pi/agent-container/tests/user-question-context.test.ts:9"}, "properties": {"repobilityId": "6c5cab6c2d56faaa", "scanner": "scanner-primary", "fingerprint": "1b3b0124b6e8267a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea9ac3895f24f738", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/tests/integration/tenant-isolation.test.ts:153"}, "properties": {"repobilityId": "c1faf5b920153bc8", "scanner": "scanner-primary", "fingerprint": "ea9ac3895f24f738", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56f527f27659572a", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/agentcore-pi/agent-container/skill-bridge/run_skill.py:125"}, "properties": {"repobilityId": "dcc5346929067dfe", "scanner": "scanner-primary", "fingerprint": "56f527f27659572a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0b3cfd1f6041444b", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/sessionstore-aurora.ts:202"}, "properties": {"repobilityId": "c13367e2bc899ccb", "scanner": "scanner-primary", "fingerprint": "0b3cfd1f6041444b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27c35a897328d07f", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/mcp-connect.ts:199"}, "properties": {"repobilityId": "5c7b08dc9e58ea6f", "scanner": "scanner-primary", "fingerprint": "27c35a897328d07f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-814b07acadae0e9c", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/mcp.ts:83"}, "properties": {"repobilityId": "6bc60271de6715f2", "scanner": "scanner-primary", "fingerprint": "814b07acadae0e9c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7cabf2ba2d4b86d7", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/handler-context.ts:366"}, "properties": {"repobilityId": "16c2bc144f189d30", "scanner": "scanner-primary", "fingerprint": "7cabf2ba2d4b86d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b020b36ae392e1dc", "level": "none", "message": {"text": "Commented-code block (10 lines) in packages/agentcore-pi/agent-container/src/scrubbing-fetch.ts:77"}, "properties": {"repobilityId": "85991007dfb803cb", "scanner": "scanner-primary", "fingerprint": "b020b36ae392e1dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cecb7525ac8ed9b2", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/agentcore-pi/agent-container/src/server.ts:1104"}, "properties": {"repobilityId": "c7820f4ba77b799d", "scanner": "scanner-primary", "fingerprint": "cecb7525ac8ed9b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d9260ff03fdba47", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/agentcore-pi/agent-container/src/server.ts:885"}, "properties": {"repobilityId": "fa67b3ba22cd8d1e", "scanner": "scanner-primary", "fingerprint": "2d9260ff03fdba47", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ae319c099ac2b2ce", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/agentcore-pi/agent-container/src/runtime/providers/hindsight-memory-provider.ts:247"}, "properties": {"repobilityId": "bf7e66dd4032e484", "scanner": "scanner-primary", "fingerprint": "ae319c099ac2b2ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-504b4e2d8db4ef5c", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/pi-aws/connectors/agentcore-codeinterpreter.ts:100"}, "properties": {"repobilityId": "ef3d0756b082e581", "scanner": "scanner-primary", "fingerprint": "504b4e2d8db4ef5c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79c0be97f44ec907", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/pi-aws/connectors/agentcore-codeinterpreter.test.ts:489"}, "properties": {"repobilityId": "660d812ed805d923", "scanner": "scanner-primary", "fingerprint": "79c0be97f44ec907", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c0d773944b56e12", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/pi-runtime-core/src/durable-session-manager.ts:156"}, "properties": {"repobilityId": "d87351df5ef1efc1", "scanner": "scanner-primary", "fingerprint": "0c0d773944b56e12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-38dcc435b986a1ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/pi-runtime-core/src/agent-loop.ts:540"}, "properties": {"repobilityId": "b9ba50aa163328a9", "scanner": "scanner-primary", "fingerprint": "38dcc435b986a1ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2854afa9c13863cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/workspace-editor/src/components/FileTree.tsx:206"}, "properties": {"repobilityId": "53e320f3dedc68f4", "scanner": "scanner-primary", "fingerprint": "2854afa9c13863cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e69f11e77896f2b4", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/evals-core/test/scoring.test.ts:162"}, "properties": {"repobilityId": "63153259fa6a782d", "scanner": "scanner-primary", "fingerprint": "e69f11e77896f2b4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d2eddbd5b59f8da", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/evals-core/test/scoring-characterization.test.ts:277"}, "properties": {"repobilityId": "9755e09005e53819", "scanner": "scanner-primary", "fingerprint": "7d2eddbd5b59f8da", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32d19f65c299d903", "level": "none", "message": {"text": "Commented-code block (9 lines) in packages/evals-core/src/scoring.ts:212"}, "properties": {"repobilityId": "9ee7f3bc331c58fd", "scanner": "scanner-primary", "fingerprint": "32d19f65c299d903", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c532a6eee07df5f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/lambda/routine-task-python.ts:189"}, "properties": {"repobilityId": "3ba47f3120817d27", "scanner": "scanner-primary", "fingerprint": "3c532a6eee07df5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d3fb605ab15b7a18", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/lambda/routine-resume.ts:121"}, "properties": {"repobilityId": "021593e9c4c14d57", "scanner": "scanner-primary", "fingerprint": "d3fb605ab15b7a18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3e23bb59e75dfb0f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/lambda/compliance-export-runner.ts:113"}, "properties": {"repobilityId": "531911b81f24c02a", "scanner": "scanner-primary", "fingerprint": "3e23bb59e75dfb0f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d750293eec5953f0", "level": "none", "message": {"text": "Commented-code block (11 lines) in packages/lambda/admin-ops-mcp.ts:91"}, "properties": {"repobilityId": "2e2c6aa6901cd71d", "scanner": "scanner-primary", "fingerprint": "d750293eec5953f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb2b9584d533aae1", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/lambda/job-trigger.ts:173"}, "properties": {"repobilityId": "6b2459b36fbfb2de", "scanner": "scanner-primary", "fingerprint": "eb2b9584d533aae1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-02ef05a73fa0972e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/lambda/agentcore-admin.ts:235"}, "properties": {"repobilityId": "508326215dcf7c79", "scanner": "scanner-primary", "fingerprint": "02ef05a73fa0972e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a2548122f651ab18", "level": "none", "message": {"text": "Commented-code block (8 lines) in packages/lambda/compliance-outbox-drainer.ts:36"}, "properties": {"repobilityId": "a0c60c2f39e2bf36", "scanner": "scanner-primary", "fingerprint": "a2548122f651ab18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8407d05db4e44f5d", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/lambda/compliance-anchor.ts:69"}, "properties": {"repobilityId": "8db4ffb362fa871a", "scanner": "scanner-primary", "fingerprint": "8407d05db4e44f5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-583e9a0d67de0b82", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/lambda/compliance-anchor-watchdog.ts:66"}, "properties": {"repobilityId": "0d161ba27e59b82b", "scanner": "scanner-primary", "fingerprint": "583e9a0d67de0b82", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-85699bc0ade6f73a", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/lambda/__tests__/compliance-outbox-drainer.test.ts:131"}, "properties": {"repobilityId": "08a79799f7ff1693", "scanner": "scanner-primary", "fingerprint": "85699bc0ade6f73a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f81b02cc6c326d6", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/lambda/__tests__/integration/compliance-anchor.integration.test.ts:111"}, "properties": {"repobilityId": "5e0dcb6f7276b6f1", "scanner": "scanner-primary", "fingerprint": "6f81b02cc6c326d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f86bbc2c08083e76", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/lambda/__tests__/integration/compliance-drainer.integration.test.ts:84"}, "properties": {"repobilityId": "a9c804b85493bcb6", "scanner": "scanner-primary", "fingerprint": "f86bbc2c08083e76", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5ed5a0a9c05b5b4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/react-native-sdk/src/context-engine.ts:97"}, "properties": {"repobilityId": "7d5fd46439b1878c", "scanner": "scanner-primary", "fingerprint": "e5ed5a0a9c05b5b4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5bb501362de73ac9", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/react-native-sdk/src/auth/provider.tsx:34"}, "properties": {"repobilityId": "a790a958cffbbede", "scanner": "scanner-primary", "fingerprint": "5bb501362de73ac9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fdd92497d83ba036", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/react-native-sdk/src/auth/cognito.ts:133"}, "properties": {"repobilityId": "84b62eec0c955410", "scanner": "scanner-primary", "fingerprint": "fdd92497d83ba036", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cb83666f6dcede8e", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/namespace-registry/src/db.ts:95"}, "properties": {"repobilityId": "502d447ea784f8f3", "scanner": "scanner-primary", "fingerprint": "cb83666f6dcede8e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aaae8cc44f42cb35", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/runtime-config/src/loader.ts:206"}, "properties": {"repobilityId": "ba3c66bbc46d22f5", "scanner": "scanner-primary", "fingerprint": "aaae8cc44f42cb35", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-538049a2554fc96a", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/runtime-config/src/index.ts:15"}, "properties": {"repobilityId": "6f814d87b685e54a", "scanner": "scanner-primary", "fingerprint": "538049a2554fc96a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-696ecfd61ff22752", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/pi-extensions/src/system-prompt-compose.ts:16"}, "properties": {"repobilityId": "88bd0d8a35f14e50", "scanner": "scanner-primary", "fingerprint": "696ecfd61ff22752", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-262f66bec1cac48e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/pi-extensions/src/fetch-workspace-source.ts:420"}, "properties": {"repobilityId": "3a201359d1566477", "scanner": "scanner-primary", "fingerprint": "262f66bec1cac48e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab0a094c68ae6b43", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 packages/pi-extensions/src/fetch-workspace-source.ts:440"}, "properties": {"repobilityId": "fa4f4ef6bcea04b8", "scanner": "scanner-primary", "fingerprint": "ab0a094c68ae6b43", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ebe270f49df7a826", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/pi-extensions/src/ask-user-question.ts:264"}, "properties": {"repobilityId": "823cd44bfcc676ef", "scanner": "scanner-primary", "fingerprint": "ebe270f49df7a826", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-696d51e82e7d0faa", "level": "none", "message": {"text": "Commented-code block (6 lines) in packages/pi-extensions/src/memory.ts:195"}, "properties": {"repobilityId": "c21b1b281171490a", "scanner": "scanner-primary", "fingerprint": "696d51e82e7d0faa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27570335b793111f", "level": "none", "message": {"text": "Commented-code block (7 lines) in packages/agentcore/agent-container/agents_md_parser.py:71"}, "properties": {"repobilityId": "f68e118a558ff3dd", "scanner": "scanner-primary", "fingerprint": "27570335b793111f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee15a8a613e92eb3", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in packages/agentcore/agent-container/install_skills.py:127"}, "properties": {"repobilityId": "2cad2a06e5d46e30", "scanner": "scanner-primary", "fingerprint": "ee15a8a613e92eb3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8011fceee14f569f", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/agentcore/agent-container/memory.py:581"}, "properties": {"repobilityId": "d7dd1ce6616ae6f9", "scanner": "scanner-primary", "fingerprint": "8011fceee14f569f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc08dff34a6caf0e", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/plugin-catalog/src/contracts.ts:370"}, "properties": {"repobilityId": "8a4b30e0df33c839", "scanner": "scanner-primary", "fingerprint": "dc08dff34a6caf0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9b48de051314327", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/graph/src/WikiGraph.tsx:177"}, "properties": {"repobilityId": "d20f92cd580ab8e0", "scanner": "scanner-primary", "fingerprint": "d9b48de051314327", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-058e479900d86111", "level": "none", "message": {"text": "Commented-code block (5 lines) in packages/graph/src/MemoryGraph.tsx:102"}, "properties": {"repobilityId": "895c5bbe430bbbf4", "scanner": "scanner-primary", "fingerprint": "058e479900d86111", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a829a0375e78663d", "level": "none", "message": {"text": "Commented-code block (5 lines) in terraform/modules/app/deployment-control-plane/runner.py:2099"}, "properties": {"repobilityId": "196375396d5dcd15", "scanner": "scanner-primary", "fingerprint": "a829a0375e78663d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b214fb05f9ef538", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 terraform/modules/app/deployment-control-plane/runner.py:55"}, "properties": {"repobilityId": "2e8179d98c46935f", "scanner": "scanner-primary", "fingerprint": "7b214fb05f9ef538", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb12ab9ced4389f1", "level": "none", "message": {"text": "Commented-code block (6 lines) in terraform/modules/app/agentcore-code-interpreter/sandbox/sitecustomize.py:54"}, "properties": {"repobilityId": "baf53788a73427c3", "scanner": "scanner-primary", "fingerprint": "eb12ab9ced4389f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c82539662d73a0e0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 plugins/twenty/smoke/twenty-managed-app-smoke.mjs:291"}, "properties": {"repobilityId": "0fec8ad830783c83", "scanner": "scanner-primary", "fingerprint": "c82539662d73a0e0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bdb31a24f71b36ad", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 plugins/company-brain/smoke/cognee-managed-app-smoke.mjs:383"}, "properties": {"repobilityId": "382f6b67226f37c7", "scanner": "scanner-primary", "fingerprint": "bdb31a24f71b36ad", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-daeca292c73e8e99", "level": "note", "message": {"text": "355 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "770b52651b427eaf", "scanner": "scanner-primary", "fingerprint": "daeca292c73e8e99", "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": "b83e82b144702fc5", "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": "27e0c096ef38e7f2", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}