{"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-f094d3f84c0c2618", "name": "Possibly dead Python function: grading_prompt", "shortDescription": {"text": "Possibly dead Python function: grading_prompt"}, "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-a4b33068781e8d38", "name": "Possibly dead Python function: tavily_search", "shortDescription": {"text": "Possibly dead Python function: tavily_search"}, "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-5feb2ddef1d1cebc", "name": "Possibly dead Python function: ddg_search", "shortDescription": {"text": "Possibly dead Python function: ddg_search"}, "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-512c87e399b522ec", "name": "Possibly dead Python function: jina_search", "shortDescription": {"text": "Possibly dead Python function: jina_search"}, "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-7b5d5ab3f61d993a", "name": "Possibly dead Python function: exa_search", "shortDescription": {"text": "Possibly dead Python function: exa_search"}, "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-ae90b490ba800444", "name": "Possibly dead Python function: count_by_ats_source", "shortDescription": {"text": "Possibly dead Python function: count_by_ats_source"}, "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-dd346815d05e7db7", "name": "Possibly dead Python function: count_by_status", "shortDescription": {"text": "Possibly dead Python function: count_by_status"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ffce4e85aae7c7e", "name": "Possibly dead Python function: is_enabled", "shortDescription": {"text": "Possibly dead Python function: is_enabled"}, "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-442b4fb7d072426b", "name": "Possibly dead Python function: work", "shortDescription": {"text": "Possibly dead Python function: work"}, "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-1857f88a028455ca", "name": "Possibly dead Python function: run_chunk", "shortDescription": {"text": "Possibly dead Python function: run_chunk"}, "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-955ec2f393aca50b", "name": "Possibly dead Python function: build_prompt_level", "shortDescription": {"text": "Possibly dead Python function: build_prompt_level"}, "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-9792e9a90a0bf0f4", "name": "Possibly dead Python function: build_prompt_years", "shortDescription": {"text": "Possibly dead Python function: build_prompt_years"}, "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-44137d6ac3579fe7", "name": "Possibly dead Python function: build_prompt_city", "shortDescription": {"text": "Possibly dead Python function: build_prompt_city"}, "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-b76569101e8caa50", "name": "Possibly dead Python function: build_prompt_visa", "shortDescription": {"text": "Possibly dead Python function: build_prompt_visa"}, "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-64990bc4837cab02", "name": "Possibly dead Python function: build_prompt_salary", "shortDescription": {"text": "Possibly dead Python function: build_prompt_salary"}, "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-1672d6b0cb69c9dc", "name": "Possibly dead Python function: work", "shortDescription": {"text": "Possibly dead Python function: work"}, "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-bead75b0f9233e05", "name": "No API endpoints detected", "shortDescription": {"text": "No API endpoints detected"}, "fullDescription": {"text": "The scanner did not find FastAPI/Flask/Express/NestJS/GraphQL/gRPC routes. If this repo exposes APIs, the framework may be unsupported."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "info", "confidence": 1.0}}, {"id": "scanner-543dff7cfa7ada47", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/news-ingest/summariser.ts:140", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/news-ingest/summariser.ts:140"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dfabe54f96cfe578", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/analyze-cv/index.ts:203", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/analyze-cv/index.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-50e501e7091a09c9", "name": "Stray `console.log` in TS/JS \u2014 supabase/functions/_shared/dossier.ts:485", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/_shared/dossier.ts:485"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dd544dd9c660b45f", "name": "TODO/FIXME marker in shipping code \u2014 supabase/functions/_shared/llm.ts:92", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 supabase/functions/_shared/llm.ts:92"}, "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-050ccaad7741ddd9", "name": "Stray `console.log` in TS/JS \u2014 evals/promptloop/eval.ts:187", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 evals/promptloop/eval.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-d1bb7a455bedc4b8", "name": "Stray `console.log` in TS/JS \u2014 evals/matching/ranking-eval.test.ts:267", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 evals/matching/ranking-eval.test.ts:267"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2c56619cf2bd7b8", "name": "Stray `console.log` in TS/JS \u2014 src/server.ts:167", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/server.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-3ddcb97e7602ede7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/ui/chart.tsx:73", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/ui/chart.tsx:73"}, "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-b0f218e82f947c66", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/buddy/ChatMarkdown.tsx:13", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/buddy/ChatMarkdown.tsx:13"}, "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-edd93783c76c1cbf", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/profile/EmailAccounts.tsx:612", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/profile/EmailAccounts.tsx:612"}, "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-748d68bc273f6ab9", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/public/BlogPost.tsx:32", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/public/BlogPost.tsx:32"}, "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-17b807f850e33663", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/overview/OverviewHub.tsx:250", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/overview/OverviewHub.tsx:250"}, "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-7bfe7a004a174718", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/seo/JsonLd.tsx:14", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/seo/JsonLd.tsx:14"}, "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-a4dbb75bc5e30f19", "name": "`truncate` class without `title=` for hover reveal \u2014 src/routes/admin.investors.tsx:248", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/admin.investors.tsx:248"}, "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-f361ad588f8482e7", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/routes/admin.blog.tsx:353", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/routes/admin.blog.tsx:353"}, "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-22d1ca1de5f2392a", "name": "Privileged port 143 in use", "shortDescription": {"text": "Privileged port 143 in use"}, "fullDescription": {"text": "Port 143 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-415c947eef4de87d", "name": "Privileged port 993 in use", "shortDescription": {"text": "Privileged port 993 in use"}, "fullDescription": {"text": "Port 993 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-12d07da2ff769eae", "name": "Privileged port 16 in use", "shortDescription": {"text": "Privileged port 16 in use"}, "fullDescription": {"text": "Port 16 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-42a681e084492c52", "name": "Insecure pattern 'eval_used' in CLAUDE.md:85", "shortDescription": {"text": "Insecure pattern 'eval_used' in CLAUDE.md:85"}, "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-bb7ffa9f48282b9d", "name": "Insecure pattern 'node_child_process' in scripts/build-id.mjs:7", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/build-id.mjs: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-f8a98b1f23574d52", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/news-ingest/handler.ts:37", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/news-ingest/handler.ts:37"}, "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-63af3383b34615b5", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/match-job/index.ts:17", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/match-job/index.ts:17"}, "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-48b2a21858e7d772", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/linkedin-fetch/handler.ts:30", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/linkedin-fetch/handler.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-7a2bef08f34b9523", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/compute-trends/handler.ts:28", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/compute-trends/handler.ts:28"}, "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-0fcb44879a5079de", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/ocr-cv/index.ts:23", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/ocr-cv/index.ts:23"}, "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-2b1f56628045d32b", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/admin-notify-user/index.ts:16", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/admin-notify-user/index.ts:16"}, "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-3fc9cac04f04fb5e", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/draft-message/index.ts:26", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/draft-message/index.ts:26"}, "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-b31df16ae4998d48", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/chat/index.ts:32", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/chat/index.ts:32"}, "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-0f0a37081f05aa9c", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/avatar-from-url/handler.ts:23", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/avatar-from-url/handler.ts:23"}, "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-8cb0dbc9ff705619", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/delete-account/index.ts:24", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/delete-account/index.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-81150fbba90da447", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/notify-pro-interest/index.ts:20", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/notify-pro-interest/index.ts:20"}, "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-cbb25aa470935134", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/email-ingest/handler.ts:24", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-ingest/handler.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-1fd64875448bb32f", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/rerank-jobs/handler.ts:16", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/rerank-jobs/handler.ts:16"}, "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-15fbd7358aecc636", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/admin-broadcast/index.ts:17", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/admin-broadcast/index.ts:17"}, "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-832858c18e551680", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/email-oauth-callback/handler.ts:38", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-oauth-callback/handler.ts:38"}, "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-d1ed76e4d5d3780e", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/analyze-cv/index.ts:33", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/analyze-cv/index.ts:33"}, "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-6d4657972c305d11", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/email-scan/handler.ts:64", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-scan/handler.ts:64"}, "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-781405509d4f77bc", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/news-feed/handler.ts:29", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/news-feed/handler.ts:29"}, "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-d474aeedcb444f6b", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-avatar/handler.ts:20", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-avatar/handler.ts:20"}, "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-e9ee8329fc42e82b", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/email-oauth-start/index.ts:25", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-oauth-start/index.ts:25"}, "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-2f050ad44d98deb5", "name": "Insecure pattern 'cors_wildcard' in supabase/functions/embed-profile/index.ts:29", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/embed-profile/index.ts:29"}, "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-366f65a856d58a3b", "name": "Insecure pattern 'private_key_in_repo' in supabase/functions/_shared/vertex.ts:34", "shortDescription": {"text": "Insecure pattern 'private_key_in_repo' in supabase/functions/_shared/vertex.ts:34"}, "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-5e515e1f3982b80f", "name": "Insecure pattern 'eval_used' in evals/README.md:15", "shortDescription": {"text": "Insecure pattern 'eval_used' in evals/README.md:15"}, "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-f3067d64cca85d4b", "name": "Insecure pattern 'eval_used' in evals/matching/ranking-eval.ts:426", "shortDescription": {"text": "Insecure pattern 'eval_used' in evals/matching/ranking-eval.ts:426"}, "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-7d300731bf390e38", "name": "Insecure pattern 'tls_verify_false' in backend/career_buddy_scraper/cli/scrape_boardless.py:235", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in backend/career_buddy_scraper/cli/scrape_boardless.py:235"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-28b5a0085a7d7b39", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/ui/chart.tsx:73", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/ui/chart.tsx:73"}, "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-7043849d2902d203", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/buddy/ChatMarkdown.tsx:13", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/buddy/ChatMarkdown.tsx:13"}, "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-1051946de4fb4707", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/public/BlogPost.tsx:32", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/public/BlogPost.tsx:32"}, "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-060712ed5ac2bb13", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/seo/JsonLd.tsx:14", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/seo/JsonLd.tsx:14"}, "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-8b17ea414400bdf7", "name": "Insecure pattern 'local_storage_auth_token' in src/lib/local-reset.test.ts:18", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in src/lib/local-reset.test.ts:18"}, "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-3b329d59870883b0", "name": "Insecure pattern 'dangerous_innerhtml' in src/routes/admin.blog.tsx:353", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/routes/admin.blog.tsx:353"}, "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-7efbda965f283c17", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "astral-sh/setup-uv@v5 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-d4f63da385ab9e33", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "astral-sh/setup-uv@v5 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-28c4a04bd807da0c", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "oven-sh/setup-bun@v2 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-c0840b32e36e9a78", "name": "Very large file: src/components/jobs/JobsFeed.tsx (1519 lines)", "shortDescription": {"text": "Very large file: src/components/jobs/JobsFeed.tsx (1519 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d70187565a5ab99", "name": "Very large file: src/lib/fit-v2.ts (1546 lines)", "shortDescription": {"text": "Very large file: src/lib/fit-v2.ts (1546 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8c500df63277fc9d", "name": "Very large file: src/lib/fit-v2.test.ts (1638 lines)", "shortDescription": {"text": "Very large file: src/lib/fit-v2.test.ts (1638 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-90dd38fac3171361", "name": "Very large file: src/lib/translations.ts (1173 lines)", "shortDescription": {"text": "Very large file: src/lib/translations.ts (1173 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04bf0b4614099b0a", "name": "Very large file: src/routes/profile.tsx (1420 lines)", "shortDescription": {"text": "Very large file: src/routes/profile.tsx (1420 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "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 109 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 99 placeholder/mock markers across 54 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-7de0375b947e7855", "name": "Commented-code block (11 lines) in playwright.config.ts:3", "shortDescription": {"text": "Commented-code block (11 lines) in playwright.config.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-b58a12cb30e3f65f", "name": "Commented-code block (6 lines) in vite.config.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in vite.config.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-1946aaa32fba48c6", "name": "Commented-code block (5 lines) in scripts/check-rls-public-read.mjs:6", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/check-rls-public-read.mjs:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e74f6dc1647bc659", "name": "Commented-code block (6 lines) in scripts/build-id.mjs:1", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/build-id.mjs: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-69dcc13a2e3c16af", "name": "Commented-code block (5 lines) in supabase/functions/news-ingest/rss.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/news-ingest/rss.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-7998becbdc05f9f3", "name": "Commented-code block (5 lines) in supabase/functions/news-ingest/handler.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/news-ingest/handler.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c32ca89c3754987", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/news-ingest/handler.test.ts:2", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/news-ingest/handler.test.ts:2"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c46e7d86a0d03420", "name": "Commented-code block (6 lines) in supabase/functions/news-ingest/slug.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/news-ingest/slug.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-fc2f096e39401460", "name": "Commented-code block (5 lines) in supabase/functions/news-ingest/handler.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/news-ingest/handler.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-79799fba881b603b", "name": "Commented-code block (5 lines) in supabase/functions/news-ingest/summariser.ts:5", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/news-ingest/summariser.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-950b9413e132ec23", "name": "Commented-code block (5 lines) in supabase/functions/linkedin-fetch/handler.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/linkedin-fetch/handler.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-bd40fb4dc223779e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/linkedin-fetch/handler.ts:92", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/linkedin-fetch/handler.ts:92"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-10da73ed52d135a6", "name": "Commented-code block (10 lines) in supabase/functions/compute-trends/handler.ts:3", "shortDescription": {"text": "Commented-code block (10 lines) in supabase/functions/compute-trends/handler.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-c9dd4ff8637a0e94", "name": "Commented-code block (5 lines) in supabase/functions/email-unsubscribe/handler.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/email-unsubscribe/handler.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-193257dbc1206af8", "name": "Commented-code block (5 lines) in supabase/functions/ocr-cv/index.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/ocr-cv/index.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-8044164b0e17f3ab", "name": "Commented-code block (7 lines) in supabase/functions/admin-notify-user/index.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/admin-notify-user/index.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-d20215cdb80375bc", "name": "Commented-code block (5 lines) in supabase/functions/draft-message/index.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/draft-message/index.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-5d0bdbec21819ce1", "name": "Commented-code block (6 lines) in supabase/functions/draft-message/prompt.test.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/draft-message/prompt.test.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1dd843c7af2210bd", "name": "Commented-code block (5 lines) in supabase/functions/chat/index.ts:112", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/chat/index.ts:112"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-14e7c5a26c0899e6", "name": "Commented-code block (5 lines) in supabase/functions/email-imap-test/handler.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/email-imap-test/handler.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-818429fa62800e5c", "name": "Commented-code block (5 lines) in supabase/functions/avatar-from-url/handler.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/avatar-from-url/handler.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-90be6f39676da9c5", "name": "Commented-code block (6 lines) in supabase/functions/delete-account/index.ts:7", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/delete-account/index.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-fa69138d3902296b", "name": "Commented-code block (6 lines) in supabase/functions/notify-pro-interest/index.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/notify-pro-interest/index.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c7ee57d48b2a17b8", "name": "Commented-code block (5 lines) in supabase/functions/email-ingest/handler.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/email-ingest/handler.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-8ec28283ad84079d", "name": "Commented-code block (6 lines) in supabase/functions/rerank-jobs/handler.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/rerank-jobs/handler.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-27614a6264970141", "name": "Commented-code block (6 lines) in supabase/functions/admin-broadcast/index.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/admin-broadcast/index.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-925f4427425418c6", "name": "Commented-code block (8 lines) in supabase/functions/email-oauth-callback/handler.ts:7", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/email-oauth-callback/handler.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-eb5911e689c21b31", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-oauth-callback/handler.ts:165", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-oauth-callback/handler.ts:165"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-85ed79c3d61c49ae", "name": "Commented-code block (5 lines) in supabase/functions/analyze-cv/schema.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/analyze-cv/schema.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-9e6d3588e9e18fa3", "name": "Commented-code block (6 lines) in supabase/functions/analyze-cv/index.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/analyze-cv/index.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8253d63fe4a342c4", "name": "Commented-code block (6 lines) in supabase/functions/analyze-cv/prompt.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/analyze-cv/prompt.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-800c9a2022857703", "name": "Commented-code block (6 lines) in supabase/functions/analyze-cv/prompt.test.ts:19", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/analyze-cv/prompt.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-75c1e45a36482571", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-scan/imap.ts:84", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-scan/imap.ts:84"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d676371a0ce79495", "name": "Commented-code block (22 lines) in supabase/functions/email-scan/handler.ts:7", "shortDescription": {"text": "Commented-code block (22 lines) in supabase/functions/email-scan/handler.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-10516cb3450f119d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-scan/handler.ts:953", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-scan/handler.ts:953"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c2bc654dda6e7534", "name": "Commented-code block (8 lines) in supabase/functions/news-feed/handler.ts:12", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/news-feed/handler.ts:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-686b79911d05031a", "name": "Commented-code block (5 lines) in supabase/functions/email-oauth-start/index.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/email-oauth-start/index.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-de8dfc8afbe85787", "name": "Commented-code block (5 lines) in supabase/functions/embed-profile/index.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/embed-profile/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-2bc589db24f66d5c", "name": "Commented-code block (5 lines) in supabase/functions/_shared/founder-mail.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/founder-mail.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-b2b3bb683cb540bd", "name": "Commented-code block (8 lines) in supabase/functions/_shared/trend-verdict.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in supabase/functions/_shared/trend-verdict.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-2408922a3106fbb8", "name": "Commented-code block (6 lines) in supabase/functions/_shared/auth.ts:5", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/auth.ts:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0fb3ee62f1fcb126", "name": "Commented-code block (9 lines) in supabase/functions/_shared/broadcast-suppression-parity.test.ts:1", "shortDescription": {"text": "Commented-code block (9 lines) in supabase/functions/_shared/broadcast-suppression-parity.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-777a633da1a01fe6", "name": "Commented-code block (7 lines) in supabase/functions/_shared/trend-verdict-parity.test.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/trend-verdict-parity.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0ef7ea2eeedd2e8e", "name": "Commented-code block (6 lines) in supabase/functions/_shared/embeddings.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/embeddings.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-f8b5a9975c78b516", "name": "Commented-code block (12 lines) in supabase/functions/_shared/json-schema.ts:6", "shortDescription": {"text": "Commented-code block (12 lines) in supabase/functions/_shared/json-schema.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5a343f2498596c94", "name": "Commented-code block (5 lines) in supabase/functions/_shared/context-card.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/context-card.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-6428337bff7df86a", "name": "Commented-code block (7 lines) in supabase/functions/_shared/broadcast-email.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/broadcast-email.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-51dce7040fc93cfd", "name": "Commented-code block (5 lines) in supabase/functions/_shared/email-keywords.test.ts:147", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/email-keywords.test.ts:147"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5afcaf2c081f8d64", "name": "Commented-code block (7 lines) in supabase/functions/_shared/candidate-memory.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/candidate-memory.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-dee2eaa5447d512c", "name": "Commented-code block (7 lines) in supabase/functions/_shared/imap-ssrf.ts:3", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/imap-ssrf.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-10c6f7a37dbaafd3", "name": "Commented-code block (7 lines) in supabase/functions/_shared/usage-meter.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/usage-meter.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-76b0ca2f7216a5f2", "name": "Commented-code block (6 lines) in supabase/functions/_shared/dossier.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/dossier.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-76dc17851c875953", "name": "Commented-code block (6 lines) in supabase/functions/_shared/application-tools.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/application-tools.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-12d65a7b0a9c612d", "name": "Commented-code block (5 lines) in supabase/functions/_shared/vertex-rank.test.ts:196", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/vertex-rank.test.ts:196"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-400f5d51620b28d9", "name": "Commented-code block (5 lines) in supabase/functions/_shared/radar-axes.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/radar-axes.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-5bf70ea14258473f", "name": "Commented-code block (6 lines) in supabase/functions/_shared/email-keywords.ts:6", "shortDescription": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/email-keywords.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5923f31e93976beb", "name": "Commented-code block (5 lines) in supabase/functions/_shared/dossier.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/dossier.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-2f5a794e902984fb", "name": "Commented-code block (5 lines) in supabase/functions/_shared/vertex.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/vertex.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-7a43e64d478f4471", "name": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/_shared/vertex.ts:75", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/_shared/vertex.ts:75"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-51e71953a525e97d", "name": "Network/subprocess call without timeout or try/except \u2014 evals/_score.py:47", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 evals/_score.py:47"}, "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-eb48239e3a1235a1", "name": "Network/subprocess call without timeout or try/except \u2014 evals/promptloop/run_iteration.py:109", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 evals/promptloop/run_iteration.py:109"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f23c61dd936dedf1", "name": "Commented-code block (5 lines) in evals/promptloop/eval.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in evals/promptloop/eval.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6ce15031097ba78f", "name": "Commented-code block (6 lines) in evals/prompts/refresh_analyze_cv.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in evals/prompts/refresh_analyze_cv.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-2ff8fd98419b6cf3", "name": "Commented-code block (6 lines) in evals/matching/fit-eval.test.ts:190", "shortDescription": {"text": "Commented-code block (6 lines) in evals/matching/fit-eval.test.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-9cec4fa397b344ce", "name": "Commented-code block (9 lines) in public/sw.js:3", "shortDescription": {"text": "Commented-code block (9 lines) in public/sw.js: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-ba0726cf5f2ce004", "name": "Legacy-named symbol `test_mark_stale_deactivates_when_last_seen_is_old` in backend/tests/test_jobs_repo.py:78", "shortDescription": {"text": "Legacy-named symbol `test_mark_stale_deactivates_when_last_seen_is_old` in backend/tests/test_jobs_repo.py:78"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10cf35639da5ca45", "name": "Commented-code block (5 lines) in backend/tests/test_jobs_repo.py:26", "shortDescription": {"text": "Commented-code block (5 lines) in backend/tests/test_jobs_repo.py:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cb22a9649680884a", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/db.py:76", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/db.py: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-52700f6a259af784", "name": "Legacy-named symbol `model_copy` in backend/career_buddy_scraper/master_list.py:47", "shortDescription": {"text": "Legacy-named symbol `model_copy` in backend/career_buddy_scraper/master_list.py:47"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-23cf085e6bbca7d0", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/jd_attrs.py:96", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/jd_attrs.py:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5d564335c0f8b356", "name": "Legacy-named symbol `model_copy` in backend/career_buddy_scraper/companies_repo.py:113", "shortDescription": {"text": "Legacy-named symbol `model_copy` in backend/career_buddy_scraper/companies_repo.py:113"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d79ae4d93bedd92f", "name": "Commented-code block (8 lines) in backend/career_buddy_scraper/embeddings.py:20", "shortDescription": {"text": "Commented-code block (8 lines) in backend/career_buddy_scraper/embeddings.py: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-f18b54068ce724dd", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/ats/getro.py:39", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/ats/getro.py:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84d875c692dbb33a", "name": "Commented-code block (9 lines) in backend/career_buddy_scraper/cli/classify_tier2_mistral.py:63", "shortDescription": {"text": "Commented-code block (9 lines) in backend/career_buddy_scraper/cli/classify_tier2_mistral.py: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-c52de55ddbf8cc54", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/reembed_config_version.py:51", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/reembed_config_version.py: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-ad3ccd7606dd60e3", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/_http_backfill.py:31", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/_http_backfill.py: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-2c099732e30ae2e9", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/enrich_jobs.py:43", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/enrich_jobs.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-222136a01c8d10b8", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/backfill_embedding_has_body.py:48", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/backfill_embedding_has_body.py: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-4b928cd3599b011e", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/discover_boards.py:54", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/discover_boards.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-3af9c800f5fcb6cf", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/classify.py:52", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/classify.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-86239d2ddf779901", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/backfill_workday_descriptions.py:209", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/backfill_workday_descriptions.py:209"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1d53494715ff3b1", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/layer3_backfill.py:720", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/layer3_backfill.py:720"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b4c0f48b9c054688", "name": "Commented-code block (7 lines) in backend/career_buddy_scraper/cli/embed_jobs.py:158", "shortDescription": {"text": "Commented-code block (7 lines) in backend/career_buddy_scraper/cli/embed_jobs.py:158"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-867cf0dbae6bd659", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/build_fit_feedback_eval.py:138", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/build_fit_feedback_eval.py:138"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-efa985f91abf28fb", "name": "Commented-code block (6 lines) in backend/career_buddy_scraper/cli/scrape_boardless.py:182", "shortDescription": {"text": "Commented-code block (6 lines) in backend/career_buddy_scraper/cli/scrape_boardless.py:182"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c335494e1a6abd7c", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/backfill_ats_descriptions.py:497", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/backfill_ats_descriptions.py:497"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a59470a36b7d710", "name": "Commented-code block (6 lines) in backend/career_buddy_scraper/cli/scrape_companies.py:150", "shortDescription": {"text": "Commented-code block (6 lines) in backend/career_buddy_scraper/cli/scrape_companies.py:150"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6d047b228ed3b366", "name": "Commented-code block (10 lines) in backend/career_buddy_scraper/cli/build_gold_eval.py:81", "shortDescription": {"text": "Commented-code block (10 lines) in backend/career_buddy_scraper/cli/build_gold_eval.py:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e2903e2eac47e4ae", "name": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/eval_gold.py:48", "shortDescription": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/eval_gold.py: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-291b69ed94a9709c", "name": "Commented-code block (7 lines) in backend/career_buddy_scraper/sources/openvc.py:61", "shortDescription": {"text": "Commented-code block (7 lines) in backend/career_buddy_scraper/sources/openvc.py:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84a6dd9261152d97", "name": "Commented-code block (7 lines) in src/server.ts:281", "shortDescription": {"text": "Commented-code block (7 lines) in src/server.ts:281"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e08fe0f31dd7109c", "name": "Commented-code block (7 lines) in src/components/Nav.tsx:14", "shortDescription": {"text": "Commented-code block (7 lines) in src/components/Nav.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-e83768b03eab77c7", "name": "Commented-code block (6 lines) in src/components/buddy/FloatingBuddy.tsx:101", "shortDescription": {"text": "Commented-code block (6 lines) in src/components/buddy/FloatingBuddy.tsx:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-768509164a3f8cb2", "name": "Commented-code block (5 lines) in src/components/profile/EmailAccounts.test.tsx:37", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/profile/EmailAccounts.test.tsx: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-b4fb421061ac9247", "name": "Commented-code block (5 lines) in src/components/profile/EmailAccounts.tsx:122", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/profile/EmailAccounts.tsx:122"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-96bc39876efb8627", "name": "Commented-code block (5 lines) in src/components/profile/ValueTradeoffRow.tsx:5", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/profile/ValueTradeoffRow.tsx:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e7936e6f0b38ded5", "name": "Commented-code block (5 lines) in src/components/jobs/JobsFeed.tsx:136", "shortDescription": {"text": "Commented-code block (5 lines) in src/components/jobs/JobsFeed.tsx:136"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22c7df60aa42d111", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/jobs/JobsFeed.tsx:632", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/jobs/JobsFeed.tsx:632"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-47cff2da0ca7eac7", "name": "Commented-code block (6 lines) in src/lib/trend-verdict.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/trend-verdict.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-88a34c24e08171bf", "name": "Commented-code block (8 lines) in src/lib/tracks.ts:52", "shortDescription": {"text": "Commented-code block (8 lines) in src/lib/tracks.ts:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aeb9f9c77fbe74c7", "name": "Commented-code block (6 lines) in src/lib/rerank.test.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/rerank.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d459bf70c771aa9a", "name": "Commented-code block (6 lines) in src/lib/profile-store.test.ts:743", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/profile-store.test.ts:743"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e2a4bb05819b0d81", "name": "Commented-code block (8 lines) in src/lib/locations.ts:84", "shortDescription": {"text": "Commented-code block (8 lines) in src/lib/locations.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-7fefe57feedbaa03", "name": "Commented-code block (11 lines) in src/lib/job-filters.ts:269", "shortDescription": {"text": "Commented-code block (11 lines) in src/lib/job-filters.ts:269"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-edf71c66bcd5a0a9", "name": "Commented-code block (7 lines) in src/lib/fit-similarity.ts:21", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/fit-similarity.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-9b50c040317beea8", "name": "Commented-code block (5 lines) in src/lib/value-tradeoffs.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/value-tradeoffs.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-924818accddd551a", "name": "Commented-code block (5 lines) in src/lib/fit-telemetry.ts:97", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/fit-telemetry.ts:97"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba74f97186dd54c7", "name": "Commented-code block (6 lines) in src/lib/memory.test.ts:3", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/memory.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-50f49c9bb0fe5a8c", "name": "Commented-code block (5 lines) in src/lib/linkedin-job.ts:185", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/linkedin-job.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-39ee57e6f732da54", "name": "Commented-code block (5 lines) in src/lib/impression-log.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/impression-log.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-c8da97aa44aabcd5", "name": "Commented-code block (5 lines) in src/lib/trend-verdict.test.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/trend-verdict.test.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-6a9e800e7f512de8", "name": "Commented-code block (6 lines) in src/lib/local-reset.ts:87", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/local-reset.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-306c1feda141c0ec", "name": "Commented-code block (6 lines) in src/lib/public-jobs.ts:234", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/public-jobs.ts:234"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1acc969d2f038b91", "name": "Commented-code block (5 lines) in src/lib/profile-store.ts:370", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/profile-store.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-911c7710cfcf2bf9", "name": "Commented-code block (7 lines) in src/lib/use-ranked-jobs.test.ts:183", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/use-ranked-jobs.test.ts: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-fa68d8fa35534245", "name": "Commented-code block (6 lines) in src/lib/job-resolve.ts:94", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/job-resolve.ts:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ec95c18e399d579e", "name": "Commented-code block (8 lines) in src/lib/filters-from-profile.test.ts:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/lib/filters-from-profile.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-947da0386a7d4e18", "name": "Commented-code block (5 lines) in src/lib/context-notes.test.ts:3", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/context-notes.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-a7955f7bbf39ba75", "name": "Commented-code block (5 lines) in src/lib/locations.test.ts:62", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/locations.test.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-9373e3c1cbcc559b", "name": "Commented-code block (6 lines) in src/lib/feed-assembly.ts:123", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/feed-assembly.ts:123"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-18c4a1ce187d9211", "name": "Commented-code block (9 lines) in src/lib/filters-from-profile.ts:6", "shortDescription": {"text": "Commented-code block (9 lines) in src/lib/filters-from-profile.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-83ac95a77a3ca89f", "name": "Commented-code block (6 lines) in src/lib/job-fit.ts:98", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/job-fit.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-d974eea292c49608", "name": "Commented-code block (6 lines) in src/lib/applications-sync.ts:31", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/applications-sync.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-3b3ff73a760ecde7", "name": "Commented-code block (5 lines) in src/lib/fit-v2.ts:39", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/fit-v2.ts:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1c3395088c2d07b7", "name": "Commented-code block (5 lines) in src/lib/fit-similarity.test.ts:365", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/fit-similarity.test.ts:365"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e03d626a44dd8261", "name": "Commented-code block (5 lines) in src/lib/rerank.ts:8", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/rerank.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-2354e2e7157f3b3f", "name": "Commented-code block (6 lines) in src/lib/cv-parser.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/cv-parser.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6c09bc215d1a16a7", "name": "Commented-code block (6 lines) in src/lib/use-applications-slice.ts:71", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/use-applications-slice.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-a890a3f0fe524418", "name": "Commented-code block (5 lines) in src/lib/feed-assembly.test.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/feed-assembly.test.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf6c8745a2d9e1f9", "name": "Commented-code block (7 lines) in src/lib/use-ranked-jobs.ts:48", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/use-ranked-jobs.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-7b0ea33d554b8a80", "name": "Commented-code block (5 lines) in src/lib/admin-kpi.ts:52", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/admin-kpi.ts:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a05ab8f09de7ce1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/public-jobs.test.ts:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/public-jobs.test.ts:21"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d354aee157b16828", "name": "Commented-code block (6 lines) in src/lib/fit-v2.test.ts:93", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/fit-v2.test.ts:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a50774d3442f0c98", "name": "Commented-code block (5 lines) in src/lib/value-tradeoffs.test.ts:26", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/value-tradeoffs.test.ts:26"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1e950eb0618425bf", "name": "Commented-code block (5 lines) in src/lib/job-signature-match.ts:315", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/job-signature-match.ts:315"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-149d58304f382bef", "name": "Commented-code block (6 lines) in src/lib/sw-update.ts:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/sw-update.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-321382a153fcf35b", "name": "Commented-code block (6 lines) in src/lib/memory.ts:644", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/memory.ts:644"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f0cc1d89a575fc9d", "name": "Commented-code block (5 lines) in src/lib/news-jobs.ts:223", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/news-jobs.ts:223"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-657d6e25eafb8e64", "name": "Commented-code block (6 lines) in src/lib/jobs-count.ts:25", "shortDescription": {"text": "Commented-code block (6 lines) in src/lib/jobs-count.ts:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2edc64e22fe12be", "name": "Commented-code block (7 lines) in src/lib/alternatives.ts:105", "shortDescription": {"text": "Commented-code block (7 lines) in src/lib/alternatives.ts:105"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b9f5f193fc8a0268", "name": "Commented-code block (5 lines) in src/routes/profile.tsx:132", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/profile.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-dbe5d9d32f972aef", "name": "Commented-code block (5 lines) in src/routes/sitemap[.]xml.ts:20", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/sitemap[.]xml.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-3f822326f45b4221", "name": "Commented-code block (9 lines) in src/routes/admin.waitlist.tsx:95", "shortDescription": {"text": "Commented-code block (9 lines) in src/routes/admin.waitlist.tsx: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-0ddda8dbcac33fc7", "name": "Commented-code block (8 lines) in src/routes/robots[.]txt.ts:36", "shortDescription": {"text": "Commented-code block (8 lines) in src/routes/robots[.]txt.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-23a8598103343acd", "name": "Commented-code block (6 lines) in src/routes/-profile.test.tsx:329", "shortDescription": {"text": "Commented-code block (6 lines) in src/routes/-profile.test.tsx:329"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-99ad9c81690a6ad6", "name": "Commented-code block (5 lines) in src/routes/reset-password.tsx:62", "shortDescription": {"text": "Commented-code block (5 lines) in src/routes/reset-password.tsx: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-29b5010348e4fa49", "name": "Commented-code block (7 lines) in src/routes/__root.tsx:132", "shortDescription": {"text": "Commented-code block (7 lines) in src/routes/__root.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-87acb4066071a15a", "name": "19 env vars used in code but missing from .env.example", "shortDescription": {"text": "19 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `CF_PAGES_COMMIT_SHA`, `CI`, `CRUNCHBASE_DIR`, `EMBED_BACKEND`, `ETL_ALLOW_REMOTE`, `FIRECRAWL_API_KEY`, `GEMINI_FALLBACK_ENABLED`, `GEMINI_FALLBACK_MAX_PER_RUN` + 11 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:\nbackend/career_buddy_scraper/descriptions.py:extract_greenhouse, backend/career_buddy_scraper/descriptions.py:extract\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee53e8e0c58609d8", "name": "Near-duplicate function bodies in 15 places", "shortDescription": {"text": "Near-duplicate function bodies in 15 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nbackend/career_buddy_scraper/ats/smartrecruiters.py:normalize, backend/career_buddy_scraper/ats/greenhouse.py:normalize, backend/career_buddy_scraper/ats/arbeitnow.py:normalize, backend/career_buddy_scraper/ats/personio.py:normalize\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nbackend/career_buddy_scraper/ats/bamboohr.py:detect, backend/career_buddy_scraper/ats/personio.py:detect, backend/career_buddy_scraper/ats/recruitee.py:detect\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/21644"}, "properties": {"repository": "Troels-en/Career-Buddy", "repoUrl": "https://github.com/Troels-en/Career-Buddy", "branch": "main"}, "results": [{"ruleId": "scanner-f094d3f84c0c2618", "level": "note", "message": {"text": "Possibly dead Python function: grading_prompt"}, "properties": {"repobilityId": "3daa71db6f523d0c", "scanner": "scanner-primary", "fingerprint": "f094d3f84c0c2618", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "evals/grader/grader.py:87"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4b33068781e8d38", "level": "note", "message": {"text": "Possibly dead Python function: tavily_search"}, "properties": {"repobilityId": "e37c30646f240b4e", "scanner": "scanner-primary", "fingerprint": "a4b33068781e8d38", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/enrichment_clients.py:69"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5feb2ddef1d1cebc", "level": "note", "message": {"text": "Possibly dead Python function: ddg_search"}, "properties": {"repobilityId": "d557f8cef1f513a8", "scanner": "scanner-primary", "fingerprint": "5feb2ddef1d1cebc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/enrichment_clients.py:96"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-512c87e399b522ec", "level": "note", "message": {"text": "Possibly dead Python function: jina_search"}, "properties": {"repobilityId": "d37f369da64ee9bc", "scanner": "scanner-primary", "fingerprint": "512c87e399b522ec", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/enrichment_clients.py:122"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b5d5ab3f61d993a", "level": "note", "message": {"text": "Possibly dead Python function: exa_search"}, "properties": {"repobilityId": "8b5f022188797f3a", "scanner": "scanner-primary", "fingerprint": "7b5d5ab3f61d993a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/enrichment_clients.py:208"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae90b490ba800444", "level": "note", "message": {"text": "Possibly dead Python function: count_by_ats_source"}, "properties": {"repobilityId": "36ddeef1fe37dcf5", "scanner": "scanner-primary", "fingerprint": "ae90b490ba800444", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/jobs_repo.py:320"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dd346815d05e7db7", "level": "note", "message": {"text": "Possibly dead Python function: count_by_status"}, "properties": {"repobilityId": "96fb46cf1e1e3b45", "scanner": "scanner-primary", "fingerprint": "dd346815d05e7db7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/companies_repo.py:364"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0ffce4e85aae7c7e", "level": "note", "message": {"text": "Possibly dead Python function: is_enabled"}, "properties": {"repobilityId": "9ce2245c3143ecde", "scanner": "scanner-primary", "fingerprint": "0ffce4e85aae7c7e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/ats/gemini_fallback.py:30"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-442b4fb7d072426b", "level": "note", "message": {"text": "Possibly dead Python function: work"}, "properties": {"repobilityId": "c5b0e9acf413d08f", "scanner": "scanner-primary", "fingerprint": "442b4fb7d072426b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/cli/enrich_company_investors.py:126"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1857f88a028455ca", "level": "note", "message": {"text": "Possibly dead Python function: run_chunk"}, "properties": {"repobilityId": "aba7009e9f0bb4a2", "scanner": "scanner-primary", "fingerprint": "1857f88a028455ca", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/cli/extract_requirements.py:159"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-955ec2f393aca50b", "level": "note", "message": {"text": "Possibly dead Python function: build_prompt_level"}, "properties": {"repobilityId": "291948afce2bfd00", "scanner": "scanner-primary", "fingerprint": "955ec2f393aca50b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/cli/layer3_backfill.py:186"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9792e9a90a0bf0f4", "level": "note", "message": {"text": "Possibly dead Python function: build_prompt_years"}, "properties": {"repobilityId": "5ebf6d78245c2a7b", "scanner": "scanner-primary", "fingerprint": "9792e9a90a0bf0f4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/cli/layer3_backfill.py:229"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-44137d6ac3579fe7", "level": "note", "message": {"text": "Possibly dead Python function: build_prompt_city"}, "properties": {"repobilityId": "cd242302d55d2df2", "scanner": "scanner-primary", "fingerprint": "44137d6ac3579fe7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/cli/layer3_backfill.py:262"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b76569101e8caa50", "level": "note", "message": {"text": "Possibly dead Python function: build_prompt_visa"}, "properties": {"repobilityId": "c73a71ad7d1c3f19", "scanner": "scanner-primary", "fingerprint": "b76569101e8caa50", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/cli/layer3_backfill.py:299"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-64990bc4837cab02", "level": "note", "message": {"text": "Possibly dead Python function: build_prompt_salary"}, "properties": {"repobilityId": "28da2d066378ac4e", "scanner": "scanner-primary", "fingerprint": "64990bc4837cab02", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/cli/layer3_backfill.py:335"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1672d6b0cb69c9dc", "level": "note", "message": {"text": "Possibly dead Python function: work"}, "properties": {"repobilityId": "c5b0e9acf413d08f", "scanner": "scanner-primary", "fingerprint": "1672d6b0cb69c9dc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/cli/enrich_funding.py:219"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bead75b0f9233e05", "level": "none", "message": {"text": "No API endpoints detected"}, "properties": {"repobilityId": "0f8bb852027c38f8", "scanner": "scanner-primary", "fingerprint": "bead75b0f9233e05", "layer": "api", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-543dff7cfa7ada47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/news-ingest/summariser.ts:140"}, "properties": {"repobilityId": "6f54aeb01798f48f", "scanner": "scanner-primary", "fingerprint": "543dff7cfa7ada47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dfabe54f96cfe578", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/analyze-cv/index.ts:203"}, "properties": {"repobilityId": "c887c4cf690c9df3", "scanner": "scanner-primary", "fingerprint": "dfabe54f96cfe578", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-50e501e7091a09c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 supabase/functions/_shared/dossier.ts:485"}, "properties": {"repobilityId": "677c4d494ff949a0", "scanner": "scanner-primary", "fingerprint": "50e501e7091a09c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dd544dd9c660b45f", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 supabase/functions/_shared/llm.ts:92"}, "properties": {"repobilityId": "8f81beac7e7e334b", "scanner": "scanner-primary", "fingerprint": "dd544dd9c660b45f", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-050ccaad7741ddd9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 evals/promptloop/eval.ts:187"}, "properties": {"repobilityId": "906b1d25a817970f", "scanner": "scanner-primary", "fingerprint": "050ccaad7741ddd9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d1bb7a455bedc4b8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 evals/matching/ranking-eval.test.ts:267"}, "properties": {"repobilityId": "de391f6d3864d749", "scanner": "scanner-primary", "fingerprint": "d1bb7a455bedc4b8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b2c56619cf2bd7b8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/server.ts:167"}, "properties": {"repobilityId": "7753d6bdd8ad49dd", "scanner": "scanner-primary", "fingerprint": "b2c56619cf2bd7b8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3ddcb97e7602ede7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/ui/chart.tsx:73"}, "properties": {"repobilityId": "b8c68f17a4018107", "scanner": "scanner-primary", "fingerprint": "3ddcb97e7602ede7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-b0f218e82f947c66", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/buddy/ChatMarkdown.tsx:13"}, "properties": {"repobilityId": "736d5f212f3c86cb", "scanner": "scanner-primary", "fingerprint": "b0f218e82f947c66", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-edd93783c76c1cbf", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/profile/EmailAccounts.tsx:612"}, "properties": {"repobilityId": "100047c412888f75", "scanner": "scanner-primary", "fingerprint": "edd93783c76c1cbf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-748d68bc273f6ab9", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/public/BlogPost.tsx:32"}, "properties": {"repobilityId": "96268078634eb76e", "scanner": "scanner-primary", "fingerprint": "748d68bc273f6ab9", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-17b807f850e33663", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/overview/OverviewHub.tsx:250"}, "properties": {"repobilityId": "5f501127195e681e", "scanner": "scanner-primary", "fingerprint": "17b807f850e33663", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-7bfe7a004a174718", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/seo/JsonLd.tsx:14"}, "properties": {"repobilityId": "f07cf3d2a261ff34", "scanner": "scanner-primary", "fingerprint": "7bfe7a004a174718", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-a4dbb75bc5e30f19", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/routes/admin.investors.tsx:248"}, "properties": {"repobilityId": "3b3ac59d2080352b", "scanner": "scanner-primary", "fingerprint": "a4dbb75bc5e30f19", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-f361ad588f8482e7", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/routes/admin.blog.tsx:353"}, "properties": {"repobilityId": "ea1855f37d305fe4", "scanner": "scanner-primary", "fingerprint": "f361ad588f8482e7", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-22d1ca1de5f2392a", "level": "warning", "message": {"text": "Privileged port 143 in use"}, "properties": {"repobilityId": "6c7e204c24478bfe", "scanner": "scanner-primary", "fingerprint": "22d1ca1de5f2392a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/email-imap-test/handler.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-415c947eef4de87d", "level": "warning", "message": {"text": "Privileged port 993 in use"}, "properties": {"repobilityId": "a36e56a26353e9ee", "scanner": "scanner-primary", "fingerprint": "415c947eef4de87d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/email-imap-test/handler.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-12d07da2ff769eae", "level": "warning", "message": {"text": "Privileged port 16 in use"}, "properties": {"repobilityId": "d31009168c502ace", "scanner": "scanner-primary", "fingerprint": "12d07da2ff769eae", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scrape.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-42a681e084492c52", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in CLAUDE.md:85"}, "properties": {"repobilityId": "c9592072ddaa74b7", "scanner": "scanner-primary", "fingerprint": "42a681e084492c52", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 85}}}]}, {"ruleId": "scanner-bb7ffa9f48282b9d", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/build-id.mjs:7"}, "properties": {"repobilityId": "b6fd615ec3644f0f", "scanner": "scanner-primary", "fingerprint": "bb7ffa9f48282b9d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/build-id.mjs"}, "region": {"startLine": 7}}}]}, {"ruleId": "scanner-f8a98b1f23574d52", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/news-ingest/handler.ts:37"}, "properties": {"repobilityId": "a0e257f5f6cc14f3", "scanner": "scanner-primary", "fingerprint": "f8a98b1f23574d52", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/news-ingest/handler.ts"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-63af3383b34615b5", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/match-job/index.ts:17"}, "properties": {"repobilityId": "c38945bfd28c99f9", "scanner": "scanner-primary", "fingerprint": "63af3383b34615b5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/match-job/index.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-48b2a21858e7d772", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/linkedin-fetch/handler.ts:30"}, "properties": {"repobilityId": "a614a4ddf9aeee10", "scanner": "scanner-primary", "fingerprint": "48b2a21858e7d772", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/linkedin-fetch/handler.ts"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-7a2bef08f34b9523", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/compute-trends/handler.ts:28"}, "properties": {"repobilityId": "5b237a820cf64720", "scanner": "scanner-primary", "fingerprint": "7a2bef08f34b9523", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/compute-trends/handler.ts"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-0fcb44879a5079de", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/ocr-cv/index.ts:23"}, "properties": {"repobilityId": "ecd5d355968c5512", "scanner": "scanner-primary", "fingerprint": "0fcb44879a5079de", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/ocr-cv/index.ts"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-2b1f56628045d32b", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/admin-notify-user/index.ts:16"}, "properties": {"repobilityId": "5d2883b026946a3c", "scanner": "scanner-primary", "fingerprint": "2b1f56628045d32b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/admin-notify-user/index.ts"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-3fc9cac04f04fb5e", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/draft-message/index.ts:26"}, "properties": {"repobilityId": "f2b03793d4104640", "scanner": "scanner-primary", "fingerprint": "3fc9cac04f04fb5e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/draft-message/index.ts"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-b31df16ae4998d48", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/chat/index.ts:32"}, "properties": {"repobilityId": "cccadaace3895c36", "scanner": "scanner-primary", "fingerprint": "b31df16ae4998d48", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/chat/index.ts"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-0f0a37081f05aa9c", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/avatar-from-url/handler.ts:23"}, "properties": {"repobilityId": "2523ef6ec50b1e39", "scanner": "scanner-primary", "fingerprint": "0f0a37081f05aa9c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/avatar-from-url/handler.ts"}, "region": {"startLine": 23}}}]}, {"ruleId": "scanner-8cb0dbc9ff705619", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/delete-account/index.ts:24"}, "properties": {"repobilityId": "41fe50dcc7df4762", "scanner": "scanner-primary", "fingerprint": "8cb0dbc9ff705619", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/delete-account/index.ts"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-81150fbba90da447", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/notify-pro-interest/index.ts:20"}, "properties": {"repobilityId": "d8392b710b235715", "scanner": "scanner-primary", "fingerprint": "81150fbba90da447", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/notify-pro-interest/index.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-cbb25aa470935134", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-ingest/handler.ts:24"}, "properties": {"repobilityId": "632dbff3ec8d3362", "scanner": "scanner-primary", "fingerprint": "cbb25aa470935134", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/email-ingest/handler.ts"}, "region": {"startLine": 24}}}]}, {"ruleId": "scanner-1fd64875448bb32f", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/rerank-jobs/handler.ts:16"}, "properties": {"repobilityId": "645a824fdb2e814a", "scanner": "scanner-primary", "fingerprint": "1fd64875448bb32f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/rerank-jobs/handler.ts"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-15fbd7358aecc636", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/admin-broadcast/index.ts:17"}, "properties": {"repobilityId": "e4122d4c5ee9675b", "scanner": "scanner-primary", "fingerprint": "15fbd7358aecc636", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/admin-broadcast/index.ts"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-832858c18e551680", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-oauth-callback/handler.ts:38"}, "properties": {"repobilityId": "1e2a7d27e570aad7", "scanner": "scanner-primary", "fingerprint": "832858c18e551680", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/email-oauth-callback/handler.ts"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-d1ed76e4d5d3780e", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/analyze-cv/index.ts:33"}, "properties": {"repobilityId": "f16d77ed6b328293", "scanner": "scanner-primary", "fingerprint": "d1ed76e4d5d3780e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/analyze-cv/index.ts"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-6d4657972c305d11", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-scan/handler.ts:64"}, "properties": {"repobilityId": "a11d45954d6cfae4", "scanner": "scanner-primary", "fingerprint": "6d4657972c305d11", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/email-scan/handler.ts"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-781405509d4f77bc", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/news-feed/handler.ts:29"}, "properties": {"repobilityId": "a5ff19a3b4c91637", "scanner": "scanner-primary", "fingerprint": "781405509d4f77bc", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/news-feed/handler.ts"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-d474aeedcb444f6b", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/generate-avatar/handler.ts:20"}, "properties": {"repobilityId": "a98b4b45e11574d5", "scanner": "scanner-primary", "fingerprint": "d474aeedcb444f6b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/generate-avatar/handler.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-e9ee8329fc42e82b", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/email-oauth-start/index.ts:25"}, "properties": {"repobilityId": "aa7d65068c10e857", "scanner": "scanner-primary", "fingerprint": "e9ee8329fc42e82b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/email-oauth-start/index.ts"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-2f050ad44d98deb5", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in supabase/functions/embed-profile/index.ts:29"}, "properties": {"repobilityId": "8a3efb67d0de9c31", "scanner": "scanner-primary", "fingerprint": "2f050ad44d98deb5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/embed-profile/index.ts"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-366f65a856d58a3b", "level": "error", "message": {"text": "Insecure pattern 'private_key_in_repo' in supabase/functions/_shared/vertex.ts:34"}, "properties": {"repobilityId": "8569d5ae10dec023", "scanner": "scanner-primary", "fingerprint": "366f65a856d58a3b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["owasp", "private_key_in_repo"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "supabase/functions/_shared/vertex.ts"}, "region": {"startLine": 34}}}]}, {"ruleId": "scanner-5e515e1f3982b80f", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in evals/README.md:15"}, "properties": {"repobilityId": "c8d0250192b2c10b", "scanner": "scanner-primary", "fingerprint": "5e515e1f3982b80f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "evals/README.md"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-f3067d64cca85d4b", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in evals/matching/ranking-eval.ts:426"}, "properties": {"repobilityId": "d3d2c21911490e45", "scanner": "scanner-primary", "fingerprint": "f3067d64cca85d4b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "evals/matching/ranking-eval.ts"}, "region": {"startLine": 426}}}]}, {"ruleId": "scanner-7d300731bf390e38", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in backend/career_buddy_scraper/cli/scrape_boardless.py:235"}, "properties": {"repobilityId": "e36151966dfabce5", "scanner": "scanner-primary", "fingerprint": "7d300731bf390e38", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/career_buddy_scraper/cli/scrape_boardless.py"}, "region": {"startLine": 235}}}]}, {"ruleId": "scanner-28b5a0085a7d7b39", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/ui/chart.tsx:73"}, "properties": {"repobilityId": "33f10636e53b4298", "scanner": "scanner-primary", "fingerprint": "28b5a0085a7d7b39", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/ui/chart.tsx"}, "region": {"startLine": 73}}}]}, {"ruleId": "scanner-7043849d2902d203", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/buddy/ChatMarkdown.tsx:13"}, "properties": {"repobilityId": "43dd303259463b65", "scanner": "scanner-primary", "fingerprint": "7043849d2902d203", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/buddy/ChatMarkdown.tsx"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-1051946de4fb4707", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/public/BlogPost.tsx:32"}, "properties": {"repobilityId": "f06499abfcd3ae50", "scanner": "scanner-primary", "fingerprint": "1051946de4fb4707", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/public/BlogPost.tsx"}, "region": {"startLine": 32}}}]}, {"ruleId": "scanner-060712ed5ac2bb13", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/seo/JsonLd.tsx:14"}, "properties": {"repobilityId": "fed4538264d6fd2d", "scanner": "scanner-primary", "fingerprint": "060712ed5ac2bb13", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/seo/JsonLd.tsx"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-8b17ea414400bdf7", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in src/lib/local-reset.test.ts:18"}, "properties": {"repobilityId": "998b910bfec3b82d", "scanner": "scanner-primary", "fingerprint": "8b17ea414400bdf7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/local-reset.test.ts"}, "region": {"startLine": 18}}}]}, {"ruleId": "scanner-3b329d59870883b0", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/routes/admin.blog.tsx:353"}, "properties": {"repobilityId": "8a3c79ab6ad4a310", "scanner": "scanner-primary", "fingerprint": "3b329d59870883b0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/routes/admin.blog.tsx"}, "region": {"startLine": 353}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "aeec399e451f9164", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "6e32672f216e3c72", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "897abbd6615cda7a", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 117}}}]}, {"ruleId": "scanner-d4f63da385ab9e33", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd0c9f7568935303", "scanner": "scanner-primary", "fingerprint": "d4f63da385ab9e33", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scrape.yml"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-d4f63da385ab9e33", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "dd5874f30a88a0fe", "scanner": "scanner-primary", "fingerprint": "d4f63da385ab9e33", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scrape.yml"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-d4f63da385ab9e33", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd0c9f7568935303", "scanner": "scanner-primary", "fingerprint": "d4f63da385ab9e33", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scrape.yml"}, "region": {"startLine": 182}}}]}, {"ruleId": "scanner-d4f63da385ab9e33", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "cd0c9f7568935303", "scanner": "scanner-primary", "fingerprint": "d4f63da385ab9e33", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/scrape.yml"}, "region": {"startLine": 228}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "a0a981ba790d4e7c", "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": 30}}}]}, {"ruleId": "scanner-28c4a04bd807da0c", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "ab9c1269f3f77e87", "scanner": "scanner-primary", "fingerprint": "28c4a04bd807da0c", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/deploy.yml"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-c0840b32e36e9a78", "level": "note", "message": {"text": "Very large file: src/components/jobs/JobsFeed.tsx (1519 lines)"}, "properties": {"repobilityId": "6de9f2ad85686199", "scanner": "scanner-primary", "fingerprint": "c0840b32e36e9a78", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6d70187565a5ab99", "level": "note", "message": {"text": "Very large file: src/lib/fit-v2.ts (1546 lines)"}, "properties": {"repobilityId": "84b369fc88b92f17", "scanner": "scanner-primary", "fingerprint": "6d70187565a5ab99", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8c500df63277fc9d", "level": "note", "message": {"text": "Very large file: src/lib/fit-v2.test.ts (1638 lines)"}, "properties": {"repobilityId": "0ca76f739da8d63a", "scanner": "scanner-primary", "fingerprint": "8c500df63277fc9d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-90dd38fac3171361", "level": "note", "message": {"text": "Very large file: src/lib/translations.ts (1173 lines)"}, "properties": {"repobilityId": "d7ad8e351a103217", "scanner": "scanner-primary", "fingerprint": "90dd38fac3171361", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-04bf0b4614099b0a", "level": "note", "message": {"text": "Very large file: src/routes/profile.tsx (1420 lines)"}, "properties": {"repobilityId": "bbdf19b011c09d19", "scanner": "scanner-primary", "fingerprint": "04bf0b4614099b0a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "ae0c31755be93bf4", "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": "b5a14c33a806bdfa", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "80b0e6ecd96f4aed", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "c8a1613595c5adac", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "5ff9067dc06e964b", "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": "a8e30de25a8715fd", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-7de0375b947e7855", "level": "none", "message": {"text": "Commented-code block (11 lines) in playwright.config.ts:3"}, "properties": {"repobilityId": "ba3aa511450a92ae", "scanner": "scanner-primary", "fingerprint": "7de0375b947e7855", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b58a12cb30e3f65f", "level": "none", "message": {"text": "Commented-code block (6 lines) in vite.config.ts:1"}, "properties": {"repobilityId": "304265361978ccb8", "scanner": "scanner-primary", "fingerprint": "b58a12cb30e3f65f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1946aaa32fba48c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/check-rls-public-read.mjs:6"}, "properties": {"repobilityId": "ebef94bb37d0ec06", "scanner": "scanner-primary", "fingerprint": "1946aaa32fba48c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e74f6dc1647bc659", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/build-id.mjs:1"}, "properties": {"repobilityId": "3c2875fa9e34d735", "scanner": "scanner-primary", "fingerprint": "e74f6dc1647bc659", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-69dcc13a2e3c16af", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/news-ingest/rss.ts:1"}, "properties": {"repobilityId": "1f68a4b1b52f41a4", "scanner": "scanner-primary", "fingerprint": "69dcc13a2e3c16af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7998becbdc05f9f3", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/news-ingest/handler.test.ts:1"}, "properties": {"repobilityId": "c24e22ab138d2dfd", "scanner": "scanner-primary", "fingerprint": "7998becbdc05f9f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c32ca89c3754987", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/news-ingest/handler.test.ts:2"}, "properties": {"repobilityId": "6889766e5681d939", "scanner": "scanner-primary", "fingerprint": "5c32ca89c3754987", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c46e7d86a0d03420", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/news-ingest/slug.ts:1"}, "properties": {"repobilityId": "ceb686c19448bc8a", "scanner": "scanner-primary", "fingerprint": "c46e7d86a0d03420", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc2f096e39401460", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/news-ingest/handler.ts:3"}, "properties": {"repobilityId": "b41de0e64161b450", "scanner": "scanner-primary", "fingerprint": "fc2f096e39401460", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-79799fba881b603b", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/news-ingest/summariser.ts:5"}, "properties": {"repobilityId": "882615e8abf988d5", "scanner": "scanner-primary", "fingerprint": "79799fba881b603b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-950b9413e132ec23", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/linkedin-fetch/handler.ts:3"}, "properties": {"repobilityId": "ec90bf3c7d8f521a", "scanner": "scanner-primary", "fingerprint": "950b9413e132ec23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd40fb4dc223779e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/linkedin-fetch/handler.ts:92"}, "properties": {"repobilityId": "2ce621f9d023096d", "scanner": "scanner-primary", "fingerprint": "bd40fb4dc223779e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-10da73ed52d135a6", "level": "none", "message": {"text": "Commented-code block (10 lines) in supabase/functions/compute-trends/handler.ts:3"}, "properties": {"repobilityId": "ad1bfda051b40a99", "scanner": "scanner-primary", "fingerprint": "10da73ed52d135a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9dd4ff8637a0e94", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/email-unsubscribe/handler.ts:1"}, "properties": {"repobilityId": "648b8a2b4104efbd", "scanner": "scanner-primary", "fingerprint": "c9dd4ff8637a0e94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-193257dbc1206af8", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/ocr-cv/index.ts:1"}, "properties": {"repobilityId": "f7bc8681790e4fee", "scanner": "scanner-primary", "fingerprint": "193257dbc1206af8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8044164b0e17f3ab", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/admin-notify-user/index.ts:1"}, "properties": {"repobilityId": "f750e5751bdb631b", "scanner": "scanner-primary", "fingerprint": "8044164b0e17f3ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d20215cdb80375bc", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/draft-message/index.ts:1"}, "properties": {"repobilityId": "a424242ae504d85d", "scanner": "scanner-primary", "fingerprint": "d20215cdb80375bc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d0bdbec21819ce1", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/draft-message/prompt.test.ts:5"}, "properties": {"repobilityId": "0f45a4fa33512043", "scanner": "scanner-primary", "fingerprint": "5d0bdbec21819ce1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1dd843c7af2210bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/chat/index.ts:112"}, "properties": {"repobilityId": "6ba8d0bacdc933e4", "scanner": "scanner-primary", "fingerprint": "1dd843c7af2210bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14e7c5a26c0899e6", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/email-imap-test/handler.ts:1"}, "properties": {"repobilityId": "542c5be3935fe635", "scanner": "scanner-primary", "fingerprint": "14e7c5a26c0899e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-818429fa62800e5c", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/avatar-from-url/handler.ts:3"}, "properties": {"repobilityId": "8f29fe424d34c24c", "scanner": "scanner-primary", "fingerprint": "818429fa62800e5c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90be6f39676da9c5", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/delete-account/index.ts:7"}, "properties": {"repobilityId": "ba81969ad974acd0", "scanner": "scanner-primary", "fingerprint": "90be6f39676da9c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa69138d3902296b", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/notify-pro-interest/index.ts:6"}, "properties": {"repobilityId": "3be10fc65484429d", "scanner": "scanner-primary", "fingerprint": "fa69138d3902296b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c7ee57d48b2a17b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/email-ingest/handler.ts:3"}, "properties": {"repobilityId": "7a941a6c81401b76", "scanner": "scanner-primary", "fingerprint": "c7ee57d48b2a17b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ec28283ad84079d", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/rerank-jobs/handler.ts:1"}, "properties": {"repobilityId": "d850b3e20ceb9b27", "scanner": "scanner-primary", "fingerprint": "8ec28283ad84079d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-27614a6264970141", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/admin-broadcast/index.ts:1"}, "properties": {"repobilityId": "5c287e32a789d84d", "scanner": "scanner-primary", "fingerprint": "27614a6264970141", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-925f4427425418c6", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/email-oauth-callback/handler.ts:7"}, "properties": {"repobilityId": "4e623dc148729b80", "scanner": "scanner-primary", "fingerprint": "925f4427425418c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eb5911e689c21b31", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-oauth-callback/handler.ts:165"}, "properties": {"repobilityId": "8f3543caf48cb86b", "scanner": "scanner-primary", "fingerprint": "eb5911e689c21b31", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-85ed79c3d61c49ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/analyze-cv/schema.ts:1"}, "properties": {"repobilityId": "71912f50753104a9", "scanner": "scanner-primary", "fingerprint": "85ed79c3d61c49ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9e6d3588e9e18fa3", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/analyze-cv/index.ts:5"}, "properties": {"repobilityId": "df5faa41e783e041", "scanner": "scanner-primary", "fingerprint": "9e6d3588e9e18fa3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8253d63fe4a342c4", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/analyze-cv/prompt.ts:5"}, "properties": {"repobilityId": "e95302ed2b65b095", "scanner": "scanner-primary", "fingerprint": "8253d63fe4a342c4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-800c9a2022857703", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/analyze-cv/prompt.test.ts:19"}, "properties": {"repobilityId": "768b3c0043e815dd", "scanner": "scanner-primary", "fingerprint": "800c9a2022857703", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75c1e45a36482571", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-scan/imap.ts:84"}, "properties": {"repobilityId": "d1de260dd2648c85", "scanner": "scanner-primary", "fingerprint": "75c1e45a36482571", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d676371a0ce79495", "level": "none", "message": {"text": "Commented-code block (22 lines) in supabase/functions/email-scan/handler.ts:7"}, "properties": {"repobilityId": "342b86e4d140d746", "scanner": "scanner-primary", "fingerprint": "d676371a0ce79495", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10516cb3450f119d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/email-scan/handler.ts:953"}, "properties": {"repobilityId": "bb29061aa29132e5", "scanner": "scanner-primary", "fingerprint": "10516cb3450f119d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c2bc654dda6e7534", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/news-feed/handler.ts:12"}, "properties": {"repobilityId": "7ee399f6d89d468a", "scanner": "scanner-primary", "fingerprint": "c2bc654dda6e7534", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-686b79911d05031a", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/email-oauth-start/index.ts:1"}, "properties": {"repobilityId": "9a1178e52b8a22d1", "scanner": "scanner-primary", "fingerprint": "686b79911d05031a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de8dfc8afbe85787", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/embed-profile/index.ts:3"}, "properties": {"repobilityId": "89f16ca315d95842", "scanner": "scanner-primary", "fingerprint": "de8dfc8afbe85787", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2bc589db24f66d5c", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/founder-mail.ts:3"}, "properties": {"repobilityId": "6e5bb20a5aaf0ec9", "scanner": "scanner-primary", "fingerprint": "2bc589db24f66d5c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2b3bb683cb540bd", "level": "none", "message": {"text": "Commented-code block (8 lines) in supabase/functions/_shared/trend-verdict.ts:1"}, "properties": {"repobilityId": "f0eb8fedf02189f4", "scanner": "scanner-primary", "fingerprint": "b2b3bb683cb540bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2408922a3106fbb8", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/auth.ts:5"}, "properties": {"repobilityId": "07da1e4c71ce1039", "scanner": "scanner-primary", "fingerprint": "2408922a3106fbb8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0fb3ee62f1fcb126", "level": "none", "message": {"text": "Commented-code block (9 lines) in supabase/functions/_shared/broadcast-suppression-parity.test.ts:1"}, "properties": {"repobilityId": "7c137c81787a31ee", "scanner": "scanner-primary", "fingerprint": "0fb3ee62f1fcb126", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-777a633da1a01fe6", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/trend-verdict-parity.test.ts:1"}, "properties": {"repobilityId": "493c544c118f37ba", "scanner": "scanner-primary", "fingerprint": "777a633da1a01fe6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ef7ea2eeedd2e8e", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/embeddings.ts:3"}, "properties": {"repobilityId": "5459c9590b921952", "scanner": "scanner-primary", "fingerprint": "0ef7ea2eeedd2e8e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8b5a9975c78b516", "level": "none", "message": {"text": "Commented-code block (12 lines) in supabase/functions/_shared/json-schema.ts:6"}, "properties": {"repobilityId": "5028f7b72d2f1138", "scanner": "scanner-primary", "fingerprint": "f8b5a9975c78b516", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5a343f2498596c94", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/context-card.ts:3"}, "properties": {"repobilityId": "3f4cd2972a774047", "scanner": "scanner-primary", "fingerprint": "5a343f2498596c94", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6428337bff7df86a", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/broadcast-email.ts:1"}, "properties": {"repobilityId": "92416fdd6caaa9e8", "scanner": "scanner-primary", "fingerprint": "6428337bff7df86a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-51dce7040fc93cfd", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/email-keywords.test.ts:147"}, "properties": {"repobilityId": "455dcce6ff12adaf", "scanner": "scanner-primary", "fingerprint": "51dce7040fc93cfd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5afcaf2c081f8d64", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/candidate-memory.ts:3"}, "properties": {"repobilityId": "5f4eb4b24767d0d4", "scanner": "scanner-primary", "fingerprint": "5afcaf2c081f8d64", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dee2eaa5447d512c", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/imap-ssrf.ts:3"}, "properties": {"repobilityId": "2f8639777f9bdf10", "scanner": "scanner-primary", "fingerprint": "dee2eaa5447d512c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10c6f7a37dbaafd3", "level": "none", "message": {"text": "Commented-code block (7 lines) in supabase/functions/_shared/usage-meter.ts:7"}, "properties": {"repobilityId": "7c3e4ecce9636b2a", "scanner": "scanner-primary", "fingerprint": "10c6f7a37dbaafd3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76b0ca2f7216a5f2", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/dossier.ts:3"}, "properties": {"repobilityId": "7d9f49fe2bf3e977", "scanner": "scanner-primary", "fingerprint": "76b0ca2f7216a5f2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76dc17851c875953", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/application-tools.ts:4"}, "properties": {"repobilityId": "502b47fe208ca2c0", "scanner": "scanner-primary", "fingerprint": "76dc17851c875953", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12d65a7b0a9c612d", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/vertex-rank.test.ts:196"}, "properties": {"repobilityId": "6e44f62ec3ea3d9d", "scanner": "scanner-primary", "fingerprint": "12d65a7b0a9c612d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-400f5d51620b28d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/radar-axes.ts:1"}, "properties": {"repobilityId": "791831e6d5e2736c", "scanner": "scanner-primary", "fingerprint": "400f5d51620b28d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5bf70ea14258473f", "level": "none", "message": {"text": "Commented-code block (6 lines) in supabase/functions/_shared/email-keywords.ts:6"}, "properties": {"repobilityId": "7b2261b2e7ba23c1", "scanner": "scanner-primary", "fingerprint": "5bf70ea14258473f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5923f31e93976beb", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/dossier.test.ts:3"}, "properties": {"repobilityId": "9c189e73bc6e5326", "scanner": "scanner-primary", "fingerprint": "5923f31e93976beb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2f5a794e902984fb", "level": "none", "message": {"text": "Commented-code block (5 lines) in supabase/functions/_shared/vertex.ts:1"}, "properties": {"repobilityId": "38911ecca3f9adfd", "scanner": "scanner-primary", "fingerprint": "2f5a794e902984fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7a43e64d478f4471", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 supabase/functions/_shared/vertex.ts:75"}, "properties": {"repobilityId": "776877ec725cd04f", "scanner": "scanner-primary", "fingerprint": "7a43e64d478f4471", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-51e71953a525e97d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 evals/_score.py:47"}, "properties": {"repobilityId": "f4c35fa3612106fe", "scanner": "scanner-primary", "fingerprint": "51e71953a525e97d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eb48239e3a1235a1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 evals/promptloop/run_iteration.py:109"}, "properties": {"repobilityId": "aa0b45da9818a8da", "scanner": "scanner-primary", "fingerprint": "eb48239e3a1235a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f23c61dd936dedf1", "level": "none", "message": {"text": "Commented-code block (5 lines) in evals/promptloop/eval.ts:4"}, "properties": {"repobilityId": "1a1a08fe3d100970", "scanner": "scanner-primary", "fingerprint": "f23c61dd936dedf1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ce15031097ba78f", "level": "none", "message": {"text": "Commented-code block (6 lines) in evals/prompts/refresh_analyze_cv.ts:3"}, "properties": {"repobilityId": "62c89611dd4cc3f1", "scanner": "scanner-primary", "fingerprint": "6ce15031097ba78f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ff8fd98419b6cf3", "level": "none", "message": {"text": "Commented-code block (6 lines) in evals/matching/fit-eval.test.ts:190"}, "properties": {"repobilityId": "2f7956f18e7f643a", "scanner": "scanner-primary", "fingerprint": "2ff8fd98419b6cf3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cec4fa397b344ce", "level": "none", "message": {"text": "Commented-code block (9 lines) in public/sw.js:3"}, "properties": {"repobilityId": "3d046568e5a0d7d3", "scanner": "scanner-primary", "fingerprint": "9cec4fa397b344ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba0726cf5f2ce004", "level": "note", "message": {"text": "Legacy-named symbol `test_mark_stale_deactivates_when_last_seen_is_old` in backend/tests/test_jobs_repo.py:78"}, "properties": {"repobilityId": "ecedfd53eff782ad", "scanner": "scanner-primary", "fingerprint": "ba0726cf5f2ce004", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-10cf35639da5ca45", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/tests/test_jobs_repo.py:26"}, "properties": {"repobilityId": "4fca4a4485cf6364", "scanner": "scanner-primary", "fingerprint": "10cf35639da5ca45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb22a9649680884a", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/db.py:76"}, "properties": {"repobilityId": "7c927ffe2c08dafd", "scanner": "scanner-primary", "fingerprint": "cb22a9649680884a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52700f6a259af784", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in backend/career_buddy_scraper/master_list.py:47"}, "properties": {"repobilityId": "c4e5b660fbe8ba1a", "scanner": "scanner-primary", "fingerprint": "52700f6a259af784", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-23cf085e6bbca7d0", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/jd_attrs.py:96"}, "properties": {"repobilityId": "9170309f409b0c2f", "scanner": "scanner-primary", "fingerprint": "23cf085e6bbca7d0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5d564335c0f8b356", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in backend/career_buddy_scraper/companies_repo.py:113"}, "properties": {"repobilityId": "cf7a00bb18b64d94", "scanner": "scanner-primary", "fingerprint": "5d564335c0f8b356", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d79ae4d93bedd92f", "level": "none", "message": {"text": "Commented-code block (8 lines) in backend/career_buddy_scraper/embeddings.py:20"}, "properties": {"repobilityId": "771e1e2b86dc62a5", "scanner": "scanner-primary", "fingerprint": "d79ae4d93bedd92f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f18b54068ce724dd", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/ats/getro.py:39"}, "properties": {"repobilityId": "e20cdd7c5a64f3f0", "scanner": "scanner-primary", "fingerprint": "f18b54068ce724dd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84d875c692dbb33a", "level": "none", "message": {"text": "Commented-code block (9 lines) in backend/career_buddy_scraper/cli/classify_tier2_mistral.py:63"}, "properties": {"repobilityId": "b529eda61d29e85e", "scanner": "scanner-primary", "fingerprint": "84d875c692dbb33a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c52de55ddbf8cc54", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/reembed_config_version.py:51"}, "properties": {"repobilityId": "9a0fbfc730dbc75a", "scanner": "scanner-primary", "fingerprint": "c52de55ddbf8cc54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ad3ccd7606dd60e3", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/_http_backfill.py:31"}, "properties": {"repobilityId": "34410e9a0bc7b3b8", "scanner": "scanner-primary", "fingerprint": "ad3ccd7606dd60e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c099732e30ae2e9", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/enrich_jobs.py:43"}, "properties": {"repobilityId": "cdccaab4abf114d2", "scanner": "scanner-primary", "fingerprint": "2c099732e30ae2e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-222136a01c8d10b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/backfill_embedding_has_body.py:48"}, "properties": {"repobilityId": "6cdee51e8bbabbb5", "scanner": "scanner-primary", "fingerprint": "222136a01c8d10b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4b928cd3599b011e", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/discover_boards.py:54"}, "properties": {"repobilityId": "325a63ee1917d7dd", "scanner": "scanner-primary", "fingerprint": "4b928cd3599b011e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3af9c800f5fcb6cf", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/classify.py:52"}, "properties": {"repobilityId": "8d3200e04075fa51", "scanner": "scanner-primary", "fingerprint": "3af9c800f5fcb6cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86239d2ddf779901", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/backfill_workday_descriptions.py:209"}, "properties": {"repobilityId": "69074df5f0717da5", "scanner": "scanner-primary", "fingerprint": "86239d2ddf779901", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1d53494715ff3b1", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/layer3_backfill.py:720"}, "properties": {"repobilityId": "818742777ec74c34", "scanner": "scanner-primary", "fingerprint": "d1d53494715ff3b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4c0f48b9c054688", "level": "none", "message": {"text": "Commented-code block (7 lines) in backend/career_buddy_scraper/cli/embed_jobs.py:158"}, "properties": {"repobilityId": "ee78913cff95c368", "scanner": "scanner-primary", "fingerprint": "b4c0f48b9c054688", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-867cf0dbae6bd659", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/build_fit_feedback_eval.py:138"}, "properties": {"repobilityId": "f825ac85e66af34e", "scanner": "scanner-primary", "fingerprint": "867cf0dbae6bd659", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-efa985f91abf28fb", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/career_buddy_scraper/cli/scrape_boardless.py:182"}, "properties": {"repobilityId": "66e6b665251c08ab", "scanner": "scanner-primary", "fingerprint": "efa985f91abf28fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c335494e1a6abd7c", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/backfill_ats_descriptions.py:497"}, "properties": {"repobilityId": "aef02fedd0ceba4a", "scanner": "scanner-primary", "fingerprint": "c335494e1a6abd7c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a59470a36b7d710", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/career_buddy_scraper/cli/scrape_companies.py:150"}, "properties": {"repobilityId": "b911776b2bcbad60", "scanner": "scanner-primary", "fingerprint": "6a59470a36b7d710", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d047b228ed3b366", "level": "none", "message": {"text": "Commented-code block (10 lines) in backend/career_buddy_scraper/cli/build_gold_eval.py:81"}, "properties": {"repobilityId": "923ba5420a769285", "scanner": "scanner-primary", "fingerprint": "6d047b228ed3b366", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2903e2eac47e4ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/career_buddy_scraper/cli/eval_gold.py:48"}, "properties": {"repobilityId": "5bb718a53fdd3d11", "scanner": "scanner-primary", "fingerprint": "e2903e2eac47e4ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-291b69ed94a9709c", "level": "none", "message": {"text": "Commented-code block (7 lines) in backend/career_buddy_scraper/sources/openvc.py:61"}, "properties": {"repobilityId": "4a1d6e0172b4e726", "scanner": "scanner-primary", "fingerprint": "291b69ed94a9709c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84a6dd9261152d97", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/server.ts:281"}, "properties": {"repobilityId": "ad17ae19c20d85c5", "scanner": "scanner-primary", "fingerprint": "84a6dd9261152d97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e08fe0f31dd7109c", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/components/Nav.tsx:14"}, "properties": {"repobilityId": "e7c81ea5a15ae6ca", "scanner": "scanner-primary", "fingerprint": "e08fe0f31dd7109c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e83768b03eab77c7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/components/buddy/FloatingBuddy.tsx:101"}, "properties": {"repobilityId": "38e69f1aac421c7d", "scanner": "scanner-primary", "fingerprint": "e83768b03eab77c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-768509164a3f8cb2", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/profile/EmailAccounts.test.tsx:37"}, "properties": {"repobilityId": "649a6ebfc75fed6c", "scanner": "scanner-primary", "fingerprint": "768509164a3f8cb2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4fb421061ac9247", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/profile/EmailAccounts.tsx:122"}, "properties": {"repobilityId": "910dda3446b7021d", "scanner": "scanner-primary", "fingerprint": "b4fb421061ac9247", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-96bc39876efb8627", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/profile/ValueTradeoffRow.tsx:5"}, "properties": {"repobilityId": "db9dda6acd42328c", "scanner": "scanner-primary", "fingerprint": "96bc39876efb8627", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7936e6f0b38ded5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/components/jobs/JobsFeed.tsx:136"}, "properties": {"repobilityId": "22aab13b27cf1bdd", "scanner": "scanner-primary", "fingerprint": "e7936e6f0b38ded5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22c7df60aa42d111", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/jobs/JobsFeed.tsx:632"}, "properties": {"repobilityId": "1351219c15338b22", "scanner": "scanner-primary", "fingerprint": "22c7df60aa42d111", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-47cff2da0ca7eac7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/trend-verdict.ts:3"}, "properties": {"repobilityId": "3fe464850d45422b", "scanner": "scanner-primary", "fingerprint": "47cff2da0ca7eac7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88a34c24e08171bf", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/lib/tracks.ts:52"}, "properties": {"repobilityId": "1dc082ea0ed3fa3a", "scanner": "scanner-primary", "fingerprint": "88a34c24e08171bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aeb9f9c77fbe74c7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/rerank.test.ts:1"}, "properties": {"repobilityId": "5c6886ac3053d277", "scanner": "scanner-primary", "fingerprint": "aeb9f9c77fbe74c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d459bf70c771aa9a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/profile-store.test.ts:743"}, "properties": {"repobilityId": "75a0a798f93496c3", "scanner": "scanner-primary", "fingerprint": "d459bf70c771aa9a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e2a4bb05819b0d81", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/lib/locations.ts:84"}, "properties": {"repobilityId": "23736be6bcb11837", "scanner": "scanner-primary", "fingerprint": "e2a4bb05819b0d81", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7fefe57feedbaa03", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/lib/job-filters.ts:269"}, "properties": {"repobilityId": "e73d600d5cb3bd8b", "scanner": "scanner-primary", "fingerprint": "7fefe57feedbaa03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-edf71c66bcd5a0a9", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/fit-similarity.ts:21"}, "properties": {"repobilityId": "4e2b4c92a0838572", "scanner": "scanner-primary", "fingerprint": "edf71c66bcd5a0a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b50c040317beea8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/value-tradeoffs.ts:1"}, "properties": {"repobilityId": "574a91a8c636294d", "scanner": "scanner-primary", "fingerprint": "9b50c040317beea8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-924818accddd551a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/fit-telemetry.ts:97"}, "properties": {"repobilityId": "68f4253d170e56c6", "scanner": "scanner-primary", "fingerprint": "924818accddd551a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba74f97186dd54c7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/memory.test.ts:3"}, "properties": {"repobilityId": "41e72f6e3a07dcb4", "scanner": "scanner-primary", "fingerprint": "ba74f97186dd54c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-50f49c9bb0fe5a8c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/linkedin-job.ts:185"}, "properties": {"repobilityId": "7d91121d87096e93", "scanner": "scanner-primary", "fingerprint": "50f49c9bb0fe5a8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39ee57e6f732da54", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/impression-log.test.ts:3"}, "properties": {"repobilityId": "84c153785ef1d898", "scanner": "scanner-primary", "fingerprint": "39ee57e6f732da54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8da97aa44aabcd5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/trend-verdict.test.ts:8"}, "properties": {"repobilityId": "c4c6c519323529a5", "scanner": "scanner-primary", "fingerprint": "c8da97aa44aabcd5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a9e800e7f512de8", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/local-reset.ts:87"}, "properties": {"repobilityId": "24f5fb6cbeab59c7", "scanner": "scanner-primary", "fingerprint": "6a9e800e7f512de8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-306c1feda141c0ec", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/public-jobs.ts:234"}, "properties": {"repobilityId": "39d2947f45d26402", "scanner": "scanner-primary", "fingerprint": "306c1feda141c0ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1acc969d2f038b91", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/profile-store.ts:370"}, "properties": {"repobilityId": "abf3dfdaf9d40c05", "scanner": "scanner-primary", "fingerprint": "1acc969d2f038b91", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-911c7710cfcf2bf9", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/use-ranked-jobs.test.ts:183"}, "properties": {"repobilityId": "16efdfbcec853a0c", "scanner": "scanner-primary", "fingerprint": "911c7710cfcf2bf9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa68d8fa35534245", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/job-resolve.ts:94"}, "properties": {"repobilityId": "947362d54f8d26b9", "scanner": "scanner-primary", "fingerprint": "fa68d8fa35534245", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec95c18e399d579e", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/lib/filters-from-profile.test.ts:1"}, "properties": {"repobilityId": "28fc555dd7d3e00b", "scanner": "scanner-primary", "fingerprint": "ec95c18e399d579e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-947da0386a7d4e18", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/context-notes.test.ts:3"}, "properties": {"repobilityId": "d6fc4d3ddd36a942", "scanner": "scanner-primary", "fingerprint": "947da0386a7d4e18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7955f7bbf39ba75", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/locations.test.ts:62"}, "properties": {"repobilityId": "74faa72c14691e2f", "scanner": "scanner-primary", "fingerprint": "a7955f7bbf39ba75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9373e3c1cbcc559b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/feed-assembly.ts:123"}, "properties": {"repobilityId": "77c8a2cd9969d2d9", "scanner": "scanner-primary", "fingerprint": "9373e3c1cbcc559b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-18c4a1ce187d9211", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/lib/filters-from-profile.ts:6"}, "properties": {"repobilityId": "c27101a536e3b8fb", "scanner": "scanner-primary", "fingerprint": "18c4a1ce187d9211", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83ac95a77a3ca89f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/job-fit.ts:98"}, "properties": {"repobilityId": "8cdcf3a11d64e520", "scanner": "scanner-primary", "fingerprint": "83ac95a77a3ca89f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d974eea292c49608", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/applications-sync.ts:31"}, "properties": {"repobilityId": "c8fb42aca6aefdb9", "scanner": "scanner-primary", "fingerprint": "d974eea292c49608", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3b3ff73a760ecde7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/fit-v2.ts:39"}, "properties": {"repobilityId": "d7186e45142fe28e", "scanner": "scanner-primary", "fingerprint": "3b3ff73a760ecde7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c3395088c2d07b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/fit-similarity.test.ts:365"}, "properties": {"repobilityId": "c2919eac35b825e0", "scanner": "scanner-primary", "fingerprint": "1c3395088c2d07b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e03d626a44dd8261", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/rerank.ts:8"}, "properties": {"repobilityId": "839d8f2c4128ffea", "scanner": "scanner-primary", "fingerprint": "e03d626a44dd8261", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2354e2e7157f3b3f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/cv-parser.ts:4"}, "properties": {"repobilityId": "728cd985f4d67423", "scanner": "scanner-primary", "fingerprint": "2354e2e7157f3b3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c09bc215d1a16a7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/use-applications-slice.ts:71"}, "properties": {"repobilityId": "cc42d9a52815b5ff", "scanner": "scanner-primary", "fingerprint": "6c09bc215d1a16a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a890a3f0fe524418", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/feed-assembly.test.ts:1"}, "properties": {"repobilityId": "2d15770dd131afea", "scanner": "scanner-primary", "fingerprint": "a890a3f0fe524418", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf6c8745a2d9e1f9", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/use-ranked-jobs.ts:48"}, "properties": {"repobilityId": "962b1275a2dba4d9", "scanner": "scanner-primary", "fingerprint": "bf6c8745a2d9e1f9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b0ea33d554b8a80", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/admin-kpi.ts:52"}, "properties": {"repobilityId": "d67a0dc6dc4a6acc", "scanner": "scanner-primary", "fingerprint": "7b0ea33d554b8a80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a05ab8f09de7ce1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/public-jobs.test.ts:21"}, "properties": {"repobilityId": "dbd7353290a61dd8", "scanner": "scanner-primary", "fingerprint": "1a05ab8f09de7ce1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d354aee157b16828", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/fit-v2.test.ts:93"}, "properties": {"repobilityId": "519fffecd6fe379e", "scanner": "scanner-primary", "fingerprint": "d354aee157b16828", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a50774d3442f0c98", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/value-tradeoffs.test.ts:26"}, "properties": {"repobilityId": "4e65c79cb9dd445f", "scanner": "scanner-primary", "fingerprint": "a50774d3442f0c98", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e950eb0618425bf", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/job-signature-match.ts:315"}, "properties": {"repobilityId": "f378b72fc8a82e92", "scanner": "scanner-primary", "fingerprint": "1e950eb0618425bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-149d58304f382bef", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/sw-update.ts:1"}, "properties": {"repobilityId": "76ec66a4d8c0ddb4", "scanner": "scanner-primary", "fingerprint": "149d58304f382bef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-321382a153fcf35b", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/memory.ts:644"}, "properties": {"repobilityId": "3e87fce0aafb4bbc", "scanner": "scanner-primary", "fingerprint": "321382a153fcf35b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0cc1d89a575fc9d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/news-jobs.ts:223"}, "properties": {"repobilityId": "98fe42fa2770e250", "scanner": "scanner-primary", "fingerprint": "f0cc1d89a575fc9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-657d6e25eafb8e64", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/lib/jobs-count.ts:25"}, "properties": {"repobilityId": "f6f65ef1cefad3f6", "scanner": "scanner-primary", "fingerprint": "657d6e25eafb8e64", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2edc64e22fe12be", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/lib/alternatives.ts:105"}, "properties": {"repobilityId": "dad8195092edc0a2", "scanner": "scanner-primary", "fingerprint": "b2edc64e22fe12be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9f5f193fc8a0268", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/profile.tsx:132"}, "properties": {"repobilityId": "9cbe231de09f66b7", "scanner": "scanner-primary", "fingerprint": "b9f5f193fc8a0268", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dbe5d9d32f972aef", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/sitemap[.]xml.ts:20"}, "properties": {"repobilityId": "3fc3143712770e55", "scanner": "scanner-primary", "fingerprint": "dbe5d9d32f972aef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f822326f45b4221", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/routes/admin.waitlist.tsx:95"}, "properties": {"repobilityId": "ce02bdc54097370d", "scanner": "scanner-primary", "fingerprint": "3f822326f45b4221", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0ddda8dbcac33fc7", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/routes/robots[.]txt.ts:36"}, "properties": {"repobilityId": "24e2d486971ce326", "scanner": "scanner-primary", "fingerprint": "0ddda8dbcac33fc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-23a8598103343acd", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/routes/-profile.test.tsx:329"}, "properties": {"repobilityId": "8fb75d464519ad6c", "scanner": "scanner-primary", "fingerprint": "23a8598103343acd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99ad9c81690a6ad6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/routes/reset-password.tsx:62"}, "properties": {"repobilityId": "fde41c220bb8a82b", "scanner": "scanner-primary", "fingerprint": "99ad9c81690a6ad6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29b5010348e4fa49", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/routes/__root.tsx:132"}, "properties": {"repobilityId": "6ba70542fafddaba", "scanner": "scanner-primary", "fingerprint": "29b5010348e4fa49", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87acb4066071a15a", "level": "note", "message": {"text": "19 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "b1f30c58de7ffb20", "scanner": "scanner-primary", "fingerprint": "87acb4066071a15a", "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": "2b6b17012ed98915", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-ee53e8e0c58609d8", "level": "note", "message": {"text": "Near-duplicate function bodies in 15 places"}, "properties": {"repobilityId": "a640f1565dce7de5", "scanner": "scanner-primary", "fingerprint": "ee53e8e0c58609d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "5248f6b30fe92e61", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "39c047875ddbbf66", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "38d568bb04a332fa", "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": "aa7973faa98dd6c4", "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": "890a3a101602e205", "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": "38f2f3f983d0c39e", "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": "2038547b33f8612b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}